Fuzz: extend CConnman tests#28584
Conversation
|
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. Code Coverage & BenchmarksFor details see: https://corecheck.dev/bitcoin/bitcoin/pulls/28584. ReviewsSee the guideline for information on the review process.
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update. ConflictsReviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first. |
|
Concept ACK |
|
The cpu utilization of this target doesn't look great, i suspect this is due to timeouts/sleeps e.g.: Line 2099 in db7b5df Would be nice to address that (maybe in a follow up). Here is a preliminary coverage report: https://dergoegge.github.io/bitcoin-coverage/pr28584/fuzz.coverage/index.html (I'll update this after fuzzing for longer). Looks good to me as the target alone now has more coverage (by line count) in |
|
Concept ACK |
|
@dergoegge, thanks for looking into this!
How did you measure? I guess it should be possible to mock |
Eyeballing
Sounds good to me. |
|
When I run |
For how long did you run this? The fuzzer needs to first find inputs that trigger
You can let libfuzzer run on multiple cores with either |
Another use-case for that mock: #28635:
|
|
|
|
|
brunoerg
left a comment
There was a problem hiding this comment.
utACK 5e3c80da1473f90406b84c1ba14dc563ce4d2853
|
🚧 At least one of the CI tasks failed. Make sure to run all tests locally, according to the Possibly this is due to a silent merge conflict (the changes in this pull request being Leave a comment here, if you need help tracking down a confusing failure. |
`FuzzedSock::Accept()` properly returns a new socket, but it forgot to set the output argument `addr`, like `accept(2)` is expected to. This could lead to reading uninitialized data during testing when we read it, e.g. from `CService::SetSockAddr()` which reads the `sa_family` member. Set `addr` to a fuzzed IPv4 or IPv6 address.
Now that all network calls done by `CConnman::OpenNetworkConnection()` are done via `Sock` they can be redirected (mocked) to `FuzzedSocket` for testing.
* Make the methods of `CThreadInterrupt` virtual and store a pointer to it in `CConnman`, thus making it possible to override with a mocked instance. * Initialize `CConnman::m_interrupt_net` from the constructor, making it possible for callers to supply mocked version. * Introduce `FuzzedThreadInterrupt` and `ConsumeThreadInterrupt()` and use them in `src/test/fuzz/connman.cpp` and `src/test/fuzz/i2p.cpp`. This improves the CPU utilization of the `connman` fuzz test. As a nice side effect, the `std::shared_ptr` used for `CConnman::m_interrupt_net` resolves the possible lifetime issues with it (see the removed comment for that variable).
|
|
| /// Reset to an non-interrupted state. | ||
| virtual void reset(); |
There was a problem hiding this comment.
nit: it might make sense to name this differently, just to avoid someone confusing this function with a smart ptr's reset().
There was a problem hiding this comment.
Good point! I do not know why I chose lowercase since it also violates the coding style. Maybe it was like that before and I left it as it is even though I touched those lines and the callers.
Append the following as a new commit or amend it into the last one fuzz: make it possible to mock (fuzz) CThreadInterrupt?
[patch] Uppercase methods of CThreadInterrupt
commit 486db14b9ce13a90b69f69dafb59d3d8932498f7 (HEAD -> fuzz_connman)
Parent: 0802398e749c5e16fa7085cd87c91a31bbe043bd
Author: Vasil Dimov <vd@FreeBSD.org>
AuthorDate: Tue Sep 2 13:40:35 2025 +0200
Commit: Vasil Dimov <vd@FreeBSD.org>
CommitDate: Tue Sep 2 13:40:35 2025 +0200
gpg: Signature made Tue Sep 2 13:42:45 2025 CEST
gpg: using RSA key E64D8D45614DB07545D9CCC154DF06F64B55CBBF
gpg: Good signature from "Vasil Dimov <vd@myforest.net>" [ultimate]
gpg: aka "Vasil Dimov <vd@FreeBSD.org>" [ultimate]
gpg: aka "Vasil Dimov <vasild@gmail.com>" [ultimate]
util: Uppercase methods of CThreadInterrupt
Rename
`CThreadInterrupt::interrupted()` -> `CThreadInterrupt::Interrupted()`
`CThreadInterrupt::reset()` -> `CThreadInterrupt::Reset()`
`CThreadInterrupt::sleep_for()` -> `CThreadInterrupt::SleepFor()`
for consistency with the coding style and to avoid confusing the
`reset()` method of `CThreadInterrupt` with the `reset()` methods of
smart pointers.
diff --git a/src/i2p.cpp b/src/i2p.cpp
index 80f3bde4cf..2ebd0b8c45 100644
--- a/src/i2p.cpp
+++ b/src/i2p.cpp
@@ -159,13 +159,13 @@ bool Session::Accept(Connection& conn)
{
AssertLockNotHeld(m_mutex);
std::string errmsg;
bool disconnect{false};
- while (!m_interrupt->interrupted()) {
+ while (!m_interrupt->Interrupted()) {
Sock::Event occurred;
if (!conn.sock->Wait(MAX_WAIT_FOR_IO, Sock::RECV, &occurred)) {
errmsg = "wait on socket failed";
break;
}
@@ -202,13 +202,13 @@ bool Session::Accept(Connection& conn)
conn.peer = CService(peer_addr, I2P_SAM31_PORT);
return true;
}
- if (m_interrupt->interrupted()) {
+ if (m_interrupt->Interrupted()) {
LogPrintLevel(BCLog::I2P, BCLog::Level::Debug, "Accept was interrupted\n");
} else {
LogPrintLevel(BCLog::I2P, BCLog::Level::Debug, "Error accepting%s: %s\n", disconnect ? " (will close the session)" : "", errmsg);
}
if (disconnect) {
LOCK(m_mutex);
diff --git a/src/index/base.cpp b/src/index/base.cpp
index 5767116ce5..cd36967ac6 100644
--- a/src/index/base.cpp
+++ b/src/index/base.cpp
@@ -83,13 +83,13 @@ BaseIndex::~BaseIndex()
bool BaseIndex::Init()
{
AssertLockNotHeld(cs_main);
// May need reset if index is being restarted.
- m_interrupt.reset();
+ m_interrupt.Reset();
// m_chainstate member gives indexing code access to node internals. It is
// removed in followup https://github.com/bitcoin/bitcoin/pull/24230
m_chainstate = WITH_LOCK(::cs_main,
return &m_chain->context()->chainman->GetChainstateForIndexing());
// Register to validation interface before setting the 'm_synced' flag, so that
diff --git a/src/mapport.cpp b/src/mapport.cpp
index 83105f51fd..4d2f1f1957 100644
--- a/src/mapport.cpp
+++ b/src/mapport.cpp
@@ -110,23 +110,23 @@ static void ProcessPCP()
}
// RFC6887 11.2.1 recommends that clients send their first renewal packet at a time chosen with uniform random
// distribution in the range 1/2 to 5/8 of expiration time.
std::chrono::seconds sleep_time_min(actual_lifetime / 2);
std::chrono::seconds sleep_time_max(actual_lifetime * 5 / 8);
sleep_time = sleep_time_min + FastRandomContext().randrange<std::chrono::milliseconds>(sleep_time_max - sleep_time_min);
- } while (ret && g_mapport_interrupt.sleep_for(sleep_time));
+ } while (ret && g_mapport_interrupt.SleepFor(sleep_time));
// We don't delete the mappings when the thread is interrupted because this would add additional complexity, so
// we rather just choose a fairly short expiry time.
}
static void ThreadMapPort()
{
do {
ProcessPCP();
- } while (g_mapport_interrupt.sleep_for(PORT_MAPPING_RETRY_PERIOD));
+ } while (g_mapport_interrupt.SleepFor(PORT_MAPPING_RETRY_PERIOD));
}
void StartThreadMapPort()
{
if (!g_mapport_thread.joinable()) {
assert(!g_mapport_interrupt);
@@ -152,9 +152,9 @@ void InterruptMapPort()
}
void StopMapPort()
{
if (g_mapport_thread.joinable()) {
g_mapport_thread.join();
- g_mapport_interrupt.reset();
+ g_mapport_interrupt.Reset();
}
}
diff --git a/src/net.cpp b/src/net.cpp
index 85c25543d3..ee34b09ebd 100644
--- a/src/net.cpp
+++ b/src/net.cpp
@@ -2091,13 +2091,13 @@ void CConnman::SocketHandler()
// Check for the readiness of the already connected sockets and the
// listening sockets in one call ("readiness" as in poll(2) or
// select(2)). If none are ready, wait for a short while and return
// empty sets.
events_per_sock = GenerateWaitSockets(snap.Nodes());
if (events_per_sock.empty() || !events_per_sock.begin()->first->WaitMany(timeout, events_per_sock)) {
- m_interrupt_net->sleep_for(timeout);
+ m_interrupt_net->SleepFor(timeout);
}
// Service (send/receive) each of the already connected nodes.
SocketHandlerConnected(snap.Nodes(), events_per_sock);
}
@@ -2108,13 +2108,13 @@ void CConnman::SocketHandler()
void CConnman::SocketHandlerConnected(const std::vector<CNode*>& nodes,
const Sock::EventsPerSock& events_per_sock)
{
AssertLockNotHeld(m_total_bytes_sent_mutex);
for (CNode* pnode : nodes) {
- if (m_interrupt_net->interrupted()) {
+ if (m_interrupt_net->Interrupted()) {
return;
}
//
// Receive
//
@@ -2205,13 +2205,13 @@ void CConnman::SocketHandlerConnected(const std::vector<CNode*>& nodes,
}
}
void CConnman::SocketHandlerListening(const Sock::EventsPerSock& events_per_sock)
{
for (const ListenSocket& listen_socket : vhListenSocket) {
- if (m_interrupt_net->interrupted()) {
+ if (m_interrupt_net->Interrupted()) {
return;
}
const auto it = events_per_sock.find(listen_socket.sock);
if (it != events_per_sock.end() && it->second.occurred & Sock::RECV) {
AcceptConnection(listen_socket);
}
@@ -2219,13 +2219,13 @@ void CConnman::SocketHandlerListening(const Sock::EventsPerSock& events_per_sock
}
void CConnman::ThreadSocketHandler()
{
AssertLockNotHeld(m_total_bytes_sent_mutex);
- while (!m_interrupt_net->interrupted()) {
+ while (!m_interrupt_net->Interrupted()) {
DisconnectNodes();
NotifyNumConnectionsChanged();
SocketHandler();
}
}
@@ -2243,14 +2243,14 @@ void CConnman::ThreadDNSAddressSeed()
int outbound_connection_count = 0;
if (!gArgs.GetArgs("-seednode").empty()) {
auto start = NodeClock::now();
constexpr std::chrono::seconds SEEDNODE_TIMEOUT = 30s;
LogPrintf("-seednode enabled. Trying the provided seeds for %d seconds before defaulting to the dnsseeds.\n", SEEDNODE_TIMEOUT.count());
- while (!m_interrupt_net->interrupted()) {
- if (!m_interrupt_net->sleep_for(500ms)) {
+ while (!m_interrupt_net->Interrupted()) {
+ if (!m_interrupt_net->SleepFor(500ms)) {
return;
}
// Abort if we have spent enough time without reaching our target.
// Giving seed nodes 30 seconds so this does not become a race against fixedseeds (which triggers after 1 min)
if (NodeClock::now() > start + SEEDNODE_TIMEOUT) {
@@ -2307,13 +2307,13 @@ void CConnman::ThreadDNSAddressSeed()
std::chrono::seconds to_wait = seeds_wait_time;
while (to_wait.count() > 0) {
// if sleeping for the MANY_PEERS interval, wake up
// early to see if we have enough peers and can stop
// this thread entirely freeing up its resources
std::chrono::seconds w = std::min(DNSSEEDS_DELAY_FEW_PEERS, to_wait);
- if (!m_interrupt_net->sleep_for(w)) return;
+ if (!m_interrupt_net->SleepFor(w)) return;
to_wait -= w;
if (GetFullOutboundConnCount() >= SEED_OUTBOUND_CONNECTION_THRESHOLD) {
if (found > 0) {
LogPrintf("%d addresses found from DNS seeds\n", found);
LogPrintf("P2P peers available. Finished DNS seeding.\n");
@@ -2323,19 +2323,19 @@ void CConnman::ThreadDNSAddressSeed()
return;
}
}
}
}
- if (m_interrupt_net->interrupted()) return;
+ if (m_interrupt_net->Interrupted()) return;
// hold off on querying seeds if P2P network deactivated
if (!fNetworkActive) {
LogPrintf("Waiting for network to be reactivated before querying DNS seeds.\n");
do {
- if (!m_interrupt_net->sleep_for(1s)) return;
+ if (!m_interrupt_net->SleepFor(1s)) return;
} while (!fNetworkActive);
}
LogPrintf("Loading addresses from DNS seed %s\n", seed);
// If -proxy is in use, we make an ADDR_FETCH connection to the DNS resolved peer address
// for the base dns seed domain in chainparams
@@ -2524,18 +2524,18 @@ void CConnman::ThreadOpenConnections(const std::vector<std::string> connect, std
for (const std::string& strAddr : connect)
{
CAddress addr(CService(), NODE_NONE);
OpenNetworkConnection(addr, false, {}, strAddr.c_str(), ConnectionType::MANUAL, /*use_v2transport=*/use_v2transport);
for (int i = 0; i < 10 && i < nLoop; i++)
{
- if (!m_interrupt_net->sleep_for(500ms)) {
+ if (!m_interrupt_net->SleepFor(500ms)) {
return;
}
}
}
- if (!m_interrupt_net->sleep_for(500ms)) {
+ if (!m_interrupt_net->SleepFor(500ms)) {
return;
}
PerformReconnections();
}
}
@@ -2555,13 +2555,13 @@ void CConnman::ThreadOpenConnections(const std::vector<std::string> connect, std
constexpr std::chrono::seconds ADD_NEXT_SEEDNODE = 10s;
if (!add_fixed_seeds) {
LogPrintf("Fixed seeds are disabled\n");
}
- while (!m_interrupt_net->interrupted()) {
+ while (!m_interrupt_net->Interrupted()) {
if (add_addr_fetch) {
add_addr_fetch = false;
const auto& seed{SpanPopBack(seed_nodes)};
AddAddrFetch(seed);
if (addrman.Size() == 0) {
@@ -2570,20 +2570,20 @@ void CConnman::ThreadOpenConnections(const std::vector<std::string> connect, std
LogInfo("Couldn't connect to peers from addrman after %d seconds. Adding seednode (%s) to addrfetch\n", ADD_NEXT_SEEDNODE.count(), seed);
}
}
ProcessAddrFetch();
- if (!m_interrupt_net->sleep_for(500ms)) {
+ if (!m_interrupt_net->SleepFor(500ms)) {
return;
}
PerformReconnections();
CountingSemaphoreGrant<> grant(*semOutbound);
- if (m_interrupt_net->interrupted()) {
+ if (m_interrupt_net->Interrupted()) {
return;
}
const std::unordered_set<Network> fixed_seed_networks{GetReachableEmptyNetworks()};
if (add_fixed_seeds && !fixed_seed_networks.empty()) {
// When the node starts with an empty peers.dat, there are a few other sources of peers before
@@ -2753,13 +2753,13 @@ void CConnman::ThreadOpenConnections(const std::vector<std::string> connect, std
addrman.ResolveCollisions();
const auto current_time{NodeClock::now()};
int nTries = 0;
const auto reachable_nets{g_reachable_nets.All()};
- while (!m_interrupt_net->interrupted()) {
+ while (!m_interrupt_net->Interrupted()) {
if (anchor && !m_anchors.empty()) {
const CAddress addr = m_anchors.back();
m_anchors.pop_back();
if (!addr.IsValid() || IsLocal(addr) || !g_reachable_nets.Contains(addr) ||
!m_msgproc->HasAllDesirableServiceFlags(addr.nServices) ||
outbound_ipv46_peer_netgroups.count(m_netgroupman.GetGroup(addr))) continue;
@@ -2855,13 +2855,13 @@ void CConnman::ThreadOpenConnections(const std::vector<std::string> connect, std
break;
}
if (addrConnect.IsValid()) {
if (fFeeler) {
// Add small amount of random noise before connection to avoid synchronization.
- if (!m_interrupt_net->sleep_for(rng.rand_uniform_duration<CThreadInterrupt::Clock>(FEELER_SLEEP_WINDOW))) {
+ if (!m_interrupt_net->SleepFor(rng.rand_uniform_duration<CThreadInterrupt::Clock>(FEELER_SLEEP_WINDOW))) {
return;
}
LogDebug(BCLog::NET, "Making feeler connection to %s\n", addrConnect.ToStringAddrPort());
}
if (preferred_net != std::nullopt) LogDebug(BCLog::NET, "Making network specific connection to %s on %s.\n", addrConnect.ToStringAddrPort(), GetNetworkName(preferred_net.value()));
@@ -2966,19 +2966,19 @@ void CConnman::ThreadOpenAddedConnections()
// the addednodeinfo state might change.
break;
}
tried = true;
CAddress addr(CService(), NODE_NONE);
OpenNetworkConnection(addr, false, std::move(grant), info.m_params.m_added_node.c_str(), ConnectionType::MANUAL, info.m_params.m_use_v2transport);
- if (!m_interrupt_net->sleep_for(500ms)) return;
+ if (!m_interrupt_net->SleepFor(500ms)) return;
grant = CountingSemaphoreGrant<>(*semAddnode, /*fTry=*/true);
}
// See if any reconnections are desired.
PerformReconnections();
// Retry every 60 seconds if a connection was attempted, otherwise two seconds
- if (!m_interrupt_net->sleep_for(tried ? 60s : 2s)) {
+ if (!m_interrupt_net->SleepFor(tried ? 60s : 2s)) {
return;
}
}
}
// if successful, this moves the passed grant to the constructed node
@@ -2987,13 +2987,13 @@ void CConnman::OpenNetworkConnection(const CAddress& addrConnect, bool fCountFai
AssertLockNotHeld(m_unused_i2p_sessions_mutex);
assert(conn_type != ConnectionType::INBOUND);
//
// Initiate outbound network connection
//
- if (m_interrupt_net->interrupted()) {
+ if (m_interrupt_net->Interrupted()) {
return;
}
if (!fNetworkActive) {
return;
}
if (!pszDest) {
@@ -3075,19 +3075,19 @@ void CConnman::ThreadI2PAcceptIncoming()
auto err_wait = err_wait_begin;
bool advertising_listen_addr = false;
i2p::Connection conn;
auto SleepOnFailure = [&]() {
- m_interrupt_net->sleep_for(err_wait);
+ m_interrupt_net->SleepFor(err_wait);
if (err_wait < err_wait_cap) {
err_wait += 1s;
}
};
- while (!m_interrupt_net->interrupted()) {
+ while (!m_interrupt_net->Interrupted()) {
if (!m_i2p_sam_session->Listen(conn)) {
if (advertising_listen_addr && conn.me.IsValid()) {
RemoveLocal(conn.me);
advertising_listen_addr = false;
}
@@ -3347,13 +3347,13 @@ bool CConnman::Start(CScheduler& scheduler, const Options& connOptions)
}
//
// Start threads
//
assert(m_msgproc);
- m_interrupt_net->reset();
+ m_interrupt_net->Reset();
flagInterruptMsgProc = false;
{
LOCK(mutexMsgProc);
fMsgProcWake = false;
}
diff --git a/src/test/fuzz/util/threadinterrupt.cpp b/src/test/fuzz/util/threadinterrupt.cpp
index 5dd87e0588..5e23402447 100644
--- a/src/test/fuzz/util/threadinterrupt.cpp
+++ b/src/test/fuzz/util/threadinterrupt.cpp
@@ -7,16 +7,16 @@
FuzzedThreadInterrupt::FuzzedThreadInterrupt(FuzzedDataProvider& fuzzed_data_provider)
: m_fuzzed_data_provider{fuzzed_data_provider}
{
}
-bool FuzzedThreadInterrupt::interrupted() const
+bool FuzzedThreadInterrupt::Interrupted() const
{
return m_fuzzed_data_provider.ConsumeBool();
}
-bool FuzzedThreadInterrupt::sleep_for(Clock::duration)
+bool FuzzedThreadInterrupt::SleepFor(Clock::duration)
{
SetMockTime(ConsumeTime(m_fuzzed_data_provider)); // Time could go backwards.
return m_fuzzed_data_provider.ConsumeBool();
}
diff --git a/src/test/fuzz/util/threadinterrupt.h b/src/test/fuzz/util/threadinterrupt.h
index d56aefd919..71ce2ddd3f 100644
--- a/src/test/fuzz/util/threadinterrupt.h
+++ b/src/test/fuzz/util/threadinterrupt.h
@@ -15,14 +15,14 @@
*/
class FuzzedThreadInterrupt : public CThreadInterrupt
{
public:
explicit FuzzedThreadInterrupt(FuzzedDataProvider& fuzzed_data_provider);
- virtual bool interrupted() const override;
- virtual bool sleep_for(Clock::duration) override;
+ virtual bool Interrupted() const override;
+ virtual bool SleepFor(Clock::duration) override;
private:
FuzzedDataProvider& m_fuzzed_data_provider;
};
[[nodiscard]] inline std::shared_ptr<CThreadInterrupt> ConsumeThreadInterrupt(FuzzedDataProvider& fuzzed_data_provider)
diff --git a/src/util/threadinterrupt.cpp b/src/util/threadinterrupt.cpp
index aaa9e831a9..8402181cf0 100644
--- a/src/util/threadinterrupt.cpp
+++ b/src/util/threadinterrupt.cpp
@@ -6,23 +6,23 @@
#include <util/threadinterrupt.h>
#include <sync.h>
CThreadInterrupt::CThreadInterrupt() : flag(false) {}
-bool CThreadInterrupt::interrupted() const
+bool CThreadInterrupt::Interrupted() const
{
return flag.load(std::memory_order_acquire);
}
CThreadInterrupt::operator bool() const
{
- return interrupted();
+ return Interrupted();
}
-void CThreadInterrupt::reset()
+void CThreadInterrupt::Reset()
{
flag.store(false, std::memory_order_release);
}
void CThreadInterrupt::operator()()
{
@@ -30,11 +30,11 @@ void CThreadInterrupt::operator()()
LOCK(mut);
flag.store(true, std::memory_order_release);
}
cond.notify_all();
}
-bool CThreadInterrupt::sleep_for(Clock::duration rel_time)
+bool CThreadInterrupt::SleepFor(Clock::duration rel_time)
{
WAIT_LOCK(mut, lock);
return !cond.wait_for(lock, rel_time, [this]() { return flag.load(std::memory_order_acquire); });
}
diff --git a/src/util/threadinterrupt.h b/src/util/threadinterrupt.h
index 8b393c26df..e11ff1881b 100644
--- a/src/util/threadinterrupt.h
+++ b/src/util/threadinterrupt.h
@@ -30,27 +30,27 @@ public:
CThreadInterrupt();
virtual ~CThreadInterrupt() = default;
/// Return true if `operator()()` has been called.
- virtual bool interrupted() const;
+ virtual bool Interrupted() const;
/// An alias for `interrupted()`.
virtual explicit operator bool() const;
/// Interrupt any sleeps. After this `interrupted()` will return `true`.
virtual void operator()() EXCLUSIVE_LOCKS_REQUIRED(!mut);
/// Reset to an non-interrupted state.
- virtual void reset();
+ virtual void Reset();
/// Sleep for the given duration.
/// @retval true The time passed.
/// @retval false The sleep was interrupted.
- virtual bool sleep_for(Clock::duration rel_time) EXCLUSIVE_LOCKS_REQUIRED(!mut);
+ virtual bool SleepFor(Clock::duration rel_time) EXCLUSIVE_LOCKS_REQUIRED(!mut);
private:
std::condition_variable cond;
Mutex mut;
std::atomic<bool> flag;
};|
@brunoerg, this has 2 ACKs and a stale ACK from you, maybe you would like to take a look and re-ACK it? |
|
ACK 0802398 |
…9413ed98e4d d9413ed98e4d Add sans utxo set block validation 4dbf78985252 block header eaff2c84ad5a kernel: Fix bitcoin-chainstate for windows 33b1b8d6338c kernel: Add Purpose section to header documentation 9567fac5cac3 kernel: Allowing reducing exports ead892dab56b kernel: Add pure kernel bitcoin-chainstate bcb2e8bc379f Kernel: Add functions for working with outpoints 5bf7f70be280 kernel: Add functions to get the block hash from a block 4bcc26184bc8 kernel: Add block hash type and block tree utility functions to C header a819a3c44b6b kernel: Add function to read block undo data from disk to C header 2443ec4b8c63 kernel: Add functions to read block from disk to C header 979c6bc11184 kernel: Add function for copying block data to C header 5b96d6acb802 kernel: Add functions for the block validation state to C header a1b3304b97c3 kernel: Add validation interface to C header 6ec45aa620f7 kernel: Add interrupt function to C header a8a0834599a1 kernel: Add import blocks function to C header 9ef2ba9e21ef kernel: Add chainstate load options for in-memory dbs in C header a5411b8918fe kernel: Add options for reindexing in C header d008494fe6ef kernel: Add block validation to C header ee81ce38bf39 kernel: Add chainstate loading when instantiating a ChainstateManager 8ba666c9bfd0 kernel: Add chainstate manager option for setting worker threads b19eaa3f1e6c kernel: Add chainstate manager object to C header bd8331333e58 kernel: Add notifications context option to C header 767d6e0b6aaf kernel: Add chain params context option to C header c101833ae394 kernel: Add kernel library context object 6ceea675e514 kernel: Add logging to kernel library C header 589dc756b5c0 kernel: Introduce initial kernel C header API a19ee46b7a48 doc: Add docstrings for ConnectBlock and SpendBlock a952b3cb1a96 validation: Move coin existence and spend check to SpendBlock f7239c451d1a validation: Move SetBestBlock out of ConnectBlock 2b61c0ac7b8c validation: Add SpendBlock function d9f56ac90e42 validation: Use vector of outputs instead of CCoinsViewCache in CheckInputScripts 9e141af7f76d consensus: Use Coin span in CheckTxInputs 1e5c2327efb6 consensus: Use Coin span in GetTransactionSigOpCost aaea486eee09 consensus: Use Coin span in GetP2SHSigOpCount a33bd767a37d Merge bitcoin/bitcoin#33464: p2p: Use network-dependent timers for inbound inv scheduling 2578da69f416 Merge bitcoin/bitcoin#33485: test: set par=2 in default config for functional test framework 25dbe4bc86d3 Merge bitcoin/bitcoin#33533: test: addrman: check isTerrible when time is more than 10min in the future cfb0d74698ad Merge bitcoin/bitcoin#33121: test: fix p2p_leak_tx.py 86eaa4d6cd5c Merge bitcoin/bitcoin#33482: contrib: fix macOS deployment with no translations 007900ee9b89 Merge bitcoin/bitcoin#33434: depends: static libxcb-cursor 8e47ed6906d5 test: addrman: check isTerrible when time is more than 10min in the future 1ed00a0d39d5 Merge bitcoin/bitcoin#33504: Mempool: Do not enforce TRUC checks on reorg 75353a016357 Merge bitcoin/bitcoin#32326: net: improve the interface around FindNode() and avoid a recursive mutex lock 87e7f37918d4 doc: clarify peer address in getpeerinfo and addnode RPC help 2a4450ccbbe3 net: change FindNode() to not return a node and rename it 4268abae1a1d net: avoid recursive m_nodes_mutex lock in DisconnectNode() acc7f2a433b1 Merge bitcoin/bitcoin#33401: ci: Remove bash -c from cmake invocation using eval 50194029e7c2 ci: Remove bash -c from cmake invocation using eval f41f97240c06 Merge bitcoin/bitcoin#28584: Fuzz: extend CConnman tests cc4a2cc6bdc4 Merge bitcoin/bitcoin#33453: docs: Undeprecate datacarrier and datacarriersize configuration options 7502d4e94038 Merge bitcoin/bitcoin#33260: test: Use extra_port() helper in feature_bind_extra.py 14ae71f323dd test: make notfound_on_unannounced more reliable 99bc552980d9 test: fix (w)txid confusion in p2p_leak_tx.py 576dd97cb91e test: increase timeout in p2p_leak_tx.py 8f73d9522146 Merge bitcoin/bitcoin#33299: wallet: reduce unconditional logging during load 0f7d4ee4e828 p2p: Use different inbound inv timer per network 25212dfdb4cd Merge bitcoin/bitcoin#33487: ci: use latest versions of lint deps 06df14ba75be test: add more TRUC reorg coverge 26e71c237d9d Mempool: Do not enforce TRUC checks on reorg bbe8e9063c15 fuzz: don't bypass_limits for most mempool harnesses d4f47f97715c ci: use latest versions of lint deps fc861332b351 wallet, log: reduce unconditional logging during load 3a4d1a25cf94 net: merge AlreadyConnectedToAddress() and FindNode(CNetAddr) d8fe258cd610 Merge bitcoin/bitcoin#33484: doc: rpc: fix case typo in `finalizepsbt` help (final_scriptwitness) dda5228e02ca test: set par=2 in default config for functional test framework ff05bebcc426 doc: rpc: fix case typo in `finalizepsbt` help (final_scriptwitness) 200150beba66 Merge bitcoin/bitcoin#33313: test/refactor: use test deque to avoid quadratic iteration 7e08445449fc Merge bitcoin/bitcoin#33399: key: use static context for libsecp256k1 calls where applicable 7b5261f7ef3d contrib: fix using macdploy script without translations. 65e909dfdd93 Merge bitcoin/bitcoin#33430: rpc: addpeeraddress: throw on invalid IP 31b29f8eb629 Merge bitcoin/bitcoin#33229: multiprocess: Don't require bitcoin -m argument when IPC options are used e62e0a12b332 Merge bitcoin/bitcoin#33230: cli: Handle arguments that can be either JSON or string 05d984b1a4fb Merge bitcoin/bitcoin#33475: bugfix: miner: fix `addPackageTxs` unsigned integer overflow b807dfcdc592 miner: fix `addPackageTxs` unsigned integer overflow d41b503ae128 Merge bitcoin/bitcoin#33446: rpc: fix getblock(header) returns target for tip 5ae8edbc304a Merge bitcoin/bitcoin#33158: macdeploy: avoid use of `Bitcoin Core` in Linux cross build df67bb6fd84c test: Remove convert_to_json_for_cli 44a493e150a7 cli: Allow arguments to be both strings and json ad4a49090da8 Merge bitcoin/bitcoin#33408: msvc: Update vcpkg manifest dd61f08fd52b Merge bitcoin/bitcoin#33031: wallet: Set descriptor cache upgraded flag for migrated wallets 350692e561ce Merge bitcoin/bitcoin#33388: test: don't throw from the destructor of DebugLogHelper 94db966a3bb5 net: use generic network key for addrcache eca50854e1cb depends: static libxcb_cursor 89144eb473c6 Merge bitcoin/bitcoin#33448: net/rpc: Report inv information for debugging eaa1a3cd0b3d Merge bitcoin/bitcoin#33425: ci: remove Clang build from msan fuzz job b77137a5644e ci: link against -lstdc++ in native fuzz with msan job a86e1a6e32d8 Merge bitcoin/bitcoin#33427: rpc: Always return per-wtxid entries in submitpackage tx-results 6861dadfcb11 Merge bitcoin/bitcoin#33459: doc: remove unrelated `bitcoin-wallet` binary from `libbitcoin_ipc` description 3b3ab3a50a0b Merge bitcoin/bitcoin#33302: ci: disable cirrus cache in 32bit arm job 2738b63e025d test: validate behaviour of getpeerinfo last_inv_sequence and inv_to_send fbde8d9a81d8 doc: remove unrelated `bitcoin-wallet` binary from `libbitcoin_ipc` description 34fefb633584 Merge bitcoin/bitcoin#33435: system: improve handling around GetTotalRAM() 56791b582958 test: split out `system_ram_tests` to signal when total ram cannot be determined 337a6e738616 system: improve handling around GetTotalRAM() 451ba9ada41f datacarrier: Undeprecate configuration option 77b2ebb81182 rpc/net: report per-peer last_inv_sequence bf7996cbc3be rpc: fix getblock(header) returns target for tip 4c3c1f42cf70 test: add block 2016 to mock mainnet 953544d0286b Merge bitcoin/bitcoin#33429: fuzz: reduce iterations in slow targets df101c97c260 Merge bitcoin/bitcoin#33422: build: Remove lingering Windows registry & shortcuts (#32132 follow-up) 56c6daa64f6b Merge bitcoin/bitcoin#28592: p2p: Increase tx relay rate 79752b9c0b6b build(windows): Remove lingering registry entries and shortcuts upon install cad9a7fd7370 rpc: Always return per-wtxid entries in submitpackage tx-results 6a33970fef1b fuzz: Reduce iterations in slow targets edb871cba22a Merge bitcoin/bitcoin#33412: Update libmultiprocess subtree to fix intermittent mptest hang 2427939935f3 test: forbid copying of DebugLogHelper d6aa266d432f test: don't throw from the destructor of DebugLogHelper eaf2c464758b Merge bitcoin/bitcoin#33378: Remove unnecessary casts when calling socket operations 5aec516b2ce3 Merge bitcoin/bitcoin#33333: coins: warn on oversized `-dbcache` 316a0c513278 rpc: addpeeraddress: throw on invalid IP 74fa028da1ea Merge bitcoin/bitcoin#33420: test: Avoid interface_ipc.py Duplicate ID errors 168360f4ae47 coins: warn on oversized -dbcache 6c720459beea system: add helper for fetching total system memory e9c52272ebd7 test: Avoid interface_ipc.py Duplicate ID errors c49a43591f88 Merge commit '535fa0ad0d2637f845beae92ea9dbbbbbe377c74' into pr/subtree-5 535fa0ad0d26 Squashed 'src/ipc/libmultiprocess/' changes from 13424cf2ecc1..47d79db8a552 453b0fa286e5 bitcoin: Make wrapper not require -m 1444ed855f43 Merge bitcoin/bitcoin#33407: cmake: Install `bitcoin` manpage 29e836fae660 test: add tool_bitcoin to test bitcoin wrapper behavior 0972f5504021 init: add exe name to bitcoind, bitcoin-node -version output to be able to distinguish these in tests 2b0cd1f3fb22 Merge bitcoin/bitcoin#33395: net: do not apply whitelist permissions to onion inbounds ef20c2d11d96 build, msvc: Update vcpkg manifest baseline 1ff9e929489e key: use static context for libsecp256k1 calls where applicable f563ce90818d net: Do not apply whitelist permission to onion inbounds 947bed28fe62 Merge bitcoin/bitcoin#33380: test: Add submitblock test in interface_ipc 7584a4fda95d cmake: Install `bitcoin` manpage 67f632b6deb8 net: remove unnecessary casts in socket operations c4adfbf70626 Merge bitcoin/bitcoin#33373: depends: systemtap 5.3 5aa3d3135d25 Merge bitcoin/bitcoin#33391: test: Prevent disk space warning during node_init_tests bdf01c6f6126 test: Prevent disk space warning during node_init_tests 0a26731c4cc1 test: Add submitblock test in interface_ipc 2d6a0c464912 Merge bitcoin/bitcoin#33379: cmake: Fix regression in `secp256k1.cmake` 9193c3e4340b cmake: Fix regression in `secp256k1.cmake` 28efd724b478 depends: systemtap 5.3 75e6984ec8c6 test/refactor: use test deque to avoid quadratic iteration 00c253d49417 ci: disable cirrus cache in 32bit arm job ff18b6bbaf32 ci: refactor docker action to return provider str 8e434a84999c macdeploy: rename macOS output to bitcoin-macos-app.zip 05353d9cf08c macdeploy: combine appname & -zip arguments fabc2615af26 test: Use extra_port() helper in feature_bind_extra.py adefb51c5437 rpc/net: add per-peer inv_to_send sizes 88b0647f027a wallet: Always write last hardened cache flag in migrated wallets 8a08eef645ee tests: Check that the last hardened cache upgrade occurs 0802398e749c fuzz: make it possible to mock (fuzz) CThreadInterrupt 6d9e5d130d2e fuzz: add CConnman::SocketHandler() to the tests 3265df63a48d fuzz: add CConnman::InitBinds() to the tests 91cbf4dbd864 fuzz: add CConnman::CreateNodeFromAcceptedSocket() to the tests 50da7432ec1e fuzz: add CConnman::OpenNetworkConnection() to the tests e6a917c8f8e0 fuzz: add Fuzzed NetEventsInterface and use it in connman tests e883b3776881 fuzz: set the output argument of FuzzedSock::Accept() b81f37031c8f p2p: Increase tx relay rate REVERT: 64d1449ff47d kernel: Fix bitcoin-chainstate for windows REVERT: ba247a6a7183 kernel: Add Purpose section to header documentation REVERT: b0697ccbf7fd kernel: Allowing reducing exports REVERT: 9d23c437bfc8 kernel: Add pure kernel bitcoin-chainstate REVERT: 10e8e06caf15 Kernel: Add functions for working with outpoints REVERT: ae64f8984d98 kernel: Add functions to get the block hash from a block REVERT: 2c2f277d12fa kernel: Add block hash type and block tree utility functions to C header REVERT: 6062e2eeca3c kernel: Add function to read block undo data from disk to C header REVERT: e96af0baf5ef kernel: Add functions to read block from disk to C header REVERT: 60e1515586a8 kernel: Add function for copying block data to C header REVERT: 7b105b7d02a0 kernel: Add functions for the block validation state to C header REVERT: 1a58dbb81583 kernel: Add validation interface to C header REVERT: 86ed87d5a6c4 kernel: Add interrupt function to C header REVERT: e424c4554653 kernel: Add import blocks function to C header REVERT: cf7b562f2e31 kernel: Add chainstate load options for in-memory dbs in C header REVERT: e26a198acfbb kernel: Add options for reindexing in C header REVERT: 4196583e03d6 kernel: Add block validation to C header REVERT: a7149076e233 kernel: Add chainstate loading when instantiating a ChainstateManager REVERT: d36b447e6caf kernel: Add chainstate manager option for setting worker threads REVERT: d4e612af6701 kernel: Add chainstate manager object to C header REVERT: f19c80767460 kernel: Add notifications context option to C header REVERT: cc0043d99b62 kernel: Add chain params context option to C header REVERT: 8b3ceea4f1df kernel: Add kernel library context object REVERT: 039e222756ef kernel: Add logging to kernel library C header REVERT: d192006d7f4e kernel: Introduce initial kernel C header API git-subtree-dir: libbitcoinkernel-sys/bitcoin git-subtree-split: d9413ed98e4d9cb6791b50661d3bbd1d5cb2593a
…563a70c0d4c 7563a70c0d4c Add sans utxo set block validation 9cc32f782367 block header 6ee488a911d7 kernel: Fix bitcoin-chainstate for windows f3cdc1d06830 kernel: Add Purpose section to header documentation e12e49cd9f1a kernel: Allowing reducing exports d12156dc9325 kernel: Add pure kernel bitcoin-chainstate 6073d024833c Kernel: Add functions for working with outpoints 1cf094c3d21d kernel: Add block hash type and block tree utility functions to C header 6d78409470ca kernel: Add function to read block undo data from disk to C header 3a97c00c393a kernel: Add functions to read block from disk to C header c7d52b5d8546 kernel: Add function for copying block data to C header 01406a79391a kernel: Add functions for the block validation state to C header 1a4b0f99b3a1 kernel: Add validation interface to C header b784e3dece56 kernel: Add interrupt function to C header 1b48bf08dad9 kernel: Add import blocks function to C header c261da1804f4 kernel: Add chainstate load options for in-memory dbs in C header 898d063f1150 kernel: Add options for reindexing in C header 3f4ecce17816 kernel: Add block validation to C header 97caa08c3b6e kernel: Add chainstate loading when instantiating a ChainstateManager b94bea810156 kernel: Add chainstate manager option for setting worker threads eaf6829898a0 kernel: Add chainstate manager object to C header 15e4a3f26ded kernel: Add notifications context option to C header a4cd536a8e9b kernel: Add chain params context option to C header d7387a5b6701 kernel: Add kernel library context object 5e2d066fe861 kernel: Add logging to kernel library C header f34e2a470df1 kernel: Introduce initial kernel C header API 9ce01e051bae doc: Add docstrings for ConnectBlock and SpendBlock d7e812db1d37 validation: Move coin existence and spend check to SpendBlock cf3b9c77b9c6 validation: Move SetBestBlock out of ConnectBlock ee0c36f0b540 validation: Add SpendBlock function 78a3397898a6 validation: Use vector of outputs instead of CCoinsViewCache in CheckInputScripts 4d2a58f3f1a5 consensus: Use Coin span in CheckTxInputs 0d4274d9bdda consensus: Use Coin span in GetTransactionSigOpCost 4a3d86c6fc51 consensus: Use Coin span in GetP2SHSigOpCount b510893d0076 Merge bitcoin/bitcoin#33494: depends: Update URL for `qrencode` package source tarball ec5841888de7 Merge bitcoin/bitcoin#32513: ci: remove 3rd party js from windows dll gha job d735e2e9b39a Merge bitcoin/bitcoin#32998: Bump SCRIPT_VERIFY flags to 64 bit de1dc6b47ba7 Merge bitcoin/bitcoin#33515: Improve LastCommonAncestor performance + add tests 919e6d01e93a Merge bitcoin/bitcoin#33489: build: Drop support for EOL macOS 13 452ea5928112 Merge bitcoin/bitcoin#33454: net: support overriding the proxy selection in ConnectNode() a33bd767a37d Merge bitcoin/bitcoin#33464: p2p: Use network-dependent timers for inbound inv scheduling 2578da69f416 Merge bitcoin/bitcoin#33485: test: set par=2 in default config for functional test framework 25dbe4bc86d3 Merge bitcoin/bitcoin#33533: test: addrman: check isTerrible when time is more than 10min in the future cfb0d74698ad Merge bitcoin/bitcoin#33121: test: fix p2p_leak_tx.py 86eaa4d6cd5c Merge bitcoin/bitcoin#33482: contrib: fix macOS deployment with no translations 007900ee9b89 Merge bitcoin/bitcoin#33434: depends: static libxcb-cursor 8e47ed6906d5 test: addrman: check isTerrible when time is more than 10min in the future 3635d62f5a93 chain: make use of pskip in LastCommonAncestor (optimization) 2e09d66fbb7b tests: add unit tests for CBlockIndex::GetAncestor and LastCommonAncestor 156927903d64 ci: Check windows manifests for all executables e1a1b14c9359 ci: use a more generic way of finding mt.exe 1ed00a0d39d5 Merge bitcoin/bitcoin#33504: Mempool: Do not enforce TRUC checks on reorg c76de2eea180 net: support overriding the proxy selection in ConnectNode() 75353a016357 Merge bitcoin/bitcoin#32326: net: improve the interface around FindNode() and avoid a recursive mutex lock 87e7f37918d4 doc: clarify peer address in getpeerinfo and addnode RPC help 2a4450ccbbe3 net: change FindNode() to not return a node and rename it 4268abae1a1d net: avoid recursive m_nodes_mutex lock in DisconnectNode() acc7f2a433b1 Merge bitcoin/bitcoin#33401: ci: Remove bash -c from cmake invocation using eval 1aaaaa078bb2 fuzz: Drop unused workaround after Apple-Clang bump fadad7a49477 Drop support for EOL macOS 13 50194029e7c2 ci: Remove bash -c from cmake invocation using eval f41f97240c06 Merge bitcoin/bitcoin#28584: Fuzz: extend CConnman tests cc4a2cc6bdc4 Merge bitcoin/bitcoin#33453: docs: Undeprecate datacarrier and datacarriersize configuration options 7502d4e94038 Merge bitcoin/bitcoin#33260: test: Use extra_port() helper in feature_bind_extra.py 14ae71f323dd test: make notfound_on_unannounced more reliable 99bc552980d9 test: fix (w)txid confusion in p2p_leak_tx.py 576dd97cb91e test: increase timeout in p2p_leak_tx.py 8f73d9522146 Merge bitcoin/bitcoin#33299: wallet: reduce unconditional logging during load 0f7d4ee4e828 p2p: Use different inbound inv timer per network 93a70a42d30f depends: Update URL for `qrencode` package source tarball 6de80512632a depends: Use hash instead of file name for package download stamp 46135d90ea90 depends: Drop redundant check for downloaded file 771978952a98 depends: Fix `$(package)_fetched` target 25212dfdb4cd Merge bitcoin/bitcoin#33487: ci: use latest versions of lint deps 06df14ba75be test: add more TRUC reorg coverge 26e71c237d9d Mempool: Do not enforce TRUC checks on reorg bbe8e9063c15 fuzz: don't bypass_limits for most mempool harnesses d4f47f97715c ci: use latest versions of lint deps fc861332b351 wallet, log: reduce unconditional logging during load 3a4d1a25cf94 net: merge AlreadyConnectedToAddress() and FindNode(CNetAddr) d8fe258cd610 Merge bitcoin/bitcoin#33484: doc: rpc: fix case typo in `finalizepsbt` help (final_scriptwitness) dda5228e02ca test: set par=2 in default config for functional test framework ff05bebcc426 doc: rpc: fix case typo in `finalizepsbt` help (final_scriptwitness) 200150beba66 Merge bitcoin/bitcoin#33313: test/refactor: use test deque to avoid quadratic iteration 7e08445449fc Merge bitcoin/bitcoin#33399: key: use static context for libsecp256k1 calls where applicable 7b5261f7ef3d contrib: fix using macdploy script without translations. 65e909dfdd93 Merge bitcoin/bitcoin#33430: rpc: addpeeraddress: throw on invalid IP 31b29f8eb629 Merge bitcoin/bitcoin#33229: multiprocess: Don't require bitcoin -m argument when IPC options are used e62e0a12b332 Merge bitcoin/bitcoin#33230: cli: Handle arguments that can be either JSON or string 7ae0497eef8f ci: remove 3rd party js from windows dll gha job 05d984b1a4fb Merge bitcoin/bitcoin#33475: bugfix: miner: fix `addPackageTxs` unsigned integer overflow b807dfcdc592 miner: fix `addPackageTxs` unsigned integer overflow d41b503ae128 Merge bitcoin/bitcoin#33446: rpc: fix getblock(header) returns target for tip 5ae8edbc304a Merge bitcoin/bitcoin#33158: macdeploy: avoid use of `Bitcoin Core` in Linux cross build df67bb6fd84c test: Remove convert_to_json_for_cli 44a493e150a7 cli: Allow arguments to be both strings and json ad4a49090da8 Merge bitcoin/bitcoin#33408: msvc: Update vcpkg manifest dd61f08fd52b Merge bitcoin/bitcoin#33031: wallet: Set descriptor cache upgraded flag for migrated wallets 350692e561ce Merge bitcoin/bitcoin#33388: test: don't throw from the destructor of DebugLogHelper 94db966a3bb5 net: use generic network key for addrcache eca50854e1cb depends: static libxcb_cursor 89144eb473c6 Merge bitcoin/bitcoin#33448: net/rpc: Report inv information for debugging eaa1a3cd0b3d Merge bitcoin/bitcoin#33425: ci: remove Clang build from msan fuzz job b77137a5644e ci: link against -lstdc++ in native fuzz with msan job a86e1a6e32d8 Merge bitcoin/bitcoin#33427: rpc: Always return per-wtxid entries in submitpackage tx-results 6861dadfcb11 Merge bitcoin/bitcoin#33459: doc: remove unrelated `bitcoin-wallet` binary from `libbitcoin_ipc` description 3b3ab3a50a0b Merge bitcoin/bitcoin#33302: ci: disable cirrus cache in 32bit arm job 2738b63e025d test: validate behaviour of getpeerinfo last_inv_sequence and inv_to_send fbde8d9a81d8 doc: remove unrelated `bitcoin-wallet` binary from `libbitcoin_ipc` description 34fefb633584 Merge bitcoin/bitcoin#33435: system: improve handling around GetTotalRAM() 56791b582958 test: split out `system_ram_tests` to signal when total ram cannot be determined 337a6e738616 system: improve handling around GetTotalRAM() 451ba9ada41f datacarrier: Undeprecate configuration option 77b2ebb81182 rpc/net: report per-peer last_inv_sequence bf7996cbc3be rpc: fix getblock(header) returns target for tip 4c3c1f42cf70 test: add block 2016 to mock mainnet 953544d0286b Merge bitcoin/bitcoin#33429: fuzz: reduce iterations in slow targets df101c97c260 Merge bitcoin/bitcoin#33422: build: Remove lingering Windows registry & shortcuts (#32132 follow-up) 56c6daa64f6b Merge bitcoin/bitcoin#28592: p2p: Increase tx relay rate 79752b9c0b6b build(windows): Remove lingering registry entries and shortcuts upon install cad9a7fd7370 rpc: Always return per-wtxid entries in submitpackage tx-results 6a33970fef1b fuzz: Reduce iterations in slow targets edb871cba22a Merge bitcoin/bitcoin#33412: Update libmultiprocess subtree to fix intermittent mptest hang 2427939935f3 test: forbid copying of DebugLogHelper d6aa266d432f test: don't throw from the destructor of DebugLogHelper eaf2c464758b Merge bitcoin/bitcoin#33378: Remove unnecessary casts when calling socket operations 5aec516b2ce3 Merge bitcoin/bitcoin#33333: coins: warn on oversized `-dbcache` 316a0c513278 rpc: addpeeraddress: throw on invalid IP 74fa028da1ea Merge bitcoin/bitcoin#33420: test: Avoid interface_ipc.py Duplicate ID errors 168360f4ae47 coins: warn on oversized -dbcache 6c720459beea system: add helper for fetching total system memory e9c52272ebd7 test: Avoid interface_ipc.py Duplicate ID errors c49a43591f88 Merge commit '535fa0ad0d2637f845beae92ea9dbbbbbe377c74' into pr/subtree-5 535fa0ad0d26 Squashed 'src/ipc/libmultiprocess/' changes from 13424cf2ecc1..47d79db8a552 453b0fa286e5 bitcoin: Make wrapper not require -m 1444ed855f43 Merge bitcoin/bitcoin#33407: cmake: Install `bitcoin` manpage 29e836fae660 test: add tool_bitcoin to test bitcoin wrapper behavior 0972f5504021 init: add exe name to bitcoind, bitcoin-node -version output to be able to distinguish these in tests 2b0cd1f3fb22 Merge bitcoin/bitcoin#33395: net: do not apply whitelist permissions to onion inbounds ef20c2d11d96 build, msvc: Update vcpkg manifest baseline 1ff9e929489e key: use static context for libsecp256k1 calls where applicable f563ce90818d net: Do not apply whitelist permission to onion inbounds 947bed28fe62 Merge bitcoin/bitcoin#33380: test: Add submitblock test in interface_ipc 7584a4fda95d cmake: Install `bitcoin` manpage 67f632b6deb8 net: remove unnecessary casts in socket operations c4adfbf70626 Merge bitcoin/bitcoin#33373: depends: systemtap 5.3 5aa3d3135d25 Merge bitcoin/bitcoin#33391: test: Prevent disk space warning during node_init_tests bdf01c6f6126 test: Prevent disk space warning during node_init_tests 0a26731c4cc1 test: Add submitblock test in interface_ipc 2d6a0c464912 Merge bitcoin/bitcoin#33379: cmake: Fix regression in `secp256k1.cmake` 9193c3e4340b cmake: Fix regression in `secp256k1.cmake` 28efd724b478 depends: systemtap 5.3 75e6984ec8c6 test/refactor: use test deque to avoid quadratic iteration 652424ad162b test: additional test coverage for script_verify_flags 00c253d49417 ci: disable cirrus cache in 32bit arm job ff18b6bbaf32 ci: refactor docker action to return provider str 8e434a84999c macdeploy: rename macOS output to bitcoin-macos-app.zip 05353d9cf08c macdeploy: combine appname & -zip arguments fabc2615af26 test: Use extra_port() helper in feature_bind_extra.py 417437eb01ac script/verify_flags: extend script_verify_flags to 64 bits 3cbbcb66efc3 script/interpreter: make script_verify_flag_name an ordinary enum bddcadee82da script/verify_flags: make script_verify_flags type safe a5ead122fe06 script/interpreter: introduce script_verify_flags typename 4577fb2b1e09 rpc: have getdeploymentinfo report script verify flags a3986935f073 validation: export GetBlockScriptFlags() 5db8cd2d37eb Move mapFlagNames and FormatScriptFlags logic to script/interpreter.h adefb51c5437 rpc/net: add per-peer inv_to_send sizes 88b0647f027a wallet: Always write last hardened cache flag in migrated wallets 8a08eef645ee tests: Check that the last hardened cache upgrade occurs 0802398e749c fuzz: make it possible to mock (fuzz) CThreadInterrupt 6d9e5d130d2e fuzz: add CConnman::SocketHandler() to the tests 3265df63a48d fuzz: add CConnman::InitBinds() to the tests 91cbf4dbd864 fuzz: add CConnman::CreateNodeFromAcceptedSocket() to the tests 50da7432ec1e fuzz: add CConnman::OpenNetworkConnection() to the tests e6a917c8f8e0 fuzz: add Fuzzed NetEventsInterface and use it in connman tests e883b3776881 fuzz: set the output argument of FuzzedSock::Accept() b81f37031c8f p2p: Increase tx relay rate REVERT: 64d1449ff47d kernel: Fix bitcoin-chainstate for windows REVERT: ba247a6a7183 kernel: Add Purpose section to header documentation REVERT: b0697ccbf7fd kernel: Allowing reducing exports REVERT: 9d23c437bfc8 kernel: Add pure kernel bitcoin-chainstate REVERT: 10e8e06caf15 Kernel: Add functions for working with outpoints REVERT: ae64f8984d98 kernel: Add functions to get the block hash from a block REVERT: 2c2f277d12fa kernel: Add block hash type and block tree utility functions to C header REVERT: 6062e2eeca3c kernel: Add function to read block undo data from disk to C header REVERT: e96af0baf5ef kernel: Add functions to read block from disk to C header REVERT: 60e1515586a8 kernel: Add function for copying block data to C header REVERT: 7b105b7d02a0 kernel: Add functions for the block validation state to C header REVERT: 1a58dbb81583 kernel: Add validation interface to C header REVERT: 86ed87d5a6c4 kernel: Add interrupt function to C header REVERT: e424c4554653 kernel: Add import blocks function to C header REVERT: cf7b562f2e31 kernel: Add chainstate load options for in-memory dbs in C header REVERT: e26a198acfbb kernel: Add options for reindexing in C header REVERT: 4196583e03d6 kernel: Add block validation to C header REVERT: a7149076e233 kernel: Add chainstate loading when instantiating a ChainstateManager REVERT: d36b447e6caf kernel: Add chainstate manager option for setting worker threads REVERT: d4e612af6701 kernel: Add chainstate manager object to C header REVERT: f19c80767460 kernel: Add notifications context option to C header REVERT: cc0043d99b62 kernel: Add chain params context option to C header REVERT: 8b3ceea4f1df kernel: Add kernel library context object REVERT: 039e222756ef kernel: Add logging to kernel library C header REVERT: d192006d7f4e kernel: Introduce initial kernel C header API git-subtree-dir: libbitcoinkernel-sys/bitcoin git-subtree-split: 7563a70c0d4cbcdef88dbddab939bf3056c63e2b
…09748e2 a8d09748e2 Add sans utxo set block validation 42d3cb24d3 block header 6ee488a911 kernel: Fix bitcoin-chainstate for windows f3cdc1d068 kernel: Add Purpose section to header documentation e12e49cd9f kernel: Allowing reducing exports d12156dc93 kernel: Add pure kernel bitcoin-chainstate 6073d02483 Kernel: Add functions for working with outpoints 1cf094c3d2 kernel: Add block hash type and block tree utility functions to C header 6d78409470 kernel: Add function to read block undo data from disk to C header 3a97c00c39 kernel: Add functions to read block from disk to C header c7d52b5d85 kernel: Add function for copying block data to C header 01406a7939 kernel: Add functions for the block validation state to C header 1a4b0f99b3 kernel: Add validation interface to C header b784e3dece kernel: Add interrupt function to C header 1b48bf08da kernel: Add import blocks function to C header c261da1804 kernel: Add chainstate load options for in-memory dbs in C header 898d063f11 kernel: Add options for reindexing in C header 3f4ecce178 kernel: Add block validation to C header 97caa08c3b kernel: Add chainstate loading when instantiating a ChainstateManager b94bea8101 kernel: Add chainstate manager option for setting worker threads eaf6829898 kernel: Add chainstate manager object to C header 15e4a3f26d kernel: Add notifications context option to C header a4cd536a8e kernel: Add chain params context option to C header d7387a5b67 kernel: Add kernel library context object 5e2d066fe8 kernel: Add logging to kernel library C header f34e2a470d kernel: Introduce initial kernel C header API 9ce01e051b doc: Add docstrings for ConnectBlock and SpendBlock d7e812db1d validation: Move coin existence and spend check to SpendBlock cf3b9c77b9 validation: Move SetBestBlock out of ConnectBlock ee0c36f0b5 validation: Add SpendBlock function 78a3397898 validation: Use vector of outputs instead of CCoinsViewCache in CheckInputScripts 4d2a58f3f1 consensus: Use Coin span in CheckTxInputs 0d4274d9bd consensus: Use Coin span in GetTransactionSigOpCost 4a3d86c6fc consensus: Use Coin span in GetP2SHSigOpCount b510893d00 Merge bitcoin/bitcoin#33494: depends: Update URL for `qrencode` package source tarball ec5841888d Merge bitcoin/bitcoin#32513: ci: remove 3rd party js from windows dll gha job d735e2e9b3 Merge bitcoin/bitcoin#32998: Bump SCRIPT_VERIFY flags to 64 bit de1dc6b47b Merge bitcoin/bitcoin#33515: Improve LastCommonAncestor performance + add tests 919e6d01e9 Merge bitcoin/bitcoin#33489: build: Drop support for EOL macOS 13 452ea59281 Merge bitcoin/bitcoin#33454: net: support overriding the proxy selection in ConnectNode() a33bd767a3 Merge bitcoin/bitcoin#33464: p2p: Use network-dependent timers for inbound inv scheduling 2578da69f4 Merge bitcoin/bitcoin#33485: test: set par=2 in default config for functional test framework 25dbe4bc86 Merge bitcoin/bitcoin#33533: test: addrman: check isTerrible when time is more than 10min in the future cfb0d74698 Merge bitcoin/bitcoin#33121: test: fix p2p_leak_tx.py 86eaa4d6cd Merge bitcoin/bitcoin#33482: contrib: fix macOS deployment with no translations 007900ee9b Merge bitcoin/bitcoin#33434: depends: static libxcb-cursor 8e47ed6906 test: addrman: check isTerrible when time is more than 10min in the future 3635d62f5a chain: make use of pskip in LastCommonAncestor (optimization) 2e09d66fbb tests: add unit tests for CBlockIndex::GetAncestor and LastCommonAncestor 156927903d ci: Check windows manifests for all executables e1a1b14c93 ci: use a more generic way of finding mt.exe 1ed00a0d39 Merge bitcoin/bitcoin#33504: Mempool: Do not enforce TRUC checks on reorg c76de2eea1 net: support overriding the proxy selection in ConnectNode() 75353a0163 Merge bitcoin/bitcoin#32326: net: improve the interface around FindNode() and avoid a recursive mutex lock 87e7f37918 doc: clarify peer address in getpeerinfo and addnode RPC help 2a4450ccbb net: change FindNode() to not return a node and rename it 4268abae1a net: avoid recursive m_nodes_mutex lock in DisconnectNode() acc7f2a433 Merge bitcoin/bitcoin#33401: ci: Remove bash -c from cmake invocation using eval 1aaaaa078b fuzz: Drop unused workaround after Apple-Clang bump fadad7a494 Drop support for EOL macOS 13 50194029e7 ci: Remove bash -c from cmake invocation using eval f41f97240c Merge bitcoin/bitcoin#28584: Fuzz: extend CConnman tests cc4a2cc6bd Merge bitcoin/bitcoin#33453: docs: Undeprecate datacarrier and datacarriersize configuration options 7502d4e940 Merge bitcoin/bitcoin#33260: test: Use extra_port() helper in feature_bind_extra.py 14ae71f323 test: make notfound_on_unannounced more reliable 99bc552980 test: fix (w)txid confusion in p2p_leak_tx.py 576dd97cb9 test: increase timeout in p2p_leak_tx.py 8f73d95221 Merge bitcoin/bitcoin#33299: wallet: reduce unconditional logging during load 0f7d4ee4e8 p2p: Use different inbound inv timer per network 93a70a42d3 depends: Update URL for `qrencode` package source tarball 6de8051263 depends: Use hash instead of file name for package download stamp 46135d90ea depends: Drop redundant check for downloaded file 771978952a depends: Fix `$(package)_fetched` target 25212dfdb4 Merge bitcoin/bitcoin#33487: ci: use latest versions of lint deps 06df14ba75 test: add more TRUC reorg coverge 26e71c237d Mempool: Do not enforce TRUC checks on reorg bbe8e9063c fuzz: don't bypass_limits for most mempool harnesses d4f47f9771 ci: use latest versions of lint deps fc861332b3 wallet, log: reduce unconditional logging during load 3a4d1a25cf net: merge AlreadyConnectedToAddress() and FindNode(CNetAddr) d8fe258cd6 Merge bitcoin/bitcoin#33484: doc: rpc: fix case typo in `finalizepsbt` help (final_scriptwitness) dda5228e02 test: set par=2 in default config for functional test framework ff05bebcc4 doc: rpc: fix case typo in `finalizepsbt` help (final_scriptwitness) 200150beba Merge bitcoin/bitcoin#33313: test/refactor: use test deque to avoid quadratic iteration 7e08445449 Merge bitcoin/bitcoin#33399: key: use static context for libsecp256k1 calls where applicable 7b5261f7ef contrib: fix using macdploy script without translations. 65e909dfdd Merge bitcoin/bitcoin#33430: rpc: addpeeraddress: throw on invalid IP 31b29f8eb6 Merge bitcoin/bitcoin#33229: multiprocess: Don't require bitcoin -m argument when IPC options are used e62e0a12b3 Merge bitcoin/bitcoin#33230: cli: Handle arguments that can be either JSON or string 7ae0497eef ci: remove 3rd party js from windows dll gha job 05d984b1a4 Merge bitcoin/bitcoin#33475: bugfix: miner: fix `addPackageTxs` unsigned integer overflow b807dfcdc5 miner: fix `addPackageTxs` unsigned integer overflow d41b503ae1 Merge bitcoin/bitcoin#33446: rpc: fix getblock(header) returns target for tip 5ae8edbc30 Merge bitcoin/bitcoin#33158: macdeploy: avoid use of `Bitcoin Core` in Linux cross build df67bb6fd8 test: Remove convert_to_json_for_cli 44a493e150 cli: Allow arguments to be both strings and json ad4a49090d Merge bitcoin/bitcoin#33408: msvc: Update vcpkg manifest dd61f08fd5 Merge bitcoin/bitcoin#33031: wallet: Set descriptor cache upgraded flag for migrated wallets 350692e561 Merge bitcoin/bitcoin#33388: test: don't throw from the destructor of DebugLogHelper 94db966a3b net: use generic network key for addrcache eca50854e1 depends: static libxcb_cursor 89144eb473 Merge bitcoin/bitcoin#33448: net/rpc: Report inv information for debugging eaa1a3cd0b Merge bitcoin/bitcoin#33425: ci: remove Clang build from msan fuzz job b77137a564 ci: link against -lstdc++ in native fuzz with msan job a86e1a6e32 Merge bitcoin/bitcoin#33427: rpc: Always return per-wtxid entries in submitpackage tx-results 6861dadfcb Merge bitcoin/bitcoin#33459: doc: remove unrelated `bitcoin-wallet` binary from `libbitcoin_ipc` description 3b3ab3a50a Merge bitcoin/bitcoin#33302: ci: disable cirrus cache in 32bit arm job 2738b63e02 test: validate behaviour of getpeerinfo last_inv_sequence and inv_to_send fbde8d9a81 doc: remove unrelated `bitcoin-wallet` binary from `libbitcoin_ipc` description 34fefb6335 Merge bitcoin/bitcoin#33435: system: improve handling around GetTotalRAM() 56791b5829 test: split out `system_ram_tests` to signal when total ram cannot be determined 337a6e7386 system: improve handling around GetTotalRAM() 451ba9ada4 datacarrier: Undeprecate configuration option 77b2ebb811 rpc/net: report per-peer last_inv_sequence bf7996cbc3 rpc: fix getblock(header) returns target for tip 4c3c1f42cf test: add block 2016 to mock mainnet 953544d028 Merge bitcoin/bitcoin#33429: fuzz: reduce iterations in slow targets df101c97c2 Merge bitcoin/bitcoin#33422: build: Remove lingering Windows registry & shortcuts (#32132 follow-up) 56c6daa64f Merge bitcoin/bitcoin#28592: p2p: Increase tx relay rate 79752b9c0b build(windows): Remove lingering registry entries and shortcuts upon install cad9a7fd73 rpc: Always return per-wtxid entries in submitpackage tx-results 6a33970fef fuzz: Reduce iterations in slow targets edb871cba2 Merge bitcoin/bitcoin#33412: Update libmultiprocess subtree to fix intermittent mptest hang 2427939935 test: forbid copying of DebugLogHelper d6aa266d43 test: don't throw from the destructor of DebugLogHelper eaf2c46475 Merge bitcoin/bitcoin#33378: Remove unnecessary casts when calling socket operations 5aec516b2c Merge bitcoin/bitcoin#33333: coins: warn on oversized `-dbcache` 316a0c5132 rpc: addpeeraddress: throw on invalid IP 74fa028da1 Merge bitcoin/bitcoin#33420: test: Avoid interface_ipc.py Duplicate ID errors 168360f4ae coins: warn on oversized -dbcache 6c720459be system: add helper for fetching total system memory e9c52272eb test: Avoid interface_ipc.py Duplicate ID errors c49a43591f Merge commit '535fa0ad0d2637f845beae92ea9dbbbbbe377c74' into pr/subtree-5 535fa0ad0d Squashed 'src/ipc/libmultiprocess/' changes from 13424cf2ecc1..47d79db8a552 453b0fa286 bitcoin: Make wrapper not require -m 1444ed855f Merge bitcoin/bitcoin#33407: cmake: Install `bitcoin` manpage 29e836fae6 test: add tool_bitcoin to test bitcoin wrapper behavior 0972f55040 init: add exe name to bitcoind, bitcoin-node -version output to be able to distinguish these in tests 2b0cd1f3fb Merge bitcoin/bitcoin#33395: net: do not apply whitelist permissions to onion inbounds ef20c2d11d build, msvc: Update vcpkg manifest baseline 1ff9e92948 key: use static context for libsecp256k1 calls where applicable f563ce9081 net: Do not apply whitelist permission to onion inbounds 947bed28fe Merge bitcoin/bitcoin#33380: test: Add submitblock test in interface_ipc 7584a4fda9 cmake: Install `bitcoin` manpage 67f632b6de net: remove unnecessary casts in socket operations c4adfbf706 Merge bitcoin/bitcoin#33373: depends: systemtap 5.3 5aa3d3135d Merge bitcoin/bitcoin#33391: test: Prevent disk space warning during node_init_tests bdf01c6f61 test: Prevent disk space warning during node_init_tests 0a26731c4c test: Add submitblock test in interface_ipc 2d6a0c4649 Merge bitcoin/bitcoin#33379: cmake: Fix regression in `secp256k1.cmake` 9193c3e434 cmake: Fix regression in `secp256k1.cmake` 28efd724b4 depends: systemtap 5.3 75e6984ec8 test/refactor: use test deque to avoid quadratic iteration 652424ad16 test: additional test coverage for script_verify_flags 00c253d494 ci: disable cirrus cache in 32bit arm job ff18b6bbaf ci: refactor docker action to return provider str 8e434a8499 macdeploy: rename macOS output to bitcoin-macos-app.zip 05353d9cf0 macdeploy: combine appname & -zip arguments fabc2615af test: Use extra_port() helper in feature_bind_extra.py 417437eb01 script/verify_flags: extend script_verify_flags to 64 bits 3cbbcb66ef script/interpreter: make script_verify_flag_name an ordinary enum bddcadee82 script/verify_flags: make script_verify_flags type safe a5ead122fe script/interpreter: introduce script_verify_flags typename 4577fb2b1e rpc: have getdeploymentinfo report script verify flags a3986935f0 validation: export GetBlockScriptFlags() 5db8cd2d37 Move mapFlagNames and FormatScriptFlags logic to script/interpreter.h adefb51c54 rpc/net: add per-peer inv_to_send sizes 88b0647f02 wallet: Always write last hardened cache flag in migrated wallets 8a08eef645 tests: Check that the last hardened cache upgrade occurs 0802398e74 fuzz: make it possible to mock (fuzz) CThreadInterrupt 6d9e5d130d fuzz: add CConnman::SocketHandler() to the tests 3265df63a4 fuzz: add CConnman::InitBinds() to the tests 91cbf4dbd8 fuzz: add CConnman::CreateNodeFromAcceptedSocket() to the tests 50da7432ec fuzz: add CConnman::OpenNetworkConnection() to the tests e6a917c8f8 fuzz: add Fuzzed NetEventsInterface and use it in connman tests e883b37768 fuzz: set the output argument of FuzzedSock::Accept() b81f37031c p2p: Increase tx relay rate REVERT: 64d1449ff4 kernel: Fix bitcoin-chainstate for windows REVERT: ba247a6a71 kernel: Add Purpose section to header documentation REVERT: b0697ccbf7 kernel: Allowing reducing exports REVERT: 9d23c437bf kernel: Add pure kernel bitcoin-chainstate REVERT: 10e8e06caf Kernel: Add functions for working with outpoints REVERT: ae64f8984d kernel: Add functions to get the block hash from a block REVERT: 2c2f277d12 kernel: Add block hash type and block tree utility functions to C header REVERT: 6062e2eeca kernel: Add function to read block undo data from disk to C header REVERT: e96af0baf5 kernel: Add functions to read block from disk to C header REVERT: 60e1515586 kernel: Add function for copying block data to C header REVERT: 7b105b7d02 kernel: Add functions for the block validation state to C header REVERT: 1a58dbb815 kernel: Add validation interface to C header REVERT: 86ed87d5a6 kernel: Add interrupt function to C header REVERT: e424c45546 kernel: Add import blocks function to C header REVERT: cf7b562f2e kernel: Add chainstate load options for in-memory dbs in C header REVERT: e26a198acf kernel: Add options for reindexing in C header REVERT: 4196583e03 kernel: Add block validation to C header REVERT: a7149076e2 kernel: Add chainstate loading when instantiating a ChainstateManager REVERT: d36b447e6c kernel: Add chainstate manager option for setting worker threads REVERT: d4e612af67 kernel: Add chainstate manager object to C header REVERT: f19c807674 kernel: Add notifications context option to C header REVERT: cc0043d99b kernel: Add chain params context option to C header REVERT: 8b3ceea4f1 kernel: Add kernel library context object REVERT: 039e222756 kernel: Add logging to kernel library C header REVERT: d192006d7f kernel: Introduce initial kernel C header API git-subtree-dir: libbitcoinkernel-sys/bitcoin git-subtree-split: a8d09748e2e8b864ee6c2049426542d012c479bb
2f6d5637d8c kernel: Fix bitcoin-chainstate for windows 993bacaf056 kernel: Add Purpose section to header documentation e792dadf643 kernel: Allowing reducing exports 6cad4226aac kernel: Add pure kernel bitcoin-chainstate 41b69c4fe68 Kernel: Add functions for working with outpoints 014a5851803 kernel: Add block hash type and block tree utility functions to C header 61ef84fdfc3 kernel: Add function to read block undo data from disk to C header 86333bea808 kernel: Add functions to read block from disk to C header f654d091b03 kernel: Add function for copying block data to C header 045cf8c026f kernel: Add functions for the block validation state to C header 823fb620462 kernel: Add validation interface to C header b6a7894005d kernel: Add interrupt function to C header ed612cb523f kernel: Add import blocks function to C header a630177e29f kernel: Add chainstate load options for in-memory dbs in C header 13c9738191c kernel: Add options for reindexing in C header 1a52e3d27f6 kernel: Add block validation to C header f2f088f7be2 kernel: Add chainstate loading when instantiating a ChainstateManager 0677fa7a702 kernel: Add chainstate manager option for setting worker threads 31782cd761f kernel: Add chainstate manager object to C header a70b4f0cd80 kernel: Add notifications context option to C header 680dad14965 kernel: Add chain params context option to C header fe1438d6f63 kernel: Add kernel library context object 2c686196e70 kernel: Add logging to kernel library C header 16613837485 kernel: Introduce initial kernel C header API b510893d007 Merge bitcoin/bitcoin#33494: depends: Update URL for `qrencode` package source tarball ec5841888de Merge bitcoin/bitcoin#32513: ci: remove 3rd party js from windows dll gha job d735e2e9b39 Merge bitcoin/bitcoin#32998: Bump SCRIPT_VERIFY flags to 64 bit de1dc6b47ba Merge bitcoin/bitcoin#33515: Improve LastCommonAncestor performance + add tests 919e6d01e93 Merge bitcoin/bitcoin#33489: build: Drop support for EOL macOS 13 452ea592811 Merge bitcoin/bitcoin#33454: net: support overriding the proxy selection in ConnectNode() a33bd767a37 Merge bitcoin/bitcoin#33464: p2p: Use network-dependent timers for inbound inv scheduling 2578da69f41 Merge bitcoin/bitcoin#33485: test: set par=2 in default config for functional test framework 25dbe4bc86d Merge bitcoin/bitcoin#33533: test: addrman: check isTerrible when time is more than 10min in the future cfb0d74698a Merge bitcoin/bitcoin#33121: test: fix p2p_leak_tx.py 86eaa4d6cd5 Merge bitcoin/bitcoin#33482: contrib: fix macOS deployment with no translations 007900ee9b8 Merge bitcoin/bitcoin#33434: depends: static libxcb-cursor 8e47ed6906d test: addrman: check isTerrible when time is more than 10min in the future 3635d62f5a9 chain: make use of pskip in LastCommonAncestor (optimization) 2e09d66fbb7 tests: add unit tests for CBlockIndex::GetAncestor and LastCommonAncestor 156927903d6 ci: Check windows manifests for all executables e1a1b14c935 ci: use a more generic way of finding mt.exe 1ed00a0d39d Merge bitcoin/bitcoin#33504: Mempool: Do not enforce TRUC checks on reorg c76de2eea18 net: support overriding the proxy selection in ConnectNode() 75353a01635 Merge bitcoin/bitcoin#32326: net: improve the interface around FindNode() and avoid a recursive mutex lock 87e7f37918d doc: clarify peer address in getpeerinfo and addnode RPC help 2a4450ccbbe net: change FindNode() to not return a node and rename it 4268abae1a1 net: avoid recursive m_nodes_mutex lock in DisconnectNode() acc7f2a433b Merge bitcoin/bitcoin#33401: ci: Remove bash -c from cmake invocation using eval 1aaaaa078bb fuzz: Drop unused workaround after Apple-Clang bump fadad7a4947 Drop support for EOL macOS 13 50194029e7c ci: Remove bash -c from cmake invocation using eval f41f97240c0 Merge bitcoin/bitcoin#28584: Fuzz: extend CConnman tests cc4a2cc6bdc Merge bitcoin/bitcoin#33453: docs: Undeprecate datacarrier and datacarriersize configuration options 7502d4e9403 Merge bitcoin/bitcoin#33260: test: Use extra_port() helper in feature_bind_extra.py 14ae71f323d test: make notfound_on_unannounced more reliable 99bc552980d test: fix (w)txid confusion in p2p_leak_tx.py 576dd97cb91 test: increase timeout in p2p_leak_tx.py 8f73d952214 Merge bitcoin/bitcoin#33299: wallet: reduce unconditional logging during load 0f7d4ee4e82 p2p: Use different inbound inv timer per network 93a70a42d30 depends: Update URL for `qrencode` package source tarball 6de80512632 depends: Use hash instead of file name for package download stamp 46135d90ea9 depends: Drop redundant check for downloaded file 771978952a9 depends: Fix `$(package)_fetched` target 25212dfdb4c Merge bitcoin/bitcoin#33487: ci: use latest versions of lint deps 06df14ba75b test: add more TRUC reorg coverge 26e71c237d9 Mempool: Do not enforce TRUC checks on reorg bbe8e9063c1 fuzz: don't bypass_limits for most mempool harnesses d4f47f97715 ci: use latest versions of lint deps fc861332b35 wallet, log: reduce unconditional logging during load 3a4d1a25cf9 net: merge AlreadyConnectedToAddress() and FindNode(CNetAddr) d8fe258cd61 Merge bitcoin/bitcoin#33484: doc: rpc: fix case typo in `finalizepsbt` help (final_scriptwitness) dda5228e02c test: set par=2 in default config for functional test framework ff05bebcc42 doc: rpc: fix case typo in `finalizepsbt` help (final_scriptwitness) 200150beba6 Merge bitcoin/bitcoin#33313: test/refactor: use test deque to avoid quadratic iteration 7e08445449f Merge bitcoin/bitcoin#33399: key: use static context for libsecp256k1 calls where applicable 7b5261f7ef3 contrib: fix using macdploy script without translations. 65e909dfdd9 Merge bitcoin/bitcoin#33430: rpc: addpeeraddress: throw on invalid IP 31b29f8eb62 Merge bitcoin/bitcoin#33229: multiprocess: Don't require bitcoin -m argument when IPC options are used e62e0a12b33 Merge bitcoin/bitcoin#33230: cli: Handle arguments that can be either JSON or string 7ae0497eef8 ci: remove 3rd party js from windows dll gha job 05d984b1a4f Merge bitcoin/bitcoin#33475: bugfix: miner: fix `addPackageTxs` unsigned integer overflow b807dfcdc59 miner: fix `addPackageTxs` unsigned integer overflow d41b503ae12 Merge bitcoin/bitcoin#33446: rpc: fix getblock(header) returns target for tip 5ae8edbc304 Merge bitcoin/bitcoin#33158: macdeploy: avoid use of `Bitcoin Core` in Linux cross build df67bb6fd84 test: Remove convert_to_json_for_cli 44a493e150a cli: Allow arguments to be both strings and json ad4a49090da Merge bitcoin/bitcoin#33408: msvc: Update vcpkg manifest dd61f08fd52 Merge bitcoin/bitcoin#33031: wallet: Set descriptor cache upgraded flag for migrated wallets 350692e561c Merge bitcoin/bitcoin#33388: test: don't throw from the destructor of DebugLogHelper 94db966a3bb net: use generic network key for addrcache eca50854e1c depends: static libxcb_cursor 89144eb473c Merge bitcoin/bitcoin#33448: net/rpc: Report inv information for debugging eaa1a3cd0b3 Merge bitcoin/bitcoin#33425: ci: remove Clang build from msan fuzz job b77137a5644 ci: link against -lstdc++ in native fuzz with msan job a86e1a6e32d Merge bitcoin/bitcoin#33427: rpc: Always return per-wtxid entries in submitpackage tx-results 6861dadfcb1 Merge bitcoin/bitcoin#33459: doc: remove unrelated `bitcoin-wallet` binary from `libbitcoin_ipc` description 3b3ab3a50a0 Merge bitcoin/bitcoin#33302: ci: disable cirrus cache in 32bit arm job 2738b63e025 test: validate behaviour of getpeerinfo last_inv_sequence and inv_to_send fbde8d9a81d doc: remove unrelated `bitcoin-wallet` binary from `libbitcoin_ipc` description 34fefb63358 Merge bitcoin/bitcoin#33435: system: improve handling around GetTotalRAM() 56791b58295 test: split out `system_ram_tests` to signal when total ram cannot be determined 337a6e73861 system: improve handling around GetTotalRAM() 451ba9ada41 datacarrier: Undeprecate configuration option 77b2ebb8118 rpc/net: report per-peer last_inv_sequence bf7996cbc3b rpc: fix getblock(header) returns target for tip 4c3c1f42cf7 test: add block 2016 to mock mainnet 953544d0286 Merge bitcoin/bitcoin#33429: fuzz: reduce iterations in slow targets df101c97c26 Merge bitcoin/bitcoin#33422: build: Remove lingering Windows registry & shortcuts (#32132 follow-up) 56c6daa64f6 Merge bitcoin/bitcoin#28592: p2p: Increase tx relay rate 79752b9c0b6 build(windows): Remove lingering registry entries and shortcuts upon install cad9a7fd737 rpc: Always return per-wtxid entries in submitpackage tx-results 6a33970fef1 fuzz: Reduce iterations in slow targets edb871cba22 Merge bitcoin/bitcoin#33412: Update libmultiprocess subtree to fix intermittent mptest hang 2427939935f test: forbid copying of DebugLogHelper d6aa266d432 test: don't throw from the destructor of DebugLogHelper eaf2c464758 Merge bitcoin/bitcoin#33378: Remove unnecessary casts when calling socket operations 5aec516b2ce Merge bitcoin/bitcoin#33333: coins: warn on oversized `-dbcache` 316a0c51327 rpc: addpeeraddress: throw on invalid IP 74fa028da1e Merge bitcoin/bitcoin#33420: test: Avoid interface_ipc.py Duplicate ID errors 168360f4ae4 coins: warn on oversized -dbcache 6c720459bee system: add helper for fetching total system memory e9c52272ebd test: Avoid interface_ipc.py Duplicate ID errors c49a43591f8 Merge commit '535fa0ad0d2637f845beae92ea9dbbbbbe377c74' into pr/subtree-5 535fa0ad0d2 Squashed 'src/ipc/libmultiprocess/' changes from 13424cf2ecc1..47d79db8a552 453b0fa286e bitcoin: Make wrapper not require -m 1444ed855f4 Merge bitcoin/bitcoin#33407: cmake: Install `bitcoin` manpage 29e836fae66 test: add tool_bitcoin to test bitcoin wrapper behavior 0972f550402 init: add exe name to bitcoind, bitcoin-node -version output to be able to distinguish these in tests 2b0cd1f3fb2 Merge bitcoin/bitcoin#33395: net: do not apply whitelist permissions to onion inbounds ef20c2d11d9 build, msvc: Update vcpkg manifest baseline 1ff9e929489 key: use static context for libsecp256k1 calls where applicable f563ce90818 net: Do not apply whitelist permission to onion inbounds 947bed28fe6 Merge bitcoin/bitcoin#33380: test: Add submitblock test in interface_ipc 7584a4fda95 cmake: Install `bitcoin` manpage 67f632b6deb net: remove unnecessary casts in socket operations c4adfbf7062 Merge bitcoin/bitcoin#33373: depends: systemtap 5.3 5aa3d3135d2 Merge bitcoin/bitcoin#33391: test: Prevent disk space warning during node_init_tests bdf01c6f612 test: Prevent disk space warning during node_init_tests 0a26731c4cc test: Add submitblock test in interface_ipc 2d6a0c46491 Merge bitcoin/bitcoin#33379: cmake: Fix regression in `secp256k1.cmake` 9193c3e4340 cmake: Fix regression in `secp256k1.cmake` 28efd724b47 depends: systemtap 5.3 75e6984ec8c test/refactor: use test deque to avoid quadratic iteration 652424ad162 test: additional test coverage for script_verify_flags 00c253d4941 ci: disable cirrus cache in 32bit arm job ff18b6bbaf3 ci: refactor docker action to return provider str 8e434a84999 macdeploy: rename macOS output to bitcoin-macos-app.zip 05353d9cf08 macdeploy: combine appname & -zip arguments fabc2615af2 test: Use extra_port() helper in feature_bind_extra.py 417437eb01a script/verify_flags: extend script_verify_flags to 64 bits 3cbbcb66efc script/interpreter: make script_verify_flag_name an ordinary enum bddcadee82d script/verify_flags: make script_verify_flags type safe a5ead122fe0 script/interpreter: introduce script_verify_flags typename 4577fb2b1e0 rpc: have getdeploymentinfo report script verify flags a3986935f07 validation: export GetBlockScriptFlags() 5db8cd2d37e Move mapFlagNames and FormatScriptFlags logic to script/interpreter.h adefb51c543 rpc/net: add per-peer inv_to_send sizes 88b0647f027 wallet: Always write last hardened cache flag in migrated wallets 8a08eef645e tests: Check that the last hardened cache upgrade occurs 0802398e749 fuzz: make it possible to mock (fuzz) CThreadInterrupt 6d9e5d130d2 fuzz: add CConnman::SocketHandler() to the tests 3265df63a48 fuzz: add CConnman::InitBinds() to the tests 91cbf4dbd86 fuzz: add CConnman::CreateNodeFromAcceptedSocket() to the tests 50da7432ec1 fuzz: add CConnman::OpenNetworkConnection() to the tests e6a917c8f8e fuzz: add Fuzzed NetEventsInterface and use it in connman tests e883b377688 fuzz: set the output argument of FuzzedSock::Accept() b81f37031c8 p2p: Increase tx relay rate REVERT: 64d1449ff47 kernel: Fix bitcoin-chainstate for windows REVERT: ba247a6a718 kernel: Add Purpose section to header documentation REVERT: b0697ccbf7f kernel: Allowing reducing exports REVERT: 9d23c437bfc kernel: Add pure kernel bitcoin-chainstate REVERT: 10e8e06caf1 Kernel: Add functions for working with outpoints REVERT: ae64f8984d9 kernel: Add functions to get the block hash from a block REVERT: 2c2f277d12f kernel: Add block hash type and block tree utility functions to C header REVERT: 6062e2eeca3 kernel: Add function to read block undo data from disk to C header REVERT: e96af0baf5e kernel: Add functions to read block from disk to C header REVERT: 60e1515586a kernel: Add function for copying block data to C header REVERT: 7b105b7d02a kernel: Add functions for the block validation state to C header REVERT: 1a58dbb8158 kernel: Add validation interface to C header REVERT: 86ed87d5a6c kernel: Add interrupt function to C header REVERT: e424c455465 kernel: Add import blocks function to C header REVERT: cf7b562f2e3 kernel: Add chainstate load options for in-memory dbs in C header REVERT: e26a198acfb kernel: Add options for reindexing in C header REVERT: 4196583e03d kernel: Add block validation to C header REVERT: a7149076e23 kernel: Add chainstate loading when instantiating a ChainstateManager REVERT: d36b447e6ca kernel: Add chainstate manager option for setting worker threads REVERT: d4e612af670 kernel: Add chainstate manager object to C header REVERT: f19c8076746 kernel: Add notifications context option to C header REVERT: cc0043d99b6 kernel: Add chain params context option to C header REVERT: 8b3ceea4f1d kernel: Add kernel library context object REVERT: 039e222756e kernel: Add logging to kernel library C header REVERT: d192006d7f4 kernel: Introduce initial kernel C header API git-subtree-dir: bitcoinkernel/bitcoin git-subtree-split: 2f6d5637d8cd1dc1a1444e31fdfb2dfb13152500
…3262e9ee5 0a3262e9ee5 Add sans utxo set block validation 965c0a099b1 block header 6ee488a911d kernel: Fix bitcoin-chainstate for windows f3cdc1d0683 kernel: Add Purpose section to header documentation e12e49cd9f1 kernel: Allowing reducing exports d12156dc932 kernel: Add pure kernel bitcoin-chainstate 6073d024833 Kernel: Add functions for working with outpoints 1cf094c3d21 kernel: Add block hash type and block tree utility functions to C header 6d78409470c kernel: Add function to read block undo data from disk to C header 3a97c00c393 kernel: Add functions to read block from disk to C header c7d52b5d854 kernel: Add function for copying block data to C header 01406a79391 kernel: Add functions for the block validation state to C header 1a4b0f99b3a kernel: Add validation interface to C header b784e3dece5 kernel: Add interrupt function to C header 1b48bf08dad kernel: Add import blocks function to C header c261da1804f kernel: Add chainstate load options for in-memory dbs in C header 898d063f115 kernel: Add options for reindexing in C header 3f4ecce1781 kernel: Add block validation to C header 97caa08c3b6 kernel: Add chainstate loading when instantiating a ChainstateManager b94bea81015 kernel: Add chainstate manager option for setting worker threads eaf6829898a kernel: Add chainstate manager object to C header 15e4a3f26de kernel: Add notifications context option to C header a4cd536a8e9 kernel: Add chain params context option to C header d7387a5b670 kernel: Add kernel library context object 5e2d066fe86 kernel: Add logging to kernel library C header f34e2a470df kernel: Introduce initial kernel C header API 9ce01e051ba doc: Add docstrings for ConnectBlock and SpendBlock d7e812db1d3 validation: Move coin existence and spend check to SpendBlock cf3b9c77b9c validation: Move SetBestBlock out of ConnectBlock ee0c36f0b54 validation: Add SpendBlock function 78a3397898a validation: Use vector of outputs instead of CCoinsViewCache in CheckInputScripts 4d2a58f3f1a consensus: Use Coin span in CheckTxInputs 0d4274d9bdd consensus: Use Coin span in GetTransactionSigOpCost 4a3d86c6fc5 consensus: Use Coin span in GetP2SHSigOpCount b510893d007 Merge bitcoin/bitcoin#33494: depends: Update URL for `qrencode` package source tarball ec5841888de Merge bitcoin/bitcoin#32513: ci: remove 3rd party js from windows dll gha job d735e2e9b39 Merge bitcoin/bitcoin#32998: Bump SCRIPT_VERIFY flags to 64 bit de1dc6b47ba Merge bitcoin/bitcoin#33515: Improve LastCommonAncestor performance + add tests 919e6d01e93 Merge bitcoin/bitcoin#33489: build: Drop support for EOL macOS 13 452ea592811 Merge bitcoin/bitcoin#33454: net: support overriding the proxy selection in ConnectNode() a33bd767a37 Merge bitcoin/bitcoin#33464: p2p: Use network-dependent timers for inbound inv scheduling 2578da69f41 Merge bitcoin/bitcoin#33485: test: set par=2 in default config for functional test framework 25dbe4bc86d Merge bitcoin/bitcoin#33533: test: addrman: check isTerrible when time is more than 10min in the future cfb0d74698a Merge bitcoin/bitcoin#33121: test: fix p2p_leak_tx.py 86eaa4d6cd5 Merge bitcoin/bitcoin#33482: contrib: fix macOS deployment with no translations 007900ee9b8 Merge bitcoin/bitcoin#33434: depends: static libxcb-cursor 8e47ed6906d test: addrman: check isTerrible when time is more than 10min in the future 3635d62f5a9 chain: make use of pskip in LastCommonAncestor (optimization) 2e09d66fbb7 tests: add unit tests for CBlockIndex::GetAncestor and LastCommonAncestor 156927903d6 ci: Check windows manifests for all executables e1a1b14c935 ci: use a more generic way of finding mt.exe 1ed00a0d39d Merge bitcoin/bitcoin#33504: Mempool: Do not enforce TRUC checks on reorg c76de2eea18 net: support overriding the proxy selection in ConnectNode() 75353a01635 Merge bitcoin/bitcoin#32326: net: improve the interface around FindNode() and avoid a recursive mutex lock 87e7f37918d doc: clarify peer address in getpeerinfo and addnode RPC help 2a4450ccbbe net: change FindNode() to not return a node and rename it 4268abae1a1 net: avoid recursive m_nodes_mutex lock in DisconnectNode() acc7f2a433b Merge bitcoin/bitcoin#33401: ci: Remove bash -c from cmake invocation using eval 1aaaaa078bb fuzz: Drop unused workaround after Apple-Clang bump fadad7a4947 Drop support for EOL macOS 13 50194029e7c ci: Remove bash -c from cmake invocation using eval f41f97240c0 Merge bitcoin/bitcoin#28584: Fuzz: extend CConnman tests cc4a2cc6bdc Merge bitcoin/bitcoin#33453: docs: Undeprecate datacarrier and datacarriersize configuration options 7502d4e9403 Merge bitcoin/bitcoin#33260: test: Use extra_port() helper in feature_bind_extra.py 14ae71f323d test: make notfound_on_unannounced more reliable 99bc552980d test: fix (w)txid confusion in p2p_leak_tx.py 576dd97cb91 test: increase timeout in p2p_leak_tx.py 8f73d952214 Merge bitcoin/bitcoin#33299: wallet: reduce unconditional logging during load 0f7d4ee4e82 p2p: Use different inbound inv timer per network 93a70a42d30 depends: Update URL for `qrencode` package source tarball 6de80512632 depends: Use hash instead of file name for package download stamp 46135d90ea9 depends: Drop redundant check for downloaded file 771978952a9 depends: Fix `$(package)_fetched` target 25212dfdb4c Merge bitcoin/bitcoin#33487: ci: use latest versions of lint deps 06df14ba75b test: add more TRUC reorg coverge 26e71c237d9 Mempool: Do not enforce TRUC checks on reorg bbe8e9063c1 fuzz: don't bypass_limits for most mempool harnesses d4f47f97715 ci: use latest versions of lint deps fc861332b35 wallet, log: reduce unconditional logging during load 3a4d1a25cf9 net: merge AlreadyConnectedToAddress() and FindNode(CNetAddr) d8fe258cd61 Merge bitcoin/bitcoin#33484: doc: rpc: fix case typo in `finalizepsbt` help (final_scriptwitness) dda5228e02c test: set par=2 in default config for functional test framework ff05bebcc42 doc: rpc: fix case typo in `finalizepsbt` help (final_scriptwitness) 200150beba6 Merge bitcoin/bitcoin#33313: test/refactor: use test deque to avoid quadratic iteration 7e08445449f Merge bitcoin/bitcoin#33399: key: use static context for libsecp256k1 calls where applicable 7b5261f7ef3 contrib: fix using macdploy script without translations. 65e909dfdd9 Merge bitcoin/bitcoin#33430: rpc: addpeeraddress: throw on invalid IP 31b29f8eb62 Merge bitcoin/bitcoin#33229: multiprocess: Don't require bitcoin -m argument when IPC options are used e62e0a12b33 Merge bitcoin/bitcoin#33230: cli: Handle arguments that can be either JSON or string 7ae0497eef8 ci: remove 3rd party js from windows dll gha job 05d984b1a4f Merge bitcoin/bitcoin#33475: bugfix: miner: fix `addPackageTxs` unsigned integer overflow b807dfcdc59 miner: fix `addPackageTxs` unsigned integer overflow d41b503ae12 Merge bitcoin/bitcoin#33446: rpc: fix getblock(header) returns target for tip 5ae8edbc304 Merge bitcoin/bitcoin#33158: macdeploy: avoid use of `Bitcoin Core` in Linux cross build df67bb6fd84 test: Remove convert_to_json_for_cli 44a493e150a cli: Allow arguments to be both strings and json ad4a49090da Merge bitcoin/bitcoin#33408: msvc: Update vcpkg manifest dd61f08fd52 Merge bitcoin/bitcoin#33031: wallet: Set descriptor cache upgraded flag for migrated wallets 350692e561c Merge bitcoin/bitcoin#33388: test: don't throw from the destructor of DebugLogHelper 94db966a3bb net: use generic network key for addrcache eca50854e1c depends: static libxcb_cursor 89144eb473c Merge bitcoin/bitcoin#33448: net/rpc: Report inv information for debugging eaa1a3cd0b3 Merge bitcoin/bitcoin#33425: ci: remove Clang build from msan fuzz job b77137a5644 ci: link against -lstdc++ in native fuzz with msan job a86e1a6e32d Merge bitcoin/bitcoin#33427: rpc: Always return per-wtxid entries in submitpackage tx-results 6861dadfcb1 Merge bitcoin/bitcoin#33459: doc: remove unrelated `bitcoin-wallet` binary from `libbitcoin_ipc` description 3b3ab3a50a0 Merge bitcoin/bitcoin#33302: ci: disable cirrus cache in 32bit arm job 2738b63e025 test: validate behaviour of getpeerinfo last_inv_sequence and inv_to_send fbde8d9a81d doc: remove unrelated `bitcoin-wallet` binary from `libbitcoin_ipc` description 34fefb63358 Merge bitcoin/bitcoin#33435: system: improve handling around GetTotalRAM() 56791b58295 test: split out `system_ram_tests` to signal when total ram cannot be determined 337a6e73861 system: improve handling around GetTotalRAM() 451ba9ada41 datacarrier: Undeprecate configuration option 77b2ebb8118 rpc/net: report per-peer last_inv_sequence bf7996cbc3b rpc: fix getblock(header) returns target for tip 4c3c1f42cf7 test: add block 2016 to mock mainnet 953544d0286 Merge bitcoin/bitcoin#33429: fuzz: reduce iterations in slow targets df101c97c26 Merge bitcoin/bitcoin#33422: build: Remove lingering Windows registry & shortcuts (#32132 follow-up) 56c6daa64f6 Merge bitcoin/bitcoin#28592: p2p: Increase tx relay rate 79752b9c0b6 build(windows): Remove lingering registry entries and shortcuts upon install cad9a7fd737 rpc: Always return per-wtxid entries in submitpackage tx-results 6a33970fef1 fuzz: Reduce iterations in slow targets edb871cba22 Merge bitcoin/bitcoin#33412: Update libmultiprocess subtree to fix intermittent mptest hang 2427939935f test: forbid copying of DebugLogHelper d6aa266d432 test: don't throw from the destructor of DebugLogHelper eaf2c464758 Merge bitcoin/bitcoin#33378: Remove unnecessary casts when calling socket operations 5aec516b2ce Merge bitcoin/bitcoin#33333: coins: warn on oversized `-dbcache` 316a0c51327 rpc: addpeeraddress: throw on invalid IP 74fa028da1e Merge bitcoin/bitcoin#33420: test: Avoid interface_ipc.py Duplicate ID errors 168360f4ae4 coins: warn on oversized -dbcache 6c720459bee system: add helper for fetching total system memory e9c52272ebd test: Avoid interface_ipc.py Duplicate ID errors c49a43591f8 Merge commit '535fa0ad0d2637f845beae92ea9dbbbbbe377c74' into pr/subtree-5 535fa0ad0d2 Squashed 'src/ipc/libmultiprocess/' changes from 13424cf2ecc1..47d79db8a552 453b0fa286e bitcoin: Make wrapper not require -m 1444ed855f4 Merge bitcoin/bitcoin#33407: cmake: Install `bitcoin` manpage 29e836fae66 test: add tool_bitcoin to test bitcoin wrapper behavior 0972f550402 init: add exe name to bitcoind, bitcoin-node -version output to be able to distinguish these in tests 2b0cd1f3fb2 Merge bitcoin/bitcoin#33395: net: do not apply whitelist permissions to onion inbounds ef20c2d11d9 build, msvc: Update vcpkg manifest baseline 1ff9e929489 key: use static context for libsecp256k1 calls where applicable f563ce90818 net: Do not apply whitelist permission to onion inbounds 947bed28fe6 Merge bitcoin/bitcoin#33380: test: Add submitblock test in interface_ipc 7584a4fda95 cmake: Install `bitcoin` manpage 67f632b6deb net: remove unnecessary casts in socket operations c4adfbf7062 Merge bitcoin/bitcoin#33373: depends: systemtap 5.3 5aa3d3135d2 Merge bitcoin/bitcoin#33391: test: Prevent disk space warning during node_init_tests bdf01c6f612 test: Prevent disk space warning during node_init_tests 0a26731c4cc test: Add submitblock test in interface_ipc 2d6a0c46491 Merge bitcoin/bitcoin#33379: cmake: Fix regression in `secp256k1.cmake` 9193c3e4340 cmake: Fix regression in `secp256k1.cmake` 28efd724b47 depends: systemtap 5.3 75e6984ec8c test/refactor: use test deque to avoid quadratic iteration 652424ad162 test: additional test coverage for script_verify_flags 00c253d4941 ci: disable cirrus cache in 32bit arm job ff18b6bbaf3 ci: refactor docker action to return provider str 8e434a84999 macdeploy: rename macOS output to bitcoin-macos-app.zip 05353d9cf08 macdeploy: combine appname & -zip arguments fabc2615af2 test: Use extra_port() helper in feature_bind_extra.py 417437eb01a script/verify_flags: extend script_verify_flags to 64 bits 3cbbcb66efc script/interpreter: make script_verify_flag_name an ordinary enum bddcadee82d script/verify_flags: make script_verify_flags type safe a5ead122fe0 script/interpreter: introduce script_verify_flags typename 4577fb2b1e0 rpc: have getdeploymentinfo report script verify flags a3986935f07 validation: export GetBlockScriptFlags() 5db8cd2d37e Move mapFlagNames and FormatScriptFlags logic to script/interpreter.h adefb51c543 rpc/net: add per-peer inv_to_send sizes 88b0647f027 wallet: Always write last hardened cache flag in migrated wallets 8a08eef645e tests: Check that the last hardened cache upgrade occurs 0802398e749 fuzz: make it possible to mock (fuzz) CThreadInterrupt 6d9e5d130d2 fuzz: add CConnman::SocketHandler() to the tests 3265df63a48 fuzz: add CConnman::InitBinds() to the tests 91cbf4dbd86 fuzz: add CConnman::CreateNodeFromAcceptedSocket() to the tests 50da7432ec1 fuzz: add CConnman::OpenNetworkConnection() to the tests e6a917c8f8e fuzz: add Fuzzed NetEventsInterface and use it in connman tests e883b377688 fuzz: set the output argument of FuzzedSock::Accept() b81f37031c8 p2p: Increase tx relay rate REVERT: 64d1449ff47 kernel: Fix bitcoin-chainstate for windows REVERT: ba247a6a718 kernel: Add Purpose section to header documentation REVERT: b0697ccbf7f kernel: Allowing reducing exports REVERT: 9d23c437bfc kernel: Add pure kernel bitcoin-chainstate REVERT: 10e8e06caf1 Kernel: Add functions for working with outpoints REVERT: ae64f8984d9 kernel: Add functions to get the block hash from a block REVERT: 2c2f277d12f kernel: Add block hash type and block tree utility functions to C header REVERT: 6062e2eeca3 kernel: Add function to read block undo data from disk to C header REVERT: e96af0baf5e kernel: Add functions to read block from disk to C header REVERT: 60e1515586a kernel: Add function for copying block data to C header REVERT: 7b105b7d02a kernel: Add functions for the block validation state to C header REVERT: 1a58dbb8158 kernel: Add validation interface to C header REVERT: 86ed87d5a6c kernel: Add interrupt function to C header REVERT: e424c455465 kernel: Add import blocks function to C header REVERT: cf7b562f2e3 kernel: Add chainstate load options for in-memory dbs in C header REVERT: e26a198acfb kernel: Add options for reindexing in C header REVERT: 4196583e03d kernel: Add block validation to C header REVERT: a7149076e23 kernel: Add chainstate loading when instantiating a ChainstateManager REVERT: d36b447e6ca kernel: Add chainstate manager option for setting worker threads REVERT: d4e612af670 kernel: Add chainstate manager object to C header REVERT: f19c8076746 kernel: Add notifications context option to C header REVERT: cc0043d99b6 kernel: Add chain params context option to C header REVERT: 8b3ceea4f1d kernel: Add kernel library context object REVERT: 039e222756e kernel: Add logging to kernel library C header REVERT: d192006d7f4 kernel: Introduce initial kernel C header API git-subtree-dir: libbitcoinkernel-sys/bitcoin git-subtree-split: 0a3262e9ee55640122dd0a2bc8a08f94e8f7133b
…cec737e68 81cec737e68 kernel: Fix bitcoin-chainstate for windows 1826c485ddc kernel: Add Purpose section to header documentation d7e618aa981 kernel: Allowing reducing exports fb7f5241331 kernel: Add pure kernel bitcoin-chainstate dd0bdf279ef Kernel: Add functions for working with outpoints eaa6abfc733 kernel: Add block hash type and block tree utility functions to C header 824ddf2885a kernel: Add function to read block undo data from disk to C header 76cab0768b1 kernel: Add functions to read block from disk to C header e41f6f459a2 kernel: Add function for copying block data to C header 39c647647a2 kernel: Add functions for the block validation state to C header 8a19a9d6070 kernel: Add validation interface to C header 38a990dd482 kernel: Add interrupt function to C header fee8f6ff38b kernel: Add import blocks function to C header c29a6b87ccd kernel: Add chainstate load options for in-memory dbs in C header e788b3ba065 kernel: Add options for reindexing in C header 2707fc515c5 kernel: Add block validation to C header 51a24c4004e kernel: Add chainstate loading when instantiating a ChainstateManager ea01a8caf35 kernel: Add chainstate manager option for setting worker threads add5904e0ac kernel: Add chainstate manager object to C header 37a3395d271 kernel: Add notifications context option to C header d838a934be0 kernel: Add chain params context option to C header dc58ae9fc04 kernel: Add kernel library context object 77449975962 kernel: Add logging to kernel library C header dc504f57b3b kernel: Introduce initial kernel C header API b510893d007 Merge bitcoin/bitcoin#33494: depends: Update URL for `qrencode` package source tarball ec5841888de Merge bitcoin/bitcoin#32513: ci: remove 3rd party js from windows dll gha job d735e2e9b39 Merge bitcoin/bitcoin#32998: Bump SCRIPT_VERIFY flags to 64 bit de1dc6b47ba Merge bitcoin/bitcoin#33515: Improve LastCommonAncestor performance + add tests 919e6d01e93 Merge bitcoin/bitcoin#33489: build: Drop support for EOL macOS 13 452ea592811 Merge bitcoin/bitcoin#33454: net: support overriding the proxy selection in ConnectNode() a33bd767a37 Merge bitcoin/bitcoin#33464: p2p: Use network-dependent timers for inbound inv scheduling 2578da69f41 Merge bitcoin/bitcoin#33485: test: set par=2 in default config for functional test framework 25dbe4bc86d Merge bitcoin/bitcoin#33533: test: addrman: check isTerrible when time is more than 10min in the future cfb0d74698a Merge bitcoin/bitcoin#33121: test: fix p2p_leak_tx.py 86eaa4d6cd5 Merge bitcoin/bitcoin#33482: contrib: fix macOS deployment with no translations 007900ee9b8 Merge bitcoin/bitcoin#33434: depends: static libxcb-cursor 8e47ed6906d test: addrman: check isTerrible when time is more than 10min in the future 3635d62f5a9 chain: make use of pskip in LastCommonAncestor (optimization) 2e09d66fbb7 tests: add unit tests for CBlockIndex::GetAncestor and LastCommonAncestor 156927903d6 ci: Check windows manifests for all executables e1a1b14c935 ci: use a more generic way of finding mt.exe 1ed00a0d39d Merge bitcoin/bitcoin#33504: Mempool: Do not enforce TRUC checks on reorg c76de2eea18 net: support overriding the proxy selection in ConnectNode() 75353a01635 Merge bitcoin/bitcoin#32326: net: improve the interface around FindNode() and avoid a recursive mutex lock 87e7f37918d doc: clarify peer address in getpeerinfo and addnode RPC help 2a4450ccbbe net: change FindNode() to not return a node and rename it 4268abae1a1 net: avoid recursive m_nodes_mutex lock in DisconnectNode() acc7f2a433b Merge bitcoin/bitcoin#33401: ci: Remove bash -c from cmake invocation using eval 1aaaaa078bb fuzz: Drop unused workaround after Apple-Clang bump fadad7a4947 Drop support for EOL macOS 13 50194029e7c ci: Remove bash -c from cmake invocation using eval f41f97240c0 Merge bitcoin/bitcoin#28584: Fuzz: extend CConnman tests cc4a2cc6bdc Merge bitcoin/bitcoin#33453: docs: Undeprecate datacarrier and datacarriersize configuration options 7502d4e9403 Merge bitcoin/bitcoin#33260: test: Use extra_port() helper in feature_bind_extra.py 14ae71f323d test: make notfound_on_unannounced more reliable 99bc552980d test: fix (w)txid confusion in p2p_leak_tx.py 576dd97cb91 test: increase timeout in p2p_leak_tx.py 8f73d952214 Merge bitcoin/bitcoin#33299: wallet: reduce unconditional logging during load 0f7d4ee4e82 p2p: Use different inbound inv timer per network 93a70a42d30 depends: Update URL for `qrencode` package source tarball 6de80512632 depends: Use hash instead of file name for package download stamp 46135d90ea9 depends: Drop redundant check for downloaded file 771978952a9 depends: Fix `$(package)_fetched` target 25212dfdb4c Merge bitcoin/bitcoin#33487: ci: use latest versions of lint deps 06df14ba75b test: add more TRUC reorg coverge 26e71c237d9 Mempool: Do not enforce TRUC checks on reorg bbe8e9063c1 fuzz: don't bypass_limits for most mempool harnesses d4f47f97715 ci: use latest versions of lint deps fc861332b35 wallet, log: reduce unconditional logging during load 3a4d1a25cf9 net: merge AlreadyConnectedToAddress() and FindNode(CNetAddr) d8fe258cd61 Merge bitcoin/bitcoin#33484: doc: rpc: fix case typo in `finalizepsbt` help (final_scriptwitness) dda5228e02c test: set par=2 in default config for functional test framework ff05bebcc42 doc: rpc: fix case typo in `finalizepsbt` help (final_scriptwitness) 200150beba6 Merge bitcoin/bitcoin#33313: test/refactor: use test deque to avoid quadratic iteration 7e08445449f Merge bitcoin/bitcoin#33399: key: use static context for libsecp256k1 calls where applicable 7b5261f7ef3 contrib: fix using macdploy script without translations. 65e909dfdd9 Merge bitcoin/bitcoin#33430: rpc: addpeeraddress: throw on invalid IP 31b29f8eb62 Merge bitcoin/bitcoin#33229: multiprocess: Don't require bitcoin -m argument when IPC options are used e62e0a12b33 Merge bitcoin/bitcoin#33230: cli: Handle arguments that can be either JSON or string 7ae0497eef8 ci: remove 3rd party js from windows dll gha job 05d984b1a4f Merge bitcoin/bitcoin#33475: bugfix: miner: fix `addPackageTxs` unsigned integer overflow b807dfcdc59 miner: fix `addPackageTxs` unsigned integer overflow d41b503ae12 Merge bitcoin/bitcoin#33446: rpc: fix getblock(header) returns target for tip 5ae8edbc304 Merge bitcoin/bitcoin#33158: macdeploy: avoid use of `Bitcoin Core` in Linux cross build df67bb6fd84 test: Remove convert_to_json_for_cli 44a493e150a cli: Allow arguments to be both strings and json ad4a49090da Merge bitcoin/bitcoin#33408: msvc: Update vcpkg manifest dd61f08fd52 Merge bitcoin/bitcoin#33031: wallet: Set descriptor cache upgraded flag for migrated wallets 350692e561c Merge bitcoin/bitcoin#33388: test: don't throw from the destructor of DebugLogHelper 94db966a3bb net: use generic network key for addrcache eca50854e1c depends: static libxcb_cursor 89144eb473c Merge bitcoin/bitcoin#33448: net/rpc: Report inv information for debugging eaa1a3cd0b3 Merge bitcoin/bitcoin#33425: ci: remove Clang build from msan fuzz job b77137a5644 ci: link against -lstdc++ in native fuzz with msan job a86e1a6e32d Merge bitcoin/bitcoin#33427: rpc: Always return per-wtxid entries in submitpackage tx-results 6861dadfcb1 Merge bitcoin/bitcoin#33459: doc: remove unrelated `bitcoin-wallet` binary from `libbitcoin_ipc` description 3b3ab3a50a0 Merge bitcoin/bitcoin#33302: ci: disable cirrus cache in 32bit arm job 2738b63e025 test: validate behaviour of getpeerinfo last_inv_sequence and inv_to_send fbde8d9a81d doc: remove unrelated `bitcoin-wallet` binary from `libbitcoin_ipc` description 34fefb63358 Merge bitcoin/bitcoin#33435: system: improve handling around GetTotalRAM() 56791b58295 test: split out `system_ram_tests` to signal when total ram cannot be determined 337a6e73861 system: improve handling around GetTotalRAM() 451ba9ada41 datacarrier: Undeprecate configuration option 77b2ebb8118 rpc/net: report per-peer last_inv_sequence bf7996cbc3b rpc: fix getblock(header) returns target for tip 4c3c1f42cf7 test: add block 2016 to mock mainnet 953544d0286 Merge bitcoin/bitcoin#33429: fuzz: reduce iterations in slow targets df101c97c26 Merge bitcoin/bitcoin#33422: build: Remove lingering Windows registry & shortcuts (#32132 follow-up) 56c6daa64f6 Merge bitcoin/bitcoin#28592: p2p: Increase tx relay rate 79752b9c0b6 build(windows): Remove lingering registry entries and shortcuts upon install cad9a7fd737 rpc: Always return per-wtxid entries in submitpackage tx-results 6a33970fef1 fuzz: Reduce iterations in slow targets edb871cba22 Merge bitcoin/bitcoin#33412: Update libmultiprocess subtree to fix intermittent mptest hang 2427939935f test: forbid copying of DebugLogHelper d6aa266d432 test: don't throw from the destructor of DebugLogHelper eaf2c464758 Merge bitcoin/bitcoin#33378: Remove unnecessary casts when calling socket operations 5aec516b2ce Merge bitcoin/bitcoin#33333: coins: warn on oversized `-dbcache` 316a0c51327 rpc: addpeeraddress: throw on invalid IP 74fa028da1e Merge bitcoin/bitcoin#33420: test: Avoid interface_ipc.py Duplicate ID errors 168360f4ae4 coins: warn on oversized -dbcache 6c720459bee system: add helper for fetching total system memory e9c52272ebd test: Avoid interface_ipc.py Duplicate ID errors c49a43591f8 Merge commit '535fa0ad0d2637f845beae92ea9dbbbbbe377c74' into pr/subtree-5 535fa0ad0d2 Squashed 'src/ipc/libmultiprocess/' changes from 13424cf2ecc1..47d79db8a552 453b0fa286e bitcoin: Make wrapper not require -m 1444ed855f4 Merge bitcoin/bitcoin#33407: cmake: Install `bitcoin` manpage 29e836fae66 test: add tool_bitcoin to test bitcoin wrapper behavior 0972f550402 init: add exe name to bitcoind, bitcoin-node -version output to be able to distinguish these in tests 2b0cd1f3fb2 Merge bitcoin/bitcoin#33395: net: do not apply whitelist permissions to onion inbounds ef20c2d11d9 build, msvc: Update vcpkg manifest baseline 1ff9e929489 key: use static context for libsecp256k1 calls where applicable f563ce90818 net: Do not apply whitelist permission to onion inbounds 947bed28fe6 Merge bitcoin/bitcoin#33380: test: Add submitblock test in interface_ipc 7584a4fda95 cmake: Install `bitcoin` manpage 67f632b6deb net: remove unnecessary casts in socket operations c4adfbf7062 Merge bitcoin/bitcoin#33373: depends: systemtap 5.3 5aa3d3135d2 Merge bitcoin/bitcoin#33391: test: Prevent disk space warning during node_init_tests bdf01c6f612 test: Prevent disk space warning during node_init_tests 0a26731c4cc test: Add submitblock test in interface_ipc 2d6a0c46491 Merge bitcoin/bitcoin#33379: cmake: Fix regression in `secp256k1.cmake` 9193c3e4340 cmake: Fix regression in `secp256k1.cmake` 28efd724b47 depends: systemtap 5.3 75e6984ec8c test/refactor: use test deque to avoid quadratic iteration 652424ad162 test: additional test coverage for script_verify_flags 00c253d4941 ci: disable cirrus cache in 32bit arm job ff18b6bbaf3 ci: refactor docker action to return provider str 8e434a84999 macdeploy: rename macOS output to bitcoin-macos-app.zip 05353d9cf08 macdeploy: combine appname & -zip arguments fabc2615af2 test: Use extra_port() helper in feature_bind_extra.py 417437eb01a script/verify_flags: extend script_verify_flags to 64 bits 3cbbcb66efc script/interpreter: make script_verify_flag_name an ordinary enum bddcadee82d script/verify_flags: make script_verify_flags type safe a5ead122fe0 script/interpreter: introduce script_verify_flags typename 4577fb2b1e0 rpc: have getdeploymentinfo report script verify flags a3986935f07 validation: export GetBlockScriptFlags() 5db8cd2d37e Move mapFlagNames and FormatScriptFlags logic to script/interpreter.h adefb51c543 rpc/net: add per-peer inv_to_send sizes 88b0647f027 wallet: Always write last hardened cache flag in migrated wallets 8a08eef645e tests: Check that the last hardened cache upgrade occurs 0802398e749 fuzz: make it possible to mock (fuzz) CThreadInterrupt 6d9e5d130d2 fuzz: add CConnman::SocketHandler() to the tests 3265df63a48 fuzz: add CConnman::InitBinds() to the tests 91cbf4dbd86 fuzz: add CConnman::CreateNodeFromAcceptedSocket() to the tests 50da7432ec1 fuzz: add CConnman::OpenNetworkConnection() to the tests e6a917c8f8e fuzz: add Fuzzed NetEventsInterface and use it in connman tests e883b377688 fuzz: set the output argument of FuzzedSock::Accept() b81f37031c8 p2p: Increase tx relay rate REVERT: 64d1449ff47 kernel: Fix bitcoin-chainstate for windows REVERT: ba247a6a718 kernel: Add Purpose section to header documentation REVERT: b0697ccbf7f kernel: Allowing reducing exports REVERT: 9d23c437bfc kernel: Add pure kernel bitcoin-chainstate REVERT: 10e8e06caf1 Kernel: Add functions for working with outpoints REVERT: ae64f8984d9 kernel: Add functions to get the block hash from a block REVERT: 2c2f277d12f kernel: Add block hash type and block tree utility functions to C header REVERT: 6062e2eeca3 kernel: Add function to read block undo data from disk to C header REVERT: e96af0baf5e kernel: Add functions to read block from disk to C header REVERT: 60e1515586a kernel: Add function for copying block data to C header REVERT: 7b105b7d02a kernel: Add functions for the block validation state to C header REVERT: 1a58dbb8158 kernel: Add validation interface to C header REVERT: 86ed87d5a6c kernel: Add interrupt function to C header REVERT: e424c455465 kernel: Add import blocks function to C header REVERT: cf7b562f2e3 kernel: Add chainstate load options for in-memory dbs in C header REVERT: e26a198acfb kernel: Add options for reindexing in C header REVERT: 4196583e03d kernel: Add block validation to C header REVERT: a7149076e23 kernel: Add chainstate loading when instantiating a ChainstateManager REVERT: d36b447e6ca kernel: Add chainstate manager option for setting worker threads REVERT: d4e612af670 kernel: Add chainstate manager object to C header REVERT: f19c8076746 kernel: Add notifications context option to C header REVERT: cc0043d99b6 kernel: Add chain params context option to C header REVERT: 8b3ceea4f1d kernel: Add kernel library context object REVERT: 039e222756e kernel: Add logging to kernel library C header REVERT: d192006d7f4 kernel: Introduce initial kernel C header API git-subtree-dir: libbitcoinkernel-sys/bitcoin git-subtree-split: 81cec737e68b91f5edf90179b81aa620a5a68677
81cec737e68 kernel: Fix bitcoin-chainstate for windows 1826c485ddc kernel: Add Purpose section to header documentation d7e618aa981 kernel: Allowing reducing exports fb7f5241331 kernel: Add pure kernel bitcoin-chainstate dd0bdf279ef Kernel: Add functions for working with outpoints eaa6abfc733 kernel: Add block hash type and block tree utility functions to C header 824ddf2885a kernel: Add function to read block undo data from disk to C header 76cab0768b1 kernel: Add functions to read block from disk to C header e41f6f459a2 kernel: Add function for copying block data to C header 39c647647a2 kernel: Add functions for the block validation state to C header 8a19a9d6070 kernel: Add validation interface to C header 38a990dd482 kernel: Add interrupt function to C header fee8f6ff38b kernel: Add import blocks function to C header c29a6b87ccd kernel: Add chainstate load options for in-memory dbs in C header e788b3ba065 kernel: Add options for reindexing in C header 2707fc515c5 kernel: Add block validation to C header 51a24c4004e kernel: Add chainstate loading when instantiating a ChainstateManager ea01a8caf35 kernel: Add chainstate manager option for setting worker threads add5904e0ac kernel: Add chainstate manager object to C header 37a3395d271 kernel: Add notifications context option to C header d838a934be0 kernel: Add chain params context option to C header dc58ae9fc04 kernel: Add kernel library context object 77449975962 kernel: Add logging to kernel library C header dc504f57b3b kernel: Introduce initial kernel C header API b510893d007 Merge bitcoin/bitcoin#33494: depends: Update URL for `qrencode` package source tarball ec5841888de Merge bitcoin/bitcoin#32513: ci: remove 3rd party js from windows dll gha job d735e2e9b39 Merge bitcoin/bitcoin#32998: Bump SCRIPT_VERIFY flags to 64 bit de1dc6b47ba Merge bitcoin/bitcoin#33515: Improve LastCommonAncestor performance + add tests 919e6d01e93 Merge bitcoin/bitcoin#33489: build: Drop support for EOL macOS 13 452ea592811 Merge bitcoin/bitcoin#33454: net: support overriding the proxy selection in ConnectNode() a33bd767a37 Merge bitcoin/bitcoin#33464: p2p: Use network-dependent timers for inbound inv scheduling 2578da69f41 Merge bitcoin/bitcoin#33485: test: set par=2 in default config for functional test framework 25dbe4bc86d Merge bitcoin/bitcoin#33533: test: addrman: check isTerrible when time is more than 10min in the future cfb0d74698a Merge bitcoin/bitcoin#33121: test: fix p2p_leak_tx.py 86eaa4d6cd5 Merge bitcoin/bitcoin#33482: contrib: fix macOS deployment with no translations 007900ee9b8 Merge bitcoin/bitcoin#33434: depends: static libxcb-cursor 8e47ed6906d test: addrman: check isTerrible when time is more than 10min in the future 3635d62f5a9 chain: make use of pskip in LastCommonAncestor (optimization) 2e09d66fbb7 tests: add unit tests for CBlockIndex::GetAncestor and LastCommonAncestor 156927903d6 ci: Check windows manifests for all executables e1a1b14c935 ci: use a more generic way of finding mt.exe 1ed00a0d39d Merge bitcoin/bitcoin#33504: Mempool: Do not enforce TRUC checks on reorg c76de2eea18 net: support overriding the proxy selection in ConnectNode() 75353a01635 Merge bitcoin/bitcoin#32326: net: improve the interface around FindNode() and avoid a recursive mutex lock 87e7f37918d doc: clarify peer address in getpeerinfo and addnode RPC help 2a4450ccbbe net: change FindNode() to not return a node and rename it 4268abae1a1 net: avoid recursive m_nodes_mutex lock in DisconnectNode() acc7f2a433b Merge bitcoin/bitcoin#33401: ci: Remove bash -c from cmake invocation using eval 1aaaaa078bb fuzz: Drop unused workaround after Apple-Clang bump fadad7a4947 Drop support for EOL macOS 13 50194029e7c ci: Remove bash -c from cmake invocation using eval f41f97240c0 Merge bitcoin/bitcoin#28584: Fuzz: extend CConnman tests cc4a2cc6bdc Merge bitcoin/bitcoin#33453: docs: Undeprecate datacarrier and datacarriersize configuration options 7502d4e9403 Merge bitcoin/bitcoin#33260: test: Use extra_port() helper in feature_bind_extra.py 14ae71f323d test: make notfound_on_unannounced more reliable 99bc552980d test: fix (w)txid confusion in p2p_leak_tx.py 576dd97cb91 test: increase timeout in p2p_leak_tx.py 8f73d952214 Merge bitcoin/bitcoin#33299: wallet: reduce unconditional logging during load 0f7d4ee4e82 p2p: Use different inbound inv timer per network 93a70a42d30 depends: Update URL for `qrencode` package source tarball 6de80512632 depends: Use hash instead of file name for package download stamp 46135d90ea9 depends: Drop redundant check for downloaded file 771978952a9 depends: Fix `$(package)_fetched` target 25212dfdb4c Merge bitcoin/bitcoin#33487: ci: use latest versions of lint deps 06df14ba75b test: add more TRUC reorg coverge 26e71c237d9 Mempool: Do not enforce TRUC checks on reorg bbe8e9063c1 fuzz: don't bypass_limits for most mempool harnesses d4f47f97715 ci: use latest versions of lint deps fc861332b35 wallet, log: reduce unconditional logging during load 3a4d1a25cf9 net: merge AlreadyConnectedToAddress() and FindNode(CNetAddr) d8fe258cd61 Merge bitcoin/bitcoin#33484: doc: rpc: fix case typo in `finalizepsbt` help (final_scriptwitness) dda5228e02c test: set par=2 in default config for functional test framework ff05bebcc42 doc: rpc: fix case typo in `finalizepsbt` help (final_scriptwitness) 200150beba6 Merge bitcoin/bitcoin#33313: test/refactor: use test deque to avoid quadratic iteration 7e08445449f Merge bitcoin/bitcoin#33399: key: use static context for libsecp256k1 calls where applicable 7b5261f7ef3 contrib: fix using macdploy script without translations. 65e909dfdd9 Merge bitcoin/bitcoin#33430: rpc: addpeeraddress: throw on invalid IP 31b29f8eb62 Merge bitcoin/bitcoin#33229: multiprocess: Don't require bitcoin -m argument when IPC options are used e62e0a12b33 Merge bitcoin/bitcoin#33230: cli: Handle arguments that can be either JSON or string 7ae0497eef8 ci: remove 3rd party js from windows dll gha job 05d984b1a4f Merge bitcoin/bitcoin#33475: bugfix: miner: fix `addPackageTxs` unsigned integer overflow b807dfcdc59 miner: fix `addPackageTxs` unsigned integer overflow d41b503ae12 Merge bitcoin/bitcoin#33446: rpc: fix getblock(header) returns target for tip 5ae8edbc304 Merge bitcoin/bitcoin#33158: macdeploy: avoid use of `Bitcoin Core` in Linux cross build df67bb6fd84 test: Remove convert_to_json_for_cli 44a493e150a cli: Allow arguments to be both strings and json ad4a49090da Merge bitcoin/bitcoin#33408: msvc: Update vcpkg manifest dd61f08fd52 Merge bitcoin/bitcoin#33031: wallet: Set descriptor cache upgraded flag for migrated wallets 350692e561c Merge bitcoin/bitcoin#33388: test: don't throw from the destructor of DebugLogHelper 94db966a3bb net: use generic network key for addrcache eca50854e1c depends: static libxcb_cursor 89144eb473c Merge bitcoin/bitcoin#33448: net/rpc: Report inv information for debugging eaa1a3cd0b3 Merge bitcoin/bitcoin#33425: ci: remove Clang build from msan fuzz job b77137a5644 ci: link against -lstdc++ in native fuzz with msan job a86e1a6e32d Merge bitcoin/bitcoin#33427: rpc: Always return per-wtxid entries in submitpackage tx-results 6861dadfcb1 Merge bitcoin/bitcoin#33459: doc: remove unrelated `bitcoin-wallet` binary from `libbitcoin_ipc` description 3b3ab3a50a0 Merge bitcoin/bitcoin#33302: ci: disable cirrus cache in 32bit arm job 2738b63e025 test: validate behaviour of getpeerinfo last_inv_sequence and inv_to_send fbde8d9a81d doc: remove unrelated `bitcoin-wallet` binary from `libbitcoin_ipc` description 34fefb63358 Merge bitcoin/bitcoin#33435: system: improve handling around GetTotalRAM() 56791b58295 test: split out `system_ram_tests` to signal when total ram cannot be determined 337a6e73861 system: improve handling around GetTotalRAM() 451ba9ada41 datacarrier: Undeprecate configuration option 77b2ebb8118 rpc/net: report per-peer last_inv_sequence bf7996cbc3b rpc: fix getblock(header) returns target for tip 4c3c1f42cf7 test: add block 2016 to mock mainnet 953544d0286 Merge bitcoin/bitcoin#33429: fuzz: reduce iterations in slow targets df101c97c26 Merge bitcoin/bitcoin#33422: build: Remove lingering Windows registry & shortcuts (#32132 follow-up) 56c6daa64f6 Merge bitcoin/bitcoin#28592: p2p: Increase tx relay rate 79752b9c0b6 build(windows): Remove lingering registry entries and shortcuts upon install cad9a7fd737 rpc: Always return per-wtxid entries in submitpackage tx-results 6a33970fef1 fuzz: Reduce iterations in slow targets edb871cba22 Merge bitcoin/bitcoin#33412: Update libmultiprocess subtree to fix intermittent mptest hang 2427939935f test: forbid copying of DebugLogHelper d6aa266d432 test: don't throw from the destructor of DebugLogHelper eaf2c464758 Merge bitcoin/bitcoin#33378: Remove unnecessary casts when calling socket operations 5aec516b2ce Merge bitcoin/bitcoin#33333: coins: warn on oversized `-dbcache` 316a0c51327 rpc: addpeeraddress: throw on invalid IP 74fa028da1e Merge bitcoin/bitcoin#33420: test: Avoid interface_ipc.py Duplicate ID errors 168360f4ae4 coins: warn on oversized -dbcache 6c720459bee system: add helper for fetching total system memory e9c52272ebd test: Avoid interface_ipc.py Duplicate ID errors c49a43591f8 Merge commit '535fa0ad0d2637f845beae92ea9dbbbbbe377c74' into pr/subtree-5 535fa0ad0d2 Squashed 'src/ipc/libmultiprocess/' changes from 13424cf2ecc1..47d79db8a552 453b0fa286e bitcoin: Make wrapper not require -m 1444ed855f4 Merge bitcoin/bitcoin#33407: cmake: Install `bitcoin` manpage 29e836fae66 test: add tool_bitcoin to test bitcoin wrapper behavior 0972f550402 init: add exe name to bitcoind, bitcoin-node -version output to be able to distinguish these in tests 2b0cd1f3fb2 Merge bitcoin/bitcoin#33395: net: do not apply whitelist permissions to onion inbounds ef20c2d11d9 build, msvc: Update vcpkg manifest baseline 1ff9e929489 key: use static context for libsecp256k1 calls where applicable f563ce90818 net: Do not apply whitelist permission to onion inbounds 947bed28fe6 Merge bitcoin/bitcoin#33380: test: Add submitblock test in interface_ipc 7584a4fda95 cmake: Install `bitcoin` manpage 67f632b6deb net: remove unnecessary casts in socket operations c4adfbf7062 Merge bitcoin/bitcoin#33373: depends: systemtap 5.3 5aa3d3135d2 Merge bitcoin/bitcoin#33391: test: Prevent disk space warning during node_init_tests bdf01c6f612 test: Prevent disk space warning during node_init_tests 0a26731c4cc test: Add submitblock test in interface_ipc 2d6a0c46491 Merge bitcoin/bitcoin#33379: cmake: Fix regression in `secp256k1.cmake` 9193c3e4340 cmake: Fix regression in `secp256k1.cmake` 28efd724b47 depends: systemtap 5.3 75e6984ec8c test/refactor: use test deque to avoid quadratic iteration 652424ad162 test: additional test coverage for script_verify_flags 00c253d4941 ci: disable cirrus cache in 32bit arm job ff18b6bbaf3 ci: refactor docker action to return provider str 8e434a84999 macdeploy: rename macOS output to bitcoin-macos-app.zip 05353d9cf08 macdeploy: combine appname & -zip arguments fabc2615af2 test: Use extra_port() helper in feature_bind_extra.py 417437eb01a script/verify_flags: extend script_verify_flags to 64 bits 3cbbcb66efc script/interpreter: make script_verify_flag_name an ordinary enum bddcadee82d script/verify_flags: make script_verify_flags type safe a5ead122fe0 script/interpreter: introduce script_verify_flags typename 4577fb2b1e0 rpc: have getdeploymentinfo report script verify flags a3986935f07 validation: export GetBlockScriptFlags() 5db8cd2d37e Move mapFlagNames and FormatScriptFlags logic to script/interpreter.h adefb51c543 rpc/net: add per-peer inv_to_send sizes 88b0647f027 wallet: Always write last hardened cache flag in migrated wallets 8a08eef645e tests: Check that the last hardened cache upgrade occurs 0802398e749 fuzz: make it possible to mock (fuzz) CThreadInterrupt 6d9e5d130d2 fuzz: add CConnman::SocketHandler() to the tests 3265df63a48 fuzz: add CConnman::InitBinds() to the tests 91cbf4dbd86 fuzz: add CConnman::CreateNodeFromAcceptedSocket() to the tests 50da7432ec1 fuzz: add CConnman::OpenNetworkConnection() to the tests e6a917c8f8e fuzz: add Fuzzed NetEventsInterface and use it in connman tests e883b377688 fuzz: set the output argument of FuzzedSock::Accept() b81f37031c8 p2p: Increase tx relay rate REVERT: 2ac9d60c54a kernel: Fix bitcoin-chainstate for windows REVERT: 08e2a7ebbb9 kernel: Add Purpose section to header documentation REVERT: 9d95715fe46 kernel: Allowing reducing exports REVERT: 241f306df61 kernel: Add pure kernel bitcoin-chainstate REVERT: 3ed3d6b9c25 kernel: Add functions to get the block hash from a block REVERT: 3fe143dc6c3 kernel: Add block index utility functions to C header REVERT: 224dbec1ce5 kernel: Add function to read block undo data from disk to C header REVERT: 4e5b9c66d36 kernel: Add functions to read block from disk to C header REVERT: e4ef0011f7e kernel: Add function for copying block data to C header REVERT: 3e7711d271d kernel: Add functions for the block validation state to C header REVERT: 984305a1afb kernel: Add validation interface to C header REVERT: ff1fe96997b kernel: Add interrupt function to C header REVERT: b45d0abbea2 kernel: Add import blocks function to C header REVERT: dc939ae9471 kernel: Add chainstate load options for in-memory dbs in C header REVERT: 0ea93d86242 kernel: Add options for reindexing in C header REVERT: 5817e2e79bd kernel: Add block validation to C header REVERT: 32d9e4a547b kernel: Add chainstate loading when instantiating a ChainstateManager REVERT: e3c03bae40b kernel: Add chainstate manager option for setting worker threads REVERT: f6978da0f73 kernel: Add chainstate manager object to C header REVERT: 63d6e4fade2 kernel: Add notifications context option to C header REVERT: ee9c2c7ceac kernel: Add chain params context option to C header REVERT: 2919e083e1b kernel: Add kernel library context object REVERT: 7967ffa7476 kernel: Add logging to kernel library C header REVERT: c76dcaafbc7 kernel: Introduce initial kernel C header API git-subtree-dir: depend/bitcoin git-subtree-split: 81cec737e68b91f5edf90179b81aa620a5a68677
| connman.InitBindsPublic(options); | ||
| }, | ||
| [&] { | ||
| connman.SocketHandlerPublic(); |
There was a problem hiding this comment.
# echo 'XGFkZAAAAGRkZWXuXP/fcGcqb2hlcirYfg9D/uXc5eXcRZJ55eXl5eXl5eXlIiL19QAFABD3XERc
AVxhYQcAAADl5f//5eVhYWHl5eX//+Xl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl
5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eX/Km8xMTQyMjgxMUMKYWFhYWFhYQAAAAAA
YWFhYWFhYWFhYWFhYWFhe2FhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh8mWkovx0AAAA
AAAAAGFhYWFhYWFhYWFhgKoL//v/Kv/////l5eXl5f//ZGRy5eX//2Ry5eX///9kZHLl5f//ZHLl
5f//5eXl5eXl5eXl5Wfl//9kZHLl5f//ZHLl5f///2RkcuXl//9kcuXl//8=' | base64 --decode > ./crash_cm_1cfcffc33a
# UBSAN_OPTIONS="suppressions=$(pwd)/test/sanitizer_suppressions/ubsan:print_stacktrace=1:halt_on_error=1:report_error_type=1" FUZZ=connman ./bld/bin/fuzz -runs=1 ./crash_cm_1cfcffc33a
INFO: Running with entropic power schedule (0xFF, 100).
INFO: Seed: 2899209193
INFO: Loaded 1 modules (597578 inline 8-bit counters): 597578 [0x62ee33b00588, 0x62ee33b923d2),
INFO: Loaded 1 PC tables (597578 PCs): 597578 [0x62ee33b923d8,0x62ee344b0878),
./bld/bin/fuzz: Running 1 inputs 1 time(s) each.
Running: ./crash_cm_1cfcffc33a
./src/test/fuzz/util/net.cpp:337:43: runtime error: null pointer passed as argument 2, which is declared to never be null
4da01123df0f Merge bitcoin/bitcoin#30595: kernel: Introduce C header API 96614fff6327 Merge bitcoin/bitcoin#33714: random: scope environ extern to macOS, BSDs and Illumos 4e9bd579d3ed Merge bitcoin/bitcoin#33045: depends: disable variables, rules and suffixes. 5ffa63d6814d Merge bitcoin/bitcoin#33626: ci: run native fuzz with MSAN job 75baff98fcf9 Merge bitcoin/bitcoin#33744: ci: Fix lint runner selection (and docker cache) 2593ed1b5f4b Merge bitcoin/bitcoin#33574: doc: update Guix INSTALL.md 1cd8d9fe5cd5 Merge bitcoin/bitcoin#33445: ci: Update Clang in "tidy" job 56329beaee27 Merge bitcoin/bitcoin#32301: test: cover invalid codesep positions for signature in taproot 1e6e32fa8a64 ci: run native fuzz with MSAN job 3784d15bcd50 ci: use LLVM libcxx 21.1.5 6c7a34f3b0bd kernel: Add Purpose section to header documentation 7e9f00bcc174 kernel: Allowing reducing exports 7990463b1059 kernel: Add pure kernel bitcoin-chainstate 36ec9a3ea232 Kernel: Add functions for working with outpoints 5eec7fa96aa3 kernel: Add block hash type and block tree utility functions to C header f5d5d1213cc4 kernel: Add function to read block undo data from disk to C header 09d0f626388a kernel: Add functions to read block from disk to C header a263a4caf231 kernel: Add function for copying block data to C header b30e15f4329a kernel: Add functions for the block validation state to C header aa262da7bcfa kernel: Add validation interface to C header d27e27758d51 kernel: Add interrupt function to C header 1976b13be9c8 kernel: Add import blocks function to C header a747ca1f516e kernel: Add chainstate load options for in-memory dbs in C header 070e77732cdb kernel: Add options for reindexing in C header ad80abc73df3 kernel: Add block validation to C header cb1590b05efd kernel: Add chainstate loading when instantiating a ChainstateManager e2c1bd3d713f kernel: Add chainstate manager option for setting worker threads 65571c36a265 kernel: Add chainstate manager object to C header c62f657ba330 kernel: Add notifications context option to C header 9e1bac45852d kernel: Add chain params context option to C header 337ea860dfda kernel: Add kernel library context object 28d679bad9fd kernel: Add logging to kernel library C header 2cf136dec4ce kernel: Introduce initial kernel C header API 745eb053a41c Merge bitcoin-core/gui#901: Add createwallet, createwalletdescriptor, and migratewallet to history filter 52b1595850f6 depends: disable builtin variables 8b5a28fa7893 depends: disable builtin rules and suffixes. 7632e0ba312a ci: fix configure docker action inputs 746d36cc80f0 Merge bitcoin/bitcoin#33754: ci: gha: Set debug_pull_request_number_str annotation 25c45bb0d0bd Merge bitcoin/bitcoin#33567: node: change a tx-relay on/off flag to enum 422b468229f1 Merge bitcoin/bitcoin#33683: refactor/doc: Add blockman param to GetTransaction doc comment da6f041e39ef Merge bitcoin/bitcoin#31645: [IBD] coins: increase default UTXO flush batch size to 32 MiB 832a57673af7 Merge bitcoin/bitcoin#33749: test: ipc: resolve symlinks in `which capnp` 3cd4263bf664 Merge bitcoin/bitcoin#33753: test: Format strings in `test_runner` 78d4d36730d4 test: Format strings in `*.rs` fa9d0f994b45 ci: gha: Set debug_pull_request_number_str annotation 305384a0372a Merge bitcoin/bitcoin#33746: ci: Add missing python3-dev package for riscv64 8eda7210eb33 Merge bitcoin/bitcoin#33743: fuzz: refactor memcpy to std::ranges::copy to work around ubsan warn 51093d6ae1d4 test: resolve symlinks in which result for capnp 6f359695c36c Merge bitcoin/bitcoin#33698: test: Use same rpc timeout for authproxy and cli c281bb6837b0 Merge bitcoin/bitcoin#32924: test: add valid tx test with minimum-sized ECDSA signature (8 bytes DER-encoded) facf8b771a19 ci: Add missing python3-dev package for riscv64 b4d0288c467f doc: update Guix INSTALL.md 0b3b8a3be1a0 ci: fix lint docker caching fa4b52bd1618 fuzz: refactor memcpy to std::ranges::copy to work around ubsan warn 72511fd02e72 Merge bitcoin/bitcoin#33555: build: Bump clang minimum supported version to 17 79d6f458e230 random: scope environ extern to macOS, BSDs and Illumos 292ea0eb8982 Merge bitcoin/bitcoin#33677: ci: Retry image building once on failure dd82c6c5d09f Merge bitcoin/bitcoin#33693: ci: use pycapnp 2.2.1 3bb30658e631 Merge bitcoin/bitcoin#32380: Modernize use of UTF-8 in Windows code 5a58d4915e5c Merge bitcoin/bitcoin#33546: test: add functional test for `TestShell` (matching doc example) 1abc8fa308d2 Merge bitcoin/bitcoin#33218: refactor: rename `fees.{h,cpp}` to `fees/block_policy_estimator.{h,cpp}` de15e52f09d4 Merge bitcoin/bitcoin#32867: doc: mention key removal in rpc interface modification 5d784bebaff5 clang-tidy: Disable `ArrayBound` check in src/ipc and src/test 5efdb0ef3056 ci: Update Clang in "tidy" job 24434c1284b8 Merge bitcoin/bitcoin#31308: ci, iwyu: Treat warnings as errors for specific directories 27cd7f504944 Merge bitcoin/bitcoin#33185: guix: update time-machine to 5cb84f2013c5b1e48a7d0e617032266f1e6059e2 80bb7012be8e Merge bitcoin/bitcoin#31514: wallet: allow label for non-ranged external descriptor (if `internal=false`) & disallow label for ranged descriptors 5e1f626ac30f Merge bitcoin/bitcoin#32504: test: descriptor: cover invalid multi/multi_a cases 56e9703968e2 Merge bitcoin/bitcoin#29640: Fix tiebreak when loading blocks from disk (and add tests for comparing chain ties) 53b34c80c631 ci: use pycapnp 2.2.1 in mac native job 865432869c0d ci: remove Python version comment from mac config 9bd9ec00b238 Merge bitcoin/bitcoin#33688: test: Update BIP324 test vectors 1a7fb5eeeef3 fees: return current block height in estimateSmartFee ab49480d9be4 fees: rename fees_args to block_policy_estimator_args 06db08a43568 fees: refactor: rename fees to block_policy_estimator 6dfdd7e034dd fees: refactor: rename policy_fee_tests.cpp to feerounder_tests.cpp f54ffb4bc141 Merge bitcoin/bitcoin#32813: clang-format: make formatting deterministic for different formatter versions 1916c51cd855 Merge bitcoin/bitcoin#33210: fuzz: enhance wallet_fees by mocking mempool stuff 0eb554728ca9 Merge bitcoin/bitcoin#33336: log: print every script verification state change c6c4edf324a3 Merge bitcoin/bitcoin#32983: rpc: refactor: use string_view in Arg/MaybeArg 00ad998d9545 Merge bitcoin/bitcoin#33252: p2p: add `DifferenceFormatter` fuzz target and invariant check 1a1f46c22859 refactor/doc: Add blockman param to `GetTransaction` doc comment and reorder out param 66667d651229 test: Use same rpc timeout for authproxy and cli 5555bce994b6 ci: Document why IN_GETOPT_BIN env var is needed on macOS fabe516440c9 ci: Export the container id in python script f6ba97cea1d3 Merge bitcoin/bitcoin#33666: ci: Drop libFuzzer from msan fuzz task af78d3651299 Merge bitcoin/bitcoin#32588: util: Abort on failing CHECK_NONFATAL in debug builds 51877f2fc5eb test: Update BIP324 test vectors 161864a038ea Merge bitcoin/bitcoin#32579: p2p: Correct unrealistic headerssync unit test behavior 70a6fb5e5ab5 Merge bitcoin/bitcoin#33172: test: p2p block malleability 99cb2054bdfe Merge bitcoin/bitcoin#33600: refactor: Construct g_verify_flag_names on first use 211bf6c97503 Merge bitcoin/bitcoin#33566: miner: fix empty mempool case for waitNext() 944e5ff848f6 doc: mention key removal in rpc interface modification d32f9525e484 Merge bitcoin/bitcoin#33679: test: set number of RPC server threads to 2 1c85d062321c Merge bitcoin/bitcoin#32266: depends: Avoid `warning: "_FORTIFY_SOURCE" redefined` for `libevent` 11684c9ce2c1 Merge bitcoin/bitcoin#33674: ci: Doc ASLR workaround for sanitizer tasks e9cd45e3d3c7 test: set number of RPC server threads to 2 fa6aa9f42faa ci: Retry image building once on failure fa4dbe04d782 ci: Allow overwriting check option in run() helper fa8e4de5c31d ci: Use os.environ[key] access when value must be set 7d27af98c7cf Merge bitcoin/bitcoin#33461: ci: add Valgrind fuzz 1569bcc387fe Merge bitcoin/bitcoin#33639: ci: Only write docker build images to Cirrus cache 98c4994d0f36 Merge bitcoin/bitcoin#33570: randomenv: Fix MinGW dllimport warning for `environ` c211d1832211 Merge bitcoin/bitcoin#33670: test: Use unassigned p2p_port instead of hardcoded 60000 in p2p_i2p_ports.py e4b04630bcf5 ci: add Valgrind fuzz 3fee0754a2ec Merge bitcoin/bitcoin#33550: Fix windows libc++ `fs::path` `fstream` compile errors fa0e36156cba ci: Doc ASLR workaround for sanitizer tasks fa20275db32c test: Use unassigned p2p_port instead of hardcoded 60000 in p2p_i2p_ports.py c862936d16a6 Merge bitcoin/bitcoin#33370: ci: use Mold linker for asan-lsan-ubsan-integer-no-depends-usdt workflow fabe0e07de1a ci: Only write docker build images to Cirrus cache fab64a5d6fd7 ci: Move buildx command to python script fa72a2bd5c80 ci: Remove unused MAYBE_CPUSET fa70e23de75b ci: Drop libFuzzer from msan fuzz task abe7cbfe1a4e Merge bitcoin/bitcoin#33470: build: Move CMAKE_SKIP_INSTALL_RPATH from CMake to Guix script 689ec28d1d1e Merge bitcoin/bitcoin#33633: test: [move-only] binary utils to utils.py 0eeae4d174a4 Merge bitcoin/bitcoin#33625: Update secp256k1 subtree to latest master 4b41f99d57d8 build: Move CMAKE_SKIP_INSTALL_RPATH from CMake to Guix script d30f149360d1 Merge bitcoin/bitcoin#33630: doc: correct topology requirements in submitpackage helptext 3d222825642b [doc] correct topology requirements in submitpackage helptext e744fd1249bf Merge bitcoin/bitcoin#33641: Update leveldb subtree to latest master 4371740bebfa Merge bitcoin/bitcoin#33642: doc: archive release notes for v28.3 ceea24b92153 doc: archive release notes for v28.3 54ffe3de5b1d Update leveldb subtree to latest master f21162d81933 Squashed 'src/leveldb/' changes from aba469ad6a..cad64b151d e14451ac8733 Merge bitcoin/bitcoin#33469: TxGraph: change m_excluded_clusters f76e1ae38991 Merge bitcoin/bitcoin#32313: coins: fix `cachedCoinsUsage` accounting in `CCoinsViewCache` 59c4898994bd guix: remove python-pydantic-core input from LIEF 9f2a6927d3a9 guix: use Clang & LLVM 19 for macOS build 9570ddbec9cb guix: update time-machine to 5cb84f2013c5b1e48a7d0e617032266f1e6059e2 7b5cc276aa0a guix: patch around riscv issue with newer (2.40+) binutils 91b5cbaabbca ci: use Debian Trixie for macOS cross job fa75ef4328f6 test: Move export_env_build_path to util.py fa9f495308af test: Move get_binary_paths and Binaries to util.py 40e7d4cd0d7f Merge bitcoin/bitcoin#33549: ci: Add macOS cross task for arm64-apple-darwin ea17618c1167 Merge bitcoin/bitcoin#33480: ci: Turn CentOS config into Alpine musl config b1f8a13702e8 Merge bitcoin/bitcoin#33624: test: P2SH sig ops are only counted with `SCRIPT_VERIFY_P2SH` 879c21045eba Update secp256k1 subtree to latest master 3cbf7cb3e6ac Squashed 'src/secp256k1/' changes from b9313c6e1a..d543c0d917 2f7a50f67cdb Merge bitcoin/bitcoin#33462: ci: add libcpp hardening flags to macOS fuzz job 07a926474b5a node: change a tx-relay on/off flag to enum 48aa0e98d0b7 Merge bitcoin/bitcoin#29675: wallet: Be able to receive and spend inputs involving MuSig2 aggregate keys db4bde0b0347 Merge bitcoin/bitcoin#33517: multiprocess: Fix high overhead from message logging 3a10d700bc18 test: P2SH sig ops are only counted with `SCRIPT_VERIFY_P2SH` flag 9314113b295a Merge bitcoin/bitcoin#33610: doc: archive release notes for v29.2 9b43428c9687 TxGraph: change m_excluded_clusters 6e1adbbaa157 Merge bitcoin/bitcoin#33612: test: change log rate limit version gate fdcf67de8033 Merge bitcoin/bitcoin#33157: cluster mempool: control/optimize TxGraph memory usage 7b544341c002 test: change log rate limit version gate from 299900 to 290100 9610b0d1e28a randomenv: Fix MinGW dllimport warning for `environ` 6c4fe401e908 Merge bitcoin/bitcoin#33508: ci: fix buildx gha cache authentication on forks 8f7673257a1a miner: fix empty mempool case for waitNext() c11a3dcc8895 doc: archive release notes for v29.2 64a7c7cbb975 Merge bitcoin/bitcoin#33558: ci: Use native platform for win-cross task 93b56e95c028 Merge bitcoin/bitcoin#33601: doc: archive release notes for v30.0 563747971be4 Merge bitcoin/bitcoin#33580: depends: Use $(package)_file_name when downloading from the fallback 24d861da7894 coins: only adjust `cachedCoinsUsage` on `EmplaceCoinInternalDANGER` insert d7c9d6c2914a coins: fix `cachedCoinsUsage` accounting to prevent underflow 39cf8bb3d0d9 refactor: remove redundant usage tracking from `CoinsViewCacheCursor` 67cff8bec909 refactor: assert newly-created parent cache entry has zero memory usage 023cd5a5469a txgraph: add SingletonClusterImpl (mem optimization) e34625073253 txgraph: give Clusters a range of intended tx counts (preparation) e93b0f09cc2a txgraph: abstract out creation of empty Clusters (refactor) 6baf12621f66 txgraph: comment fixes (doc fix) 726b995739ab txgraph: make Cluster an abstract class (refactor) 2602d89edd04 txgraph: avoid accessing other Cluster internals (refactor) 04c808ac4c47 txgraph: expose memory usage estimate function (feature) 7680bb8fd48d txgraph: keep track of Cluster memory usage (preparation) 4ba562e5f4e4 txgraph: keep data structures compact (mem optimization) bb5cb222ae55 depgraph: add memory usage control (feature) b1637a90deb8 txgraph: avoid holes in DepGraph positions (mem optimization) 2b1d30250877 txgraph: move some sanity checks from Cluster to TxGraphImpl (refactor) d40302fbaf41 txgraph: Make level of Cluster implicit (optimization) 8d6e49158e3a doc: archive release notes for v30.0 4e352efa2ce7 qt: add createwallet, createwalletdescriptor, and migratewallet to history filter 0626b90f507d multiprocess: align our logging with libmultiprocess's 9d068225ee2b multiprocess: update multiprocess EventLoop construction to use options d2987102dd13 Merge bitcoin/bitcoin#33573: doc: bump the template macOS version f6567527d8da doc: bump the template macOS version faa9d10c84bc refactor: Construct g_verify_flag_names on first use becf15001318 Merge bitcoin/bitcoin#33518: Update libmultiprocess subtree to support reduced logging cd1b7fa1ff7c Merge bitcoin/bitcoin#33577: Revert "depends: Update URL for `qrencode` package source tarball" fa0fa0f70087 refactor: Revert "disable self-assign warning for tests" faed118fb30f build: Bump clang minimum supported version to 17 6b4a92b0fab8 Merge bitcoin/bitcoin#33568: doc: how to update a subtree 90b2884ce4ba Merge bitcoin/bitcoin#33581: ci: Properly include $FILE_ENV in DEPENDS_HASH d44b860cd09e Merge bitcoin/bitcoin#33584: ci: upgrade GitHub Action to download-artifact@v5 57f7c68821d9 test: add functional test for `TestShell` (matching doc example) 53874f7934d5 doc: test: update TestShell example instructions/options b35341b9ba63 Update ci.yml ceeb53adcd0a ci: Properly include $FILE_ENV in DEPENDS_HASH 671b774d1b58 depends: Use $(package)_file_name when downloading from the fallback e4335a31920c Revert "depends: Update URL for `qrencode` package source tarball" a89a822e6eb5 Revert "depends: Use hash instead of file name for package download stamp" fad5a7101cc3 ci: Add macOS cross task for arm64 fa8c750a0aff ci: Refactor get_previous_releases step in win-test-cross task e4c04f7759b0 ci: add libcpp hardening flags to macOS fuzz job a1226bc760c7 doc: how to update a subtree b510893d0076 Merge bitcoin/bitcoin#33494: depends: Update URL for `qrencode` package source tarball ec5841888de7 Merge bitcoin/bitcoin#32513: ci: remove 3rd party js from windows dll gha job d735e2e9b39a Merge bitcoin/bitcoin#32998: Bump SCRIPT_VERIFY flags to 64 bit de1dc6b47ba7 Merge bitcoin/bitcoin#33515: Improve LastCommonAncestor performance + add tests eda91b07fd9f Merge commit '0f01e1577f7c6734eb345139a12aba329ef22a5f' into pr/subtree-6 0f01e1577f7c Squashed 'src/ipc/libmultiprocess/' changes from 47d79db8a552..a4f929696490 fa6fd16f36e1 ci: Use native platform for win-cross task 53e4951a5b5b Switch to ANSI Windows API in `fsbridge::fopen()` function dbe770d92106 Switch to ANSI Windows API in `Win32ErrorString()` function 06d0be4e22ce Remove no longer necessary `WinCmdLineArgs` class f366408492f6 cmake: Set process code page to UTF-8 on Windows dccbb178065f Set minimum supported Windows version to 1903 (May 2019 Update) 919e6d01e93a Merge bitcoin/bitcoin#33489: build: Drop support for EOL macOS 13 452ea5928112 Merge bitcoin/bitcoin#33454: net: support overriding the proxy selection in ConnectNode() c864a4c1940d Simplify fs::path by dropping filename() and make_preferred() overloads b0113afd44b4 Fix windows libc++ fs::path fstream compile errors a33bd767a37d Merge bitcoin/bitcoin#33464: p2p: Use network-dependent timers for inbound inv scheduling 2578da69f416 Merge bitcoin/bitcoin#33485: test: set par=2 in default config for functional test framework 25dbe4bc86d3 Merge bitcoin/bitcoin#33533: test: addrman: check isTerrible when time is more than 10min in the future cfb0d74698ad Merge bitcoin/bitcoin#33121: test: fix p2p_leak_tx.py 86eaa4d6cd5c Merge bitcoin/bitcoin#33482: contrib: fix macOS deployment with no translations 007900ee9b89 Merge bitcoin/bitcoin#33434: depends: static libxcb-cursor 8e47ed6906d5 test: addrman: check isTerrible when time is more than 10min in the future 3635d62f5a93 chain: make use of pskip in LastCommonAncestor (optimization) 2e09d66fbb7b tests: add unit tests for CBlockIndex::GetAncestor and LastCommonAncestor 156927903d64 ci: Check windows manifests for all executables e1a1b14c9359 ci: use a more generic way of finding mt.exe 1ed00a0d39d5 Merge bitcoin/bitcoin#33504: Mempool: Do not enforce TRUC checks on reorg b63428ac9ce2 rpc: refactor: use more (Maybe)Arg<std::string_view> 037830ca0dbb refactor: increase string_view usage b3bf18f0bac0 rpc: refactor: use string_view in Arg/MaybeArg c76de2eea180 net: support overriding the proxy selection in ConnectNode() 45bd8914658a log: split assumevalid ancestry-failure-reason message 6c13a38ab51c log: separate script verification reasons f2ea6f04e79b refactor: untangle assumevalid decision branches 9bc298556cb0 validation: log initial script verification state 4fad4e992c49 test: add assumevalid scenarios scaffold 75353a016357 Merge bitcoin/bitcoin#32326: net: improve the interface around FindNode() and avoid a recursive mutex lock 87e7f37918d4 doc: clarify peer address in getpeerinfo and addnode RPC help 2a4450ccbbe3 net: change FindNode() to not return a node and rename it 4268abae1a1d net: avoid recursive m_nodes_mutex lock in DisconnectNode() acc7f2a433b1 Merge bitcoin/bitcoin#33401: ci: Remove bash -c from cmake invocation using eval 1aaaaa078bb2 fuzz: Drop unused workaround after Apple-Clang bump fadad7a49477 Drop support for EOL macOS 13 50194029e7c2 ci: Remove bash -c from cmake invocation using eval f41f97240c06 Merge bitcoin/bitcoin#28584: Fuzz: extend CConnman tests cc4a2cc6bdc4 Merge bitcoin/bitcoin#33453: docs: Undeprecate datacarrier and datacarriersize configuration options 7502d4e94038 Merge bitcoin/bitcoin#33260: test: Use extra_port() helper in feature_bind_extra.py 14ae71f323dd test: make notfound_on_unannounced more reliable 99bc552980d9 test: fix (w)txid confusion in p2p_leak_tx.py 576dd97cb91e test: increase timeout in p2p_leak_tx.py ac599c4a9cb3 test: Test MuSig2 in the wallet 68ef954c4c59 wallet: Keep secnonces in DescriptorScriptPubKeyMan 4a273edda0ec sign: Create MuSig2 signatures for known MuSig2 aggregate keys 258db9388994 sign: Add CreateMuSig2AggregateSig bf69442b3f50 sign: Add CreateMuSig2PartialSig 512b17fc56ea sign: Add CreateMuSig2Nonce 82ea67c607cd musig: Add MuSig2AggregatePubkeys variant that validates the aggregate d99a081679e1 psbt: MuSig2 data in Fill/FromSignatureData 4d8b4f53363f signingprovider: Add musig2 secnonces c06a1dc86ff2 Add MuSig2SecNonce class for secure allocation of musig nonces 9baff05e4944 sign: Include taproot output key's KeyOriginInfo in sigdata 4b24bfeab9d6 pubkey: Return tweaks from BIP32 derivation 8f73d9522146 Merge bitcoin/bitcoin#33299: wallet: reduce unconditional logging during load 0f7d4ee4e828 p2p: Use different inbound inv timer per network 93a70a42d30f depends: Update URL for `qrencode` package source tarball 6de80512632a depends: Use hash instead of file name for package download stamp bc706955d740 ci: expose all ACTIONS_* vars 46135d90ea90 depends: Drop redundant check for downloaded file 771978952a98 depends: Fix `$(package)_fetched` target 25212dfdb4cd Merge bitcoin/bitcoin#33487: ci: use latest versions of lint deps 06df14ba75be test: add more TRUC reorg coverge 26e71c237d9d Mempool: Do not enforce TRUC checks on reorg bbe8e9063c15 fuzz: don't bypass_limits for most mempool harnesses d4f47f97715c ci: use latest versions of lint deps fc861332b351 wallet, log: reduce unconditional logging during load 3a4d1a25cf94 net: merge AlreadyConnectedToAddress() and FindNode(CNetAddr) 444409ff2b78 ci: Reduce Alpine musl task to md runner size d8fe258cd610 Merge bitcoin/bitcoin#33484: doc: rpc: fix case typo in `finalizepsbt` help (final_scriptwitness) dda5228e02ca test: set par=2 in default config for functional test framework ff05bebcc426 doc: rpc: fix case typo in `finalizepsbt` help (final_scriptwitness) 200150beba66 Merge bitcoin/bitcoin#33313: test/refactor: use test deque to avoid quadratic iteration 7e08445449fc Merge bitcoin/bitcoin#33399: key: use static context for libsecp256k1 calls where applicable 7b5261f7ef3d contrib: fix using macdploy script without translations. 65e909dfdd93 Merge bitcoin/bitcoin#33430: rpc: addpeeraddress: throw on invalid IP 31b29f8eb629 Merge bitcoin/bitcoin#33229: multiprocess: Don't require bitcoin -m argument when IPC options are used e62e0a12b332 Merge bitcoin/bitcoin#33230: cli: Handle arguments that can be either JSON or string 7ae0497eef8f ci: remove 3rd party js from windows dll gha job 05d984b1a4fb Merge bitcoin/bitcoin#33475: bugfix: miner: fix `addPackageTxs` unsigned integer overflow fa6b2e9efece ci: Turn centos config into alpine musl config b807dfcdc592 miner: fix `addPackageTxs` unsigned integer overflow d41b503ae128 Merge bitcoin/bitcoin#33446: rpc: fix getblock(header) returns target for tip 5ae8edbc304a Merge bitcoin/bitcoin#33158: macdeploy: avoid use of `Bitcoin Core` in Linux cross build df67bb6fd84c test: Remove convert_to_json_for_cli 44a493e150a7 cli: Allow arguments to be both strings and json ad4a49090da8 Merge bitcoin/bitcoin#33408: msvc: Update vcpkg manifest dd61f08fd52b Merge bitcoin/bitcoin#33031: wallet: Set descriptor cache upgraded flag for migrated wallets 350692e561ce Merge bitcoin/bitcoin#33388: test: don't throw from the destructor of DebugLogHelper 94db966a3bb5 net: use generic network key for addrcache eca50854e1cb depends: static libxcb_cursor 89144eb473c6 Merge bitcoin/bitcoin#33448: net/rpc: Report inv information for debugging eaa1a3cd0b3d Merge bitcoin/bitcoin#33425: ci: remove Clang build from msan fuzz job b77137a5644e ci: link against -lstdc++ in native fuzz with msan job a86e1a6e32d8 Merge bitcoin/bitcoin#33427: rpc: Always return per-wtxid entries in submitpackage tx-results 6861dadfcb11 Merge bitcoin/bitcoin#33459: doc: remove unrelated `bitcoin-wallet` binary from `libbitcoin_ipc` description 3b3ab3a50a0b Merge bitcoin/bitcoin#33302: ci: disable cirrus cache in 32bit arm job 2738b63e025d test: validate behaviour of getpeerinfo last_inv_sequence and inv_to_send fbde8d9a81d8 doc: remove unrelated `bitcoin-wallet` binary from `libbitcoin_ipc` description 34fefb633584 Merge bitcoin/bitcoin#33435: system: improve handling around GetTotalRAM() 56791b582958 test: split out `system_ram_tests` to signal when total ram cannot be determined 337a6e738616 system: improve handling around GetTotalRAM() 451ba9ada41f datacarrier: Undeprecate configuration option 77b2ebb81182 rpc/net: report per-peer last_inv_sequence bf7996cbc3be rpc: fix getblock(header) returns target for tip 4c3c1f42cf70 test: add block 2016 to mock mainnet 953544d0286b Merge bitcoin/bitcoin#33429: fuzz: reduce iterations in slow targets df101c97c260 Merge bitcoin/bitcoin#33422: build: Remove lingering Windows registry & shortcuts (#32132 follow-up) 56c6daa64f6b Merge bitcoin/bitcoin#28592: p2p: Increase tx relay rate 79752b9c0b6b build(windows): Remove lingering registry entries and shortcuts upon install cad9a7fd7370 rpc: Always return per-wtxid entries in submitpackage tx-results 6a33970fef1b fuzz: Reduce iterations in slow targets edb871cba22a Merge bitcoin/bitcoin#33412: Update libmultiprocess subtree to fix intermittent mptest hang 2427939935f3 test: forbid copying of DebugLogHelper d6aa266d432f test: don't throw from the destructor of DebugLogHelper 91ac64b0a66f log: reword `signature validations` to `script verification` in `assumevalid` log eaf2c464758b Merge bitcoin/bitcoin#33378: Remove unnecessary casts when calling socket operations 5aec516b2ce3 Merge bitcoin/bitcoin#33333: coins: warn on oversized `-dbcache` 316a0c513278 rpc: addpeeraddress: throw on invalid IP 74fa028da1ea Merge bitcoin/bitcoin#33420: test: Avoid interface_ipc.py Duplicate ID errors 168360f4ae47 coins: warn on oversized -dbcache 6c720459beea system: add helper for fetching total system memory e9c52272ebd7 test: Avoid interface_ipc.py Duplicate ID errors 535fa0ad0d26 Squashed 'src/ipc/libmultiprocess/' changes from 13424cf2ecc1..47d79db8a552 c49a43591f88 Merge commit '535fa0ad0d2637f845beae92ea9dbbbbbe377c74' into pr/subtree-5 453b0fa286e5 bitcoin: Make wrapper not require -m 1444ed855f43 Merge bitcoin/bitcoin#33407: cmake: Install `bitcoin` manpage 29e836fae660 test: add tool_bitcoin to test bitcoin wrapper behavior 0972f5504021 init: add exe name to bitcoind, bitcoin-node -version output to be able to distinguish these in tests 2b0cd1f3fb22 Merge bitcoin/bitcoin#33395: net: do not apply whitelist permissions to onion inbounds f14876213aad musig: Move synthetic xpub construction to its own function ef20c2d11d96 build, msvc: Update vcpkg manifest baseline 1ff9e929489e key: use static context for libsecp256k1 calls where applicable f563ce90818d net: Do not apply whitelist permission to onion inbounds 947bed28fe62 Merge bitcoin/bitcoin#33380: test: Add submitblock test in interface_ipc 7584a4fda95d cmake: Install `bitcoin` manpage 67f632b6deb8 net: remove unnecessary casts in socket operations c4adfbf70626 Merge bitcoin/bitcoin#33373: depends: systemtap 5.3 5aa3d3135d25 Merge bitcoin/bitcoin#33391: test: Prevent disk space warning during node_init_tests bdf01c6f6126 test: Prevent disk space warning during node_init_tests 0a26731c4cc1 test: Add submitblock test in interface_ipc 2d6a0c464912 Merge bitcoin/bitcoin#33379: cmake: Fix regression in `secp256k1.cmake` f031536f2d26 ci: use Mold linker for asan-lsan-ubsan-integer-no-depends-usdt workflow cc5dda1de333 headerssync: Make HeadersSyncState more flexible and move constants 8fd1c2893e67 test(headerssync): Test returning of pow_validated_headers behavior 7b00643ef5f9 test(headerssync): headers_sync_chainwork test improvements 04eeb9578c60 doc(test): Improve comments fe896f8faa78 refactor(test): Store HeadersSyncState on the stack f03686892a9c refactor(test): Break up headers_sync_state e984618d0b99 refactor(headerssync): Process spans of headers a4ac9915a95e refactor(headerssync): Extract test constants ahead of breakup into functions 9193c3e4340b cmake: Fix regression in `secp256k1.cmake` d20f10affba8 Merge bitcoin/bitcoin#33268: wallet: Identify transactions spending 0-value outputs, and add tests for anchor outputs in a wallet 28efd724b478 depends: systemtap 5.3 9a5ba154bea1 Merge bitcoin/bitcoin#33310: trace: Workaround GCC bug compiling with old systemtap 853f0d881142 Merge bitcoin/bitcoin#33364: ci: always use tag for LLVM checkout b81445333a10 Merge bitcoin/bitcoin#33243: test: Fix CLI_MAX_ARG_SIZE issues f757da87f59d Merge bitcoin/bitcoin#33332: common: Make arith_uint256 trivially copyable e416dc2fbbb7 Merge bitcoin/bitcoin#33321: kernel: make blockTip index const 75e6984ec8c6 test/refactor: use test deque to avoid quadratic iteration 176fac0f16d5 Merge bitcoin/bitcoin#33141: test: Remove polling loop from test_runner (take 2) 593d5fe37d7a Merge bitcoin/bitcoin#33354: txgraph: use enum Level instead of bool main_only 653a9849d5f9 common: Make arith_uint256 trivially copyable b736052e39f1 ci: always use tag for LLVM checkout 652424ad162b test: additional test coverage for script_verify_flags 00c253d49417 ci: disable cirrus cache in 32bit arm job ff18b6bbaf32 ci: refactor docker action to return provider str d45f3717d2c6 txgraph: use enum Level instead of bool main_only ee42d59d4de9 Merge bitcoin-core/gui#886: Avoid pathological QT text/markdown behavior... 2c8a478db4b8 Merge bitcoin/bitcoin#33231: net: Prevent node from binding to the same `CService` 591eea7b5ac5 Merge bitcoin/bitcoin#33082: wallet, refactor: Remove Legacy check and error 6a371b70c87a gui: Avoid pathological QT text/markdown behavior... 02d2b5a11c92 ci, iwyu: Treat warnings as errors for specific directories 57a3eac387bd refactor: Fix includes in `index` directory c0894a0a2be0 Merge bitcoin/bitcoin#33348: contrib: add bitcoin binary to gen-manpages 53e6db91ef59 contrib: add placeholder manpage for bitcoin binary bdb8eadcdc19 refactor: Fix includes in `crypto` directory 56f2a689a201 ci: Do not patch `leveldb` to workaround UB in "tidy" CI job f5887a8de4c8 contrib: add bitcoin binary to gen-manpages 314c42b55bda Merge bitcoin/bitcoin#33347: build: bump `CLIENT_VERSION_MAJOR` to 30 9f744fffc39d build: bump CLIENT_VERSION_MAJOR to 30 042817ddb84c Merge bitcoin/bitcoin#33346: doc: remove release note fragment 0f0e6fe7f5f4 doc: remove release note fragment 84cf5420398c Merge bitcoin/bitcoin#33275: Release: 30.0 translations update 13809b867ad9 Merge bitcoin/bitcoin#33303: ci: Checkout latest merged pulls e749205f83dd Merge bitcoin/bitcoin#33319: ci: reduce runner sizes on various jobs 9cbd346daa50 Merge bitcoin/bitcoin#33340: Fix benchmark CSV output 4776179be9fb Merge bitcoin/bitcoin#33342: guix: strip binaries in libexec 0ba44d9c38af Merge bitcoin/bitcoin#33296: net: check for empty header before calling FillBlock 1861030bea7f Merge bitcoin/bitcoin#30469: index: Fix coinstats overflow 8b6264768030 test: send duplicate blocktxn message in p2p_compactblocks.py 5e585a0fc4fd net: check for empty header before calling FillBlock cb825a07ac6d Merge bitcoin/bitcoin#33338: net: Add interrupt to pcp retry loop 0b0bd74c3e9a Merge bitcoin/bitcoin#33312: clang-tidy: Disable `UndefinedBinaryOperatorResult` check in `src/ipc` 790b440197bd Fix benchmark CSV output 3cceda9f4855 guix: strip binaries in libexec 3eea9fd39532 Merge bitcoin/bitcoin#33308: doc: fix `LIBRARY_PATH` comment 0b38cc9bf7a3 Merge bitcoin/bitcoin#33339: doc: move release notes to wiki pre branch off b320f5efa175 qt: 30.0 translations update 905c1a77f51c doc: move release notes to wiki pre branch off 2d799590feea Merge bitcoin/bitcoin#33283: contrib: update fixed seeds 188de70c8641 net: Add interrupt to pcp retry loop 9c6fa07b1248 Merge bitcoin/bitcoin#33322: Update libmultiprocess subtree to improve build and logs c76797481155 clang-tidy: Fix critical warnings 54dc34ec2279 index: Remove unused coinstatsindex recovery code 37c4fba1f4c1 index: Check BIP30 blocks when rewinding Coinstatsindex 51df9de8e5b9 doc: Add release note for 30469 bb8d67318329 test: Add coinstatsindex compatibility test b2e8b64ddc35 index, refactor: Append blocks to coinstatsindex without db read 431a076ae6e3 index: Fix coinstatsindex overflow issue fa8f081af31c ci: Checkout latest merged pulls 36e40417de3f Merge bitcoin-core/gui#884: Fix compatibility with `-debuglogfile` command-line option a334bbe9b79d Squashed 'src/ipc/libmultiprocess/' changes from 1b8d4a6f1e54..13424cf2ecc1 a4ee70e5b69c Merge commit 'a334bbe9b79ddf1999003c792bc8945639b7e9c1' into pr/subtree-4 e04cb9c1bdf2 Merge bitcoin/bitcoin#33201: Add functional test for IPC interface 75d9b7247570 kernel: make blockTip index const a341e11ac92b ci: test IPC on additional hosts 6aee573bfcf6 ci: enable IPC tests in CI 8d2ee88fa2a5 tests: add functional tests for IPC interface 3cc9a06c8dd5 test: Add TestNode ipcbind option 3cceb60a7153 test: Provide path to `bitcoin` binary 8c7f0056291d test: add is_ipc_compiled() and skip_if_no_ipc() functions 37c21ebe4078 Merge bitcoin/bitcoin#33309: doc: archive v29.1 release notes 32e2484b67e6 Merge bitcoin/bitcoin#33304: depends: strip when installing qt binaries 4d4789dffad5 net: Prevent node from binding to the same CService 647cdb4f7e80 Merge bitcoin/bitcoin#33311: net: Quiet down logging when router doesn't support natpmp/pcp 589b65f06c33 clang-tidy: Disable `UndefinedBinaryOperatorResult` check in `src/ipc` 4f1a4cbccd78 net: Quiet down logging when router doesn't support natpmp/pcp 93a29ff28301 trace: Workaround GCC bug compiling with old systemtap 5eeb2facbbbb ci: reduce runner sizes on various jobs 61ec8866c639 [doc] archive v29.1 release notes a2a35b58cb95 doc: fix LIBRARY_PATH comment e1ce0c525c7f Merge bitcoin/bitcoin#33291: ci: cd into BASE_BUILD_DIR for GetCMakeLogFiles 84e813a02bb7 index, refactor: DRY coinbase check fab842b32487 index, refactor: Rename ReverseBlock to RevertBlock 2d8f5b91881e Merge bitcoin/bitcoin#33136: ci: Remove redundant RUN_UNIT_TESTS_SEQUENTIAL c9d5f211c119 depends: strip when installing qt fae610d8581a ci: Remove redundant RUN_UNIT_TESTS_SEQUENTIAL 2562fe1b2b63 Merge bitcoin/bitcoin#32159: net, pcp: handle multi-part responses and filter for default route while querying default gateway ed2ff3c63d83 Merge bitcoin/bitcoin#33235: build: set ENABLE_IPC to OFF when fuzzing 88db09bafe9e net: handle multi-part netlink responses 113a4228229b wallet: Add m_cached_from_me to cache "from me" status 609d265ebc51 test: Add a test for anchor outputs in the wallet c40dc822d74a wallet: Throw an error in sendall if the tx size cannot be calculated 39a7dbdd277d wallet: Determine IsFromMe by checking for TXOs of inputs e76c2f7a4111 test: Test wallet 'from me' status change 689a32197638 Merge bitcoin/bitcoin#33220: doc: truc packages allow sub min feerate transactions 9b76eef2d2b4 ci: cd into BASE_BUILD_DIR for GetCMakeLogFiles 8e434a84999c macdeploy: rename macOS output to bitcoin-macos-app.zip 05353d9cf08c macdeploy: combine appname & -zip arguments 939678940f6c contrib: update fixed seeds 6cdd8ee67618 contrib: update makeseeds minblocks b8da9f4034e1 contrib: update makeseeds UA regex ba0b4304ecee Merge bitcoin/bitcoin#32989: ci: Migrate CI to hosted Cirrus Runners 0eb3eae54865 Merge bitcoin/bitcoin#33274: kernel: chainparams & headersync updates for 30.0 fa4885ef2fde test: Remove polling loop from test_runner 7270839af425 doc: truc packages allow sub min feerate transactions 46369583f3a9 Merge bitcoin/bitcoin#33224: doc: unify `datacarriersize` warning with release notes 755152ac819a kernel: add testnet4 assumeutxo param at height 90'000 a6512686e335 kernel: add mainnet assumeutxo param at height 910'000 943de66b5043 kernel: update headersync params 66fb96242648 kernel: update chainTxData c3cb26e02834 kernel: update assumevalid and minimumChainWork b4adae76d466 kernel: update assumed blockchain & chainstate sizes 7e58c94112d0 Merge bitcoin/bitcoin#33269: test: Fixup fill_mempool docstring 65a10fc3c52e p2p: add assertion for BlockTransactionsRequest indexes 58be359f6b24 fuzz: add a target for DifferenceFormatter Class 13f36c020f03 clang-format: regenerate configs 3c5da69a232b ci: remove un-needed lint_run*.sh files 2aa288efdda2 ci: fix annoying docker warning dd1c5903e8d8 ci: add ccache hit-rate warning when < 75% f4272844833d doc: Detail configuration of hosted CI runners 3f339e99e00b ci: dynamically match makejobs with cores 4393ffdd837b ci: remove .cirrus.yml bc41848d00f7 ci: port lint d290a8e6eab7 ci: port msan-depends 9bbae61e3b40 ci: port tsan-depends bf7d5364527c ci: port tidy 549074bc643f ci: port centos-depends-gui 58e38c3a0425 ci: port previous-releases-depends-debug 341196d75c30 ci: port fuzzer-address-undefined-integer-nodepends f2068f26c123 ci: port no-IPC-i686-DEBUG 2a00b12d73bb ci: port nowallet-libbitcoinkernel 9c2514de5343 ci: port mac-cross-gui-notests 2c990d84a3db ci: force reinstall of kernel headers in asan 884251441bb7 ci: update asan-lsan-ubsan f253031cb8e4 ci: port arm 32-bit job 5ded99a7f007 fuzz: MockMempoolMinFee in wallet_fees c9a7a198d9e8 test: move MockMempoolMinFee to util/txmempool adf67eb21baf fuzz: create FeeEstimatorTestingSetup to set fee_estimator ff10a37e9927 fuzz: mock CBlockPolicyEstimator in wallet_fuzz 04e7bfbceb03 ci: update windows-cross job cc1735d77714 ci: add job to determine runner type 020069e6b718 ci: add Cirrus cache host 9c2b96e0d030 ci: have base install run in right dir 18f6be09d02b ci: use docker build cache arg directly 94a09325475d ci: use buildx in ci fdf64e553245 ci: add configure-docker action 33ba073df7a8 ci: add REPO_USE_CIRRUS_RUNNERS b232b0fa5e96 ci: add caching actions b8fcc9fcbcdd ci: add configure environment action f591c3becafc fees: make estimateSmartFee/HighestTargetTracked virtual for mocking fa3f682032a3 test: Fixup fill_mempool docstring 7cc9a087069b Merge bitcoin/bitcoin#33253: Revert compact block cache inefficiencies 084fd68fda2c Merge bitcoin/bitcoin#33258: ci: use LLVM 21 6ff2d423625d Merge bitcoin/bitcoin#33189: rpc: followups for 33106 4d54bb2b92cc Merge bitcoin/bitcoin#33264: threading: reduce the scope of lock in getblocktemplate 9ae23950ef80 Merge bitcoin/bitcoin#33261: ci: return to using dash in CentOS job b6f8c48946cb coins: increase default `dbbatchsize` to 32 MiB 8bbb7b8bf8e3 refactor: Extract default batch size into kernel 493ba0f68831 threading: reduce the scope of lock in getblocktemplate 509ffea40abb ci: return to using dash in CentOS job fabc2615af26 test: Use extra_port() helper in feature_bind_extra.py b7b249d3adfb Revert "[refactor] rewrite vTxHashes as a vector of CTransactionRef" b9300d8d0a74 Revert "refactor: Simplify `extra_txn` to be a vec of CTransactionRef instead of a vec of pair<Wtxid, CTransactionRef>" df5a50e5de20 bench/blockencodings: add compact block reconstruction benchmark 4cf0ae474ba0 ci: use LLVM 21 fa96a4afea2a ci: Enable CI_LIMIT_STACK_SIZE=1 in i686_no_ipc task facfde2cdce6 test: Fix CLI_MAX_ARG_SIZE issues 6ca6f3b37b99 Merge bitcoin/bitcoin#33241: Update libmultiprocess subtree to fix build issues 9703b7e6d563 Merge bitcoin/bitcoin#32592: threading: remove ancient CRITICAL_SECTION macros dd68d0f40b61 Squashed 'src/ipc/libmultiprocess/' changes from b4120d34bad2..1b8d4a6f1e54 323b3fd27283 Merge commit 'dd68d0f40b614474f24469fbe1ba02f8f9146b31' into pr/subtree-3 d3c5e47391e2 wallet, refactor: Remove Legacy check and error 73220fc0f958 Merge bitcoin/bitcoin#33212: index: Don't commit state in BaseIndex::Rewind 46ca7712cb5f threading: remove unused template instantiations b537a6a6dbd3 threading: remove obsolete critsect macros 0d0e0a39b4a5 threading: use a reverse lock rather than manual critsect macros 3ddd554d3181 tests: Add Assertions in reverse_lock tests to exercise thread-safety annotations c88b1cbf57a3 tests: get rid of remaining manual critsect usage 2c223de2af72 Merge bitcoin/bitcoin#33237: doc: use new block_to_connect parameter name 02f6758e0ce8 Merge bitcoin/bitcoin#33233: doc: follow-ups to "Add bitcoin-{node,gui} to release binaries for IPC" 682bd04462d2 Merge bitcoin/bitcoin#33236: doc: Remove wrong and redundant doxygen tag a9701de0c9fd Merge bitcoin/bitcoin#33217: depends: remove xinerama extension from libxcb 78351ed083b1 Merge bitcoin/bitcoin#33222: miner: clamp options instead of asserting de65c86572c5 doc: capnproto instruction for Alpine and Arch 49d1a1a36306 doc: add capnproto-devel to Fedora build instruction a602f6fb7bf5 test: index with an unclean restart after a reorg 01b95ac6f496 index: don't commit state in BaseIndex::Rewind 1c3db0ed8e6f doc: use new block_to_connect parameter name 8333aa530290 Merge bitcoin/bitcoin#32523: wallet: Remove isminetypes eab5518913a6 doc: mark bitcoin-{node,gui} installed in files.md 966666de9a62 doc: Remove wrong and redundant doxygen tag d0e1bbad016c test: repeat block malleability test with relayable block over P2P af4156ab7556 build: set ENABLE_IPC to OFF when fuzzing 2a815d126bc9 doc: link to capnp version bump PR decc3671c88b guix: remove libxcb-xinerama.so.0 from allowed libs 3d9314f3838c depends: remove xinerama extension from libxcb 7d9789401be4 Merge bitcoin/bitcoin#31802: Add bitcoin-{node,gui} to release binaries for IPC 2885bd0e1c4f doc: unify `datacarriersize` warning with release notes be776a1443fd wallet: Remove isminetype 009a69a616cf wallet: Remove ISMINE_USED 6a7aa015747e wallet: Remove COutput::spendable and AvailableCoinsListUnspent 7392b8b084be miner: clamp options instead of asserting 620abe985e51 interfaces, gui: Remove is_mine output parameter from getAddress c0d28c8f5b15 qt: Fix compatibility with `-debuglogfile` command-line option 19273d0705fc fuzz: set mempool options in wallet_fees 81e5c8385b9e test: cover invalid codesep positions for signature in taproot daa40a3ff973 doc fixups for 33106 c568511e8ced test fixup for incremental feerate 636fa219d37f test fixups 9169a50d529e [rpc] expose blockmintxfee via getmininginfo ce7d94a492e6 doc: add release note 71f29d4fa90a doc: update build and dependencies docs for IPC 3cbf747c328f cmake: set ENABLE_IPC by default 32a90e1b9017 ci: use bitcoin-node for one depends job b333cc14d50b ci: build one depends job without multiprocess 16bce9ac4cd0 build: depends makes libmultiprocess by default 417437eb01ac script/verify_flags: extend script_verify_flags to 64 bits 3cbbcb66efc3 script/interpreter: make script_verify_flag_name an ordinary enum bddcadee82da script/verify_flags: make script_verify_flags type safe a5ead122fe06 script/interpreter: introduce script_verify_flags typename 4577fb2b1e09 rpc: have getdeploymentinfo report script verify flags a3986935f073 validation: export GetBlockScriptFlags() 5db8cd2d37eb Move mapFlagNames and FormatScriptFlags logic to script/interpreter.h adefb51c5437 rpc/net: add per-peer inv_to_send sizes 30c6f64eed30 test: Remove unnecessary LoadWallet() calls fb8720f1e09f sign: Refactor Schnorr sighash computation out of CreateSchnorrSig a4cfddda644f tests: Clarify why musig derivation adds a pubkey and xpub 39a63bf2e7e3 descriptors: Add a doxygen comment for has_hardened output_parameter 2320184d0ea8 descriptors: Fix meaning of any_key_parsed 88b0647f027a wallet: Always write last hardened cache flag in migrated wallets 8a08eef645ee tests: Check that the last hardened cache upgrade occurs 0465574c1279 test: Fixes send_blocks_and_test docs 09c95f21e71d test: Adds block tiebreak over restarts tests 18524b072e6b Make nSequenceId init value constants 8b91883a23aa Set the same best tip on restart if two candidates have the same work 5370bed21e0b test: add functional test for complex reorgs ab145cb3b471 Updates CBlockIndexWorkComparator outdated comment fa37153288ca util: Abort on failing CHECK_NONFATAL in debug builds fa0dc4bdffb0 test: Allow testing of check failures faeb58fe6686 refactor: Set G_ABORT_ON_FAILED_ASSUME when G_FUZZING_BUILD 5fa81e239a39 test: add valid tx test with minimum-sized ECDSA signature (8 bytes DER-encoded) 0802398e749c fuzz: make it possible to mock (fuzz) CThreadInterrupt 6d9e5d130d2e fuzz: add CConnman::SocketHandler() to the tests 3265df63a48d fuzz: add CConnman::InitBinds() to the tests 91cbf4dbd864 fuzz: add CConnman::CreateNodeFromAcceptedSocket() to the tests 50da7432ec1e fuzz: add CConnman::OpenNetworkConnection() to the tests e6a917c8f8e0 fuzz: add Fuzzed NetEventsInterface and use it in connman tests e883b3776881 fuzz: set the output argument of FuzzedSock::Accept() 58e55b17e632 test: descriptor: cover invalid multi/multi_a cases 664657ed1343 bugfix: disallow label for ranged descriptors & allow external non-ranged descriptors to have label fe71a4b139f3 depends: Avoid `warning: "_FORTIFY_SOURCE" redefined` for `libevent` 42e99ad77396 net: skip non-route netlink responses 57ce645f05d1 net: filter for default routes in netlink responses b81f37031c8f p2p: Increase tx relay rate REVERT: 1857296c067b kernel: Fix bitcoin-chainstate for windows REVERT: b14455e3fcc5 kernel: Add Purpose section to header documentation REVERT: b6bc17b703dd kernel: Allowing reducing exports REVERT: b1ef48b20730 kernel: Add pure kernel bitcoin-chainstate REVERT: b8e4169e453a kernel: Add functions to get the block hash from a block REVERT: ea03b539a2fa kernel: Add block index utility functions to C header REVERT: 10e8bc695713 kernel: Add function to read block undo data from disk to C header REVERT: 49743bf8c133 kernel: Add functions to read block from disk to C header REVERT: 11588ec6537c kernel: Add function for copying block data to C header REVERT: de24590872f8 kernel: Add functions for the block validation state to C header REVERT: dcba34ad8f86 kernel: Add validation interface to C header REVERT: 527435ebcc73 kernel: Add interrupt function to C header REVERT: c6a3da91764a kernel: Add import blocks function to C header REVERT: f7d879349a61 kernel: Add chainstate load options for in-memory dbs in C header REVERT: 9b0116f0adad kernel: Add options for reindexing in C header REVERT: 4bbd99b03001 kernel: Add block validation to C header REVERT: 8dbc8230f110 kernel: Add chainstate loading when instantiating a ChainstateManager REVERT: f1a9d6f4dfff kernel: Add chainstate manager option for setting worker threads REVERT: 864008a1a71a kernel: Add chainstate manager object to C header REVERT: b160f13ed141 kernel: Add notifications context option to C header REVERT: d465a997f2e9 kernel: Add chain params context option to C header REVERT: e61538b88b32 kernel: Add kernel library context object REVERT: 3963f4c9de73 kernel: Add logging to kernel library C header REVERT: f3acc94b4b7e kernel: Introduce initial kernel C header API git-subtree-dir: depend/bitcoin git-subtree-split: 4da01123df0f4cb7e05c09dbb1c6b00c064beabe
8b29016 fuzz: make it possible to mock (fuzz) CThreadInterrupt (Vasil Dimov) 1d633fb fuzz: add CConnman::SocketHandler() to the tests (Vasil Dimov) d9a037d fuzz: add CConnman::InitBinds() to the tests (Vasil Dimov) 758f10b fuzz: add CConnman::CreateNodeFromAcceptedSocket() to the tests (Vasil Dimov) af507b9 fuzz: add CConnman::OpenNetworkConnection() to the tests (Vasil Dimov) 6e90fd0 fuzz: add Fuzzed NetEventsInterface and use it in connman tests (Vasil Dimov) fa44ad6 fuzz: set the output argument of FuzzedSock::Accept() (Vasil Dimov) Pull request description: Extend `CConnman` fuzz tests to also exercise the methods `OpenNetworkConnection()`, `CreateNodeFromAcceptedSocket()`, `InitBinds()` and `SocketHandler()`. Previously fuzzing those methods would have resulted in real socket functions being called in the operating system which is undesirable during fuzzing. Now that bitcoin/bitcoin#21878 is complete all those are mocked to a fuzzed socket and a fuzzed DNS resolver (see how `CreateSock` and `g_dns_lookup` are replaced in the first commit). ACKs for top commit: achow101: ACK 8b29016 jonatack: Review re-ACK 8b29016 dergoegge: Code review ACK 8b29016 Tree-SHA512: a717d4e79f42bacf2b029c821fdc265e10e4e5c41af77cd4cb452cc5720ec83c62789d5b3dfafd39a22cc8c0500b18169aa7864d497dded729a32ab863dd6c4d
3f336cb fuzz: make it possible to mock (fuzz) CThreadInterrupt (Vasil Dimov) 14f6df0 fuzz: add CConnman::SocketHandler() to the tests (Vasil Dimov) 3719c88 fuzz: add CConnman::InitBinds() to the tests (Vasil Dimov) 87f248c fuzz: add CConnman::CreateNodeFromAcceptedSocket() to the tests (Vasil Dimov) 495dab0 fuzz: add CConnman::OpenNetworkConnection() to the tests (Vasil Dimov) 7472fa5 fuzz: add Fuzzed NetEventsInterface and use it in connman tests (Vasil Dimov) 370ba95 fuzz: set the output argument of FuzzedSock::Accept() (Vasil Dimov) Pull request description: Extend `CConnman` fuzz tests to also exercise the methods `OpenNetworkConnection()`, `CreateNodeFromAcceptedSocket()`, `InitBinds()` and `SocketHandler()`. Previously fuzzing those methods would have resulted in real socket functions being called in the operating system which is undesirable during fuzzing. Now that bitcoin/bitcoin#21878 is complete all those are mocked to a fuzzed socket and a fuzzed DNS resolver (see how `CreateSock` and `g_dns_lookup` are replaced in the first commit). ACKs for top commit: achow101: ACK 3f336cb jonatack: Review re-ACK 3f336cb dergoegge: Code review ACK 3f336cb Tree-SHA512: a717d4e79f42bacf2b029c821fdc265e10e4e5c41af77cd4cb452cc5720ec83c62789d5b3dfafd39a22cc8c0500b18169aa7864d497dded729a32ab863dd6c4d
Extend
CConnmanfuzz tests to also exercise the methodsOpenNetworkConnection(),CreateNodeFromAcceptedSocket(),InitBinds()andSocketHandler().Previously fuzzing those methods would have resulted in real socket functions being called in the operating system which is undesirable during fuzzing. Now that #21878 is complete all those are mocked to a fuzzed socket and a fuzzed DNS resolver (see how
CreateSockandg_dns_lookupare replaced in the first commit).