Skip to content

config: allow setting -proxy per network #32425

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jun 10, 2025

Conversation

vasild
Copy link
Contributor

@vasild vasild commented May 6, 2025

-proxy=addr:port specifies the proxy for all networks (except I2P). Previously only the Tor proxy could have been specified separately via -onion=addr:port.

Make it possible to specify separately the proxy for IPv4, IPv6, Tor and CJDNS by e.g. -proxy=addr:port=ipv6. Or remove the proxy for a given network, e.g. -proxy=0=cjdns.

Resolves: #24450

@DrahtBot
Copy link
Contributor

DrahtBot commented May 6, 2025

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Code Coverage & Benchmarks

For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/32425.

Reviews

See the guideline for information on the review process.

Type Reviewers
ACK pinheadmz, caesrcd, danielabrozzoni, 1440000bytes

If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

Conflicts

Reviewers, this pull request conflicts with the following ones:

  • #32699 (docs: adds correct updated documentation links by Zeegaths)
  • #31974 (Drop testnet3 by Sjors)

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.

Comment on lines -1192 to 1221
for ([[maybe_unused]] const auto& [arg, unix] : std::vector<std::pair<std::string, bool>>{
// arg name UNIX socket support
{"-i2psam", false},
{"-onion", true},
{"-proxy", true},
{"-rpcbind", false},
{"-torcontrol", false},
{"-whitebind", false},
{"-zmqpubhashblock", true},
{"-zmqpubhashtx", true},
{"-zmqpubrawblock", true},
{"-zmqpubrawtx", true},
{"-zmqpubsequence", true},
for ([[maybe_unused]] const auto& [param_name, unix, suffix_allowed] : std::vector<std::tuple<std::string, bool, bool>>{
// arg name UNIX socket support =suffix allowed
{"-i2psam", false, false},
{"-onion", true, false},
{"-proxy", true, true},
{"-bind", false, true},
{"-rpcbind", false, false},
{"-torcontrol", false, false},
{"-whitebind", false, false},
{"-zmqpubhashblock", true, false},
{"-zmqpubhashtx", true, false},
{"-zmqpubrawblock", true, false},
{"-zmqpubrawtx", true, false},
{"-zmqpubsequence", true, false},
}) {
Copy link
Contributor Author

@vasild vasild May 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

note: I sneaked in -bind here. I guess before it was omitted because this loop did not support =whatever suffix. Now it does.

Copy link

@caesrcd caesrcd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK 6a9f046

I have reviewed the code, unit tests, and functional tests. I built the project and ran a node using the -proxy=0=cjdns parameter to verify the behavior. Confirmed that CJDNS correctly bypasses the general proxy as intended. Manual testing was performed on Arch Linux, and the node successfully connected over CJDNS directly without using the proxy.

Copy link
Member

@pablomartin4btc pablomartin4btc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the user sets -proxy=addr:port=tor then -onion= shouldn't be allowed, no? Otherwise one could set 2 diff proxies for Tor(?).

Also, in Tor's documentation:

-proxy=ip:port  Set the proxy server. If SOCKS5 is selected (default), this proxy
                server will be used to try to reach .onion addresses as well.

So, shouldn't -proxy=0=cjdns be the default if -cjdnsreachable when -proxy=addr:port?

@DrahtBot DrahtBot mentioned this pull request May 7, 2025
@laanwj laanwj added the P2P label May 7, 2025
@vasild vasild force-pushed the proxy_per_network branch from 6a9f046 to 2059eaa Compare May 7, 2025 12:19
@vasild
Copy link
Contributor Author

vasild commented May 7, 2025

6a9f04688f...2059eaa692: address suggestions

If the user sets -proxy=addr:port=tor then -onion= shouldn't be allowed, no? Otherwise one could set 2 diff proxies for Tor(?).

I think that is ok, assuming the expectation is that later options override earlier ones. For example, without this PR, -proxy=x -onion=y is supposed to set the Tor proxy to y, overriding the earlier x. Updated tor.md to mention that.

So, shouldn't -proxy=0=cjdns be the default if -cjdnsreachable when -proxy=addr:port?

Could be, but I do not like these "automatically set x only if y and z are true, otherwise something else". That would also change the default behavior in a breaking way - for people that use -proxy which does support CJDNS it will stop working. Maybe there are no such users, but we can't know for sure.

@pablomartin4btc
Copy link
Member

Otherwise one could set 2 diff proxies for Tor(?).

I think that is ok, assuming the expectation is that later options override earlier ones. For example, without this PR, -proxy=x -onion=y is supposed to set the Tor proxy to y, overriding the earlier x. Updated tor.md to mention that.

Ok.

So, shouldn't -proxy=0=cjdns be the default if -cjdnsreachable when -proxy=addr:port?

Could be, but I do not like these "automatically set x only if y and z are true, otherwise something else". That would also change the default behavior in a breaking way - for people that use -proxy which does support CJDNS it will stop working. Maybe there are no such users, but we can't know for sure.

Ok, but since the previous statement (-proxy=...) from Tor's doc combined with:

-onlynet=onion Make automatic outbound connections only to .onion addresses.

Maybe we should give a warning at least (and perhaps suggesting: -proxy=0=cjdns) because that (-proxy=ip[:<port>] -onlynet=onion -cjdnsreachable) would make CJDNS not to work (?).

I think a more long term solution could be to add the possibility of having a separate proxy for CJDNS, as suggested on the issue by other commenters there.

Copy link

@caesrcd caesrcd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK 2059eaa

I have tested the code.

@vasild
Copy link
Contributor Author

vasild commented May 8, 2025

Maybe we should give a warning at least (and perhaps suggesting: -proxy=0=cjdns) because that (-proxy=ip[:<port>] -onlynet=onion -cjdnsreachable) would make CJDNS not to work (?).

That would make automatic outbound connections to Tor peers only. Still manual outbound and inbound connections would work and be possible to/from CJDNS peers. Maybe a warning in the lines of "Automatic outbound connections will only be made to Tor peers, if you want to include CJDNS, then use -onlynet=cjdns in addition". Or maybe not? In either case adding such a warning seems to be out of the scope of this PR whose purpose is to be able to specify proxy per network.

I think a more long term solution could be to add the possibility of having a separate proxy for CJDNS, as suggested on the issue by other commenters there.

That is made possible by this PR: -proxy=addr:port=cjdns.

@1440000bytes

This comment was marked as abuse.

Copy link
Member

@pinheadmz pinheadmz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK 2059eaa

Built and ran all tests on macos/arm64. Reviewed both commits and left a few nits.
Played with the feature on mainnet, and connected to all networks:

         ipv4    ipv6   onion   cjdns   total   block  manual
in          0       0       0       0       0
out         1       1       2       7      11       0       7
total       1       1       2       7      11

Even used tor's ipv4 and unix sockets for separate proxies ;-)

bcd -debug=tor -debug=net -proxy=unix:/Users/matthewzipkin/tor/sock -proxy=127.0.0.1:9050=ipv6 -cjdnsreachable -proxy=0=cjdns

Show Signature
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

ACK 2059eaa692ff614c41dee50f4bc2d2946e5d42af
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEE5hdzzW4BBA4vG9eM5+KYS2KJyToFAmgiWz0ACgkQ5+KYS2KJ
yTp0Ag/+JZCDfs0ILvoCRuuUN74qNh1vlvS9eqie3d32quX4wjYE8ZQC4Ov18xlv
8nOCKzDu369bixp1N6HlQXqa41w0x0KbAshMHWsHwolKr5MumQTfOp6mcnMaD1J4
zbS1Jbyigs7x+ukeVLW22CH9I64GUGQuizmzuWA2/cR0ehFtkLsKyG/5HCSeQU4H
/VzzEGcYNeqKKroLKKswqbkcVSrzhz8I1P7ZOEMhYQ6kDTZ5YVKGhbqcb8n2S8nJ
Tr5GY72gx8WY+LwgLM3nuesus8jYSVKSwleWCGxm2uqKdAkLcBQajBnJy1kgIYO0
ieAMypz9OF8zYls6VvhuTZseTvMWIM0ai37/1YUS8R3Dk3c9habUhv2GoxEpHmZb
2vcJ133qtVRNj9ZWAy987lmXKz1m3imrH+SGGUdG0etaHjs6qz0JnFxv11/xTzaB
SBFc8nalkIG/RZqy72i3WskMdOxkywkVx2fzN5RYZdpxSb2krlaOVln3On60H8iW
Ewnk+MioS0s/1mvp+u31YG5GzRhqO4mCtQMG5IE2W+k58q1gMvq6uQtasgWGu9LX
ZihaLz2cxeHxCqQFaFP1rL54IB/2MWXWXOBCEp24JQT/LXAfq1sacikd1PzaI/T8
tVQcYWs1W3ZORKjqMhWaPEpXurz5mstul/zV/BkRcod6E9XgJPw=
=65/9
-----END PGP SIGNATURE-----

pinheadmz's public key is on openpgp.org

if (IsUnixSocketPath(proxy_str)) {
proxy = Proxy{proxy_str, /*tor_stream_isolation=*/proxyRandomize};
} else {
const std::optional<CService> addr{Lookup(proxy_str, DEFAULT_TOR_SOCKS_PORT, fNameLookup)};
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

4af5b4d

The default port here is a little funny since a user could set -proxy=127.0.0.1=cjdns right?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, that is the same in master so no change in behavior by this PR. In master it is using a magic number 9050 whereas here it uses the constant DEFAULT_TOR_SOCKS_PORT.

-proxy=127.0.0.1=cjdns would be interpreted as -proxy=127.0.0.1:9050=cjdns which might be the correct config, or if not then the user could use -proxy=127.0.0.1:1234=cjdns to specify another port.

Personally, I would favor a more dumb implementation that does not do such automations and guessings on behalf of the user. Such an implementation would require the port to always be provided and refuse to start if not.

vasild and others added 2 commits May 13, 2025 12:09
`-proxy=addr:port` specifies the proxy for all networks (except I2P).
Previously only the Tor proxy could have been specified separately via
`-onion=addr:port`.

Make it possible to specify separately the proxy for IPv4, IPv6, Tor and
CJDNS by e.g. `-proxy=addr:port=ipv6`. Or remove the proxy for a given
network, e.g. `-proxy=0=cjdns`.

Resolves: bitcoin#24450
Also change the formatting of `tor.md` to have more horizonal space for
the text.

Co-authored-by: Matthew Zipkin <pinheadmz@gmail.com>
@vasild vasild force-pushed the proxy_per_network branch from 2059eaa to e98c51f Compare May 13, 2025 10:15
@vasild
Copy link
Contributor Author

vasild commented May 13, 2025

2059eaa692...e98c51fcce: address suggestions

Copy link
Member

@pinheadmz pinheadmz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK e98c51f

Trivial changes since last ACK. Built and tested again on mainnet, this time added i2p as well, connected to peers on every network we support. Tried various proxy settings.

The code change is small and mostly just contained in init.cpp. We used to call SetProxy() on every network type with the same proxy endpoint, this new code parses more fine-grained config options and sets separate proxies based on the options.

Show Signature
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

ACK e98c51fcce9ae3f441a416cab32a5c85756c6c64
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEE5hdzzW4BBA4vG9eM5+KYS2KJyToFAmgjTV8ACgkQ5+KYS2KJ
yToKAw/6AgyTgGUOnk+VxgZGTTFufgNES5uvasHJtpkvcNYf9boWGpVQXBxf9ePc
BR7ly5C1+Tmvv6X36FwLE+mhNbXHIK178lfWFs+CMMeeuEThwR7LapGSbdAZGa+l
RxXxAx49/Ns5wMnMXPS+7mDp3CKAk1HRm1u1AN5k99RcyXdG5QUqfCb5QctckTUZ
jS17RuzONdJxW34Xd+p2nfsbKYUBy0YQPfLyxjy4e3KaStmpQTtp0HIKampli4t4
GhJiD+Yxj3ohJHqMS7so7jFo6nXqYw9k8wNUdaZTySBwMk2vDzRYesoBuXQZqM+j
xV9KReg1zxbtJTtW4cC38Rr3qRJJm4AKUNQmybs5aDfT07UAe2Ocd+b2lX97Pg4L
EyFCneylgs9mY+XH6UJpbOMihGWjAzZ63dRGrnMEFwZuNOmSBCSqPgQNjqSyBnU1
Cwj8liKCzr+mYwgWSA1M57BJGc0ZYeIPOEi8NEBzwejtQN6ljESmtWXh3kgKcXyb
VE2e3KJvCTTtdjI8r6nk2cNGKDMwgzeJp1DAAMEj2xOT7rI0qYc1tdr4HUGhhl0w
TiCeCenZhgPyTocW0xVFTzAmvhm+WCHp6Epyucjo0hnK4esw965z2N3B+4tmCfMY
B6VJFHuUqaerSIlvFzI8QpJsP9UBUUe2VS+XXhBv1VnlNuGewDM=
=PiAP
-----END PGP SIGNATURE-----

pinheadmz's public key is on openpgp.org

@DrahtBot DrahtBot requested a review from caesrcd May 13, 2025 13:50
Copy link

@caesrcd caesrcd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reACK e98c51f

Copy link
Contributor

@danielabrozzoni danielabrozzoni left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review ACK e98c51f

I have reviewed the code, and it looks good to me.
I run the tests locally and did some very limited manual testing, mimicking the functional test behavior (passing in -proxy=...=network and checking the getnetworkinfo output)

Copy link
Member

@luke-jr luke-jr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably an improvement as-is, but might want to think through the name proxy logic

return InitError(strprintf(_("Unrecognized network in -proxy='%s': '%s'"), param_value, net_str));
}
}
if (ipv4_proxy.IsValid()) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These conditions aren't needed. SetProxy itself just returns false if it's not valid.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right. But I prefer to be explicit rather than feed SetProxy() an invalid value and rely on it doing the "right thing". It is not documented what SetProxy() would do with an invalid input, so I prefer to have these checks.

Comment on lines +1627 to +1630
} else if (net_str == "ipv4") {
ipv4_proxy = name_proxy = proxy;
} else if (net_str == "ipv6") {
ipv6_proxy = name_proxy = proxy;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure this logic is ideal. If you set an all-network proxy, but then disable it for IPv6, you might be expecting name resolution to use the proxy. Or maybe not.

Copy link
Contributor Author

@vasild vasild May 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That would require some convoluted juggling with the parameters. Like:

  1. -proxy=addr:port=ipv6 sets the "ipv6" and "name" proxy, so that just a single -proxy=1.2.3.4:5678=ipv6 works as expected. However:
  2. -proxy=0=ipv6 removes only the "ipv6" proxy and not the "name" proxy, so that what you describe works: -proxy=addr:port -proxy=0=ipv6.

Another option would be to provide a separate name proxy, e.g. -proxy=addr:port=name or -proxy=addr:port=dns. But then users will probably forget to set it and be surprised that -proxy=addr:port=ipv4 does DNS requests without of the proxy. Then it would be tempting for us to automatically set the "name" proxy from the "ipv4" or "ipv6" proxy which is another convoluted automation.

I prefer to keep it simple as it is now, without having mismatching enable/disable logic (1. and 2. above) or automatically setting parameters based on other parameters.

Proxy cjdns_proxy;
for (const std::string& param_value : args.GetArgs("-proxy")) {
const auto eq_pos{param_value.rfind('=')};
const std::string proxy_str{param_value.substr(0, eq_pos)}; // e.g. 127.0.0.1:9050=ipv4 -> 127.0.0.1:9050
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

string_view?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That would make the string_view point to the temporary returned by substr(). That temporary is destroyed after the end of the statement, so the string_view remains with a dangling pointer. Like in the example in https://en.cppreference.com/w/cpp/string/basic_string/operator_basic_string_view which says "// Bad: holds a dangling pointer".

Or a small standalone program to demonstrate:

int main(int, char**)
{
    std::string s{"abcd"};
    std::string_view sv{s.substr(2)};
    std::cout << sv << "\n";
    return 0;
}

Compile with clang -fsanitize=address and run:

==13945==ERROR: AddressSanitizer: stack-use-after-scope on address ...

@1440000bytes

This comment was marked as abuse.

Copy link

@1440000bytes 1440000bytes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK e98c51f

Signature
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

ACK e98c51fcce9ae3f441a416cab32a5c85756c6c64
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQSSUwYqT5LWNFkIXKYtIwUgISpZAQUCaCuzGQAKCRAtIwUgISpZ
AVt3AP98Co6T1/S4RqaIWypoL4NI1B1PhTPdRdFdvPP0sHWxIgD/SlBxLKNBIehf
tvLSnyIV9cvCBRefydIJCTf+dS06tAw=
=D/ae
-----END PGP SIGNATURE-----

Comment on lines +1599 to +1600
const auto eq_pos{param_value.rfind('=')};
const std::string proxy_str{param_value.substr(0, eq_pos)}; // e.g. 127.0.0.1:9050=ipv4 -> 127.0.0.1:9050
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In ca5781e "config: allow setting -proxy per network"

nit: Split()? (from src/util/string.h)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about this:

diff --git a/src/init.cpp b/src/init.cpp
index 77dc74f690..08ec964e25 100644
--- a/src/init.cpp
+++ b/src/init.cpp
@@ -1190,14 +1190,20 @@ bool CheckHostPortOptions(const ArgsManager& args) {
         {"-zmqpubhashtx",    true,                false},
         {"-zmqpubrawblock",  true,                false},
         {"-zmqpubrawtx",     true,                false},
         {"-zmqpubsequence",  true,                false},
     }) {
         for (const std::string& param_value : args.GetArgs(param_name)) {
-            const std::string param_value_hostport{
-                suffix_allowed ? param_value.substr(0, param_value.rfind('=')) : param_value};
+            const auto parts{util::SplitString(param_value, '=')};
+            if (!suffix_allowed && parts.size() >= 2) {
+                return InitError(strprintf(_("Invalid value for %s: contains '=': '%s'"), param_name, param_value));
+            }
+            if (parts.size() >= 3) {
+                return InitError(strprintf(_("Invalid value for %s: contains too many '=': '%s'"), param_name, param_value));
+            }
+            const auto param_value_hostport{parts.at(0)};
             std::string host_out;
             uint16_t port_out{0};
             if (!SplitHostPort(param_value_hostport, port_out, host_out)) {
 #ifdef HAVE_SOCKADDR_UN
                 // Allow unix domain sockets for some options e.g. unix:/some/file/path
                 if (!unix || !param_value.starts_with(ADDR_PREFIX_UNIX)) {
@@ -1568,20 +1574,20 @@ bool AppInitMain(NodeContext& node, interfaces::BlockAndHeaderTipInfo* tip_info)
     Proxy ipv4_proxy;
     Proxy ipv6_proxy;
     Proxy onion_proxy;
     Proxy name_proxy;
     Proxy cjdns_proxy;
     for (const std::string& param_value : args.GetArgs("-proxy")) {
-        const auto eq_pos{param_value.rfind('=')};
-        const std::string proxy_str{param_value.substr(0, eq_pos)}; // e.g. 127.0.0.1:9050=ipv4 -> 127.0.0.1:9050
+        const auto parts{util::SplitString(param_value, '=')};
+        const auto& proxy_str{parts.at(0)};
         std::string net_str;
-        if (eq_pos != std::string::npos) {
-            if (eq_pos + 1 == param_value.length()) {
+        if (parts.size() == 2) {
+            net_str = ToLower(parts[1]);
+            if (net_str.empty()) {
                 return InitError(strprintf(_("Invalid -proxy address or hostname, ends with '=': '%s'"), param_value));
             }
-            net_str = ToLower(param_value.substr(eq_pos + 1)); // e.g. 127.0.0.1:9050=ipv4 -> ipv4
         }
 
         Proxy proxy;
         if (!proxy_str.empty() && proxy_str != "0") {
             if (IsUnixSocketPath(proxy_str)) {
                 proxy = Proxy{proxy_str, /*tor_stream_isolation=*/proxyRandomize};
diff --git a/test/functional/feature_proxy.py b/test/functional/feature_proxy.py
index ba8a0212a6..651bdb8d4c 100755
--- a/test/functional/feature_proxy.py
+++ b/test/functional/feature_proxy.py
@@ -446,12 +446,22 @@ class ProxyTest(BitcoinTestFramework):
 
         self.log.info("Test passing trailing '=' raises expected init error")
         self.nodes[1].extra_args = ["-proxy=127.0.0.1:9050="]
         msg = "Error: Invalid -proxy address or hostname, ends with '=': '127.0.0.1:9050='"
         self.nodes[1].assert_start_raises_init_error(expected_msg=msg)
 
+        self.log.info("Test passing '=' raises expected init error when '=' is not allowed")
+        self.nodes[1].extra_args = ["-onion=a=b"]
+        msg = "Error: Invalid value for -onion: contains '=': 'a=b'"
+        self.nodes[1].assert_start_raises_init_error(expected_msg=msg)
+
+        self.log.info("Test passing too many '=' raises expected init error")
+        self.nodes[1].extra_args = ["-proxy=127.0.0.1:9050=ipv4=x"]
+        msg = "Error: Invalid value for -proxy: contains too many '=': '127.0.0.1:9050=ipv4=x'"
+        self.nodes[1].assert_start_raises_init_error(expected_msg=msg)
+
         self.log.info("Test passing unrecognized network raises expected init error")
         self.nodes[1].extra_args = ["-proxy=127.0.0.1:9050=foo"]
         msg = "Error: Unrecognized network in -proxy='127.0.0.1:9050=foo': 'foo'"
         self.nodes[1].assert_start_raises_init_error(expected_msg=msg)
 
         self.log.info("Test passing proxy only for IPv6")

Better? Append to #32727?

Comment on lines +1222 to +1224
for (const std::string& param_value : args.GetArgs(param_name)) {
const std::string param_value_hostport{
suffix_allowed ? param_value.substr(0, param_value.rfind('=')) : param_value};
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In ca5781e "config: allow setting -proxy per network"

nit: I think using Split() would make this easier to read

luke-jr pushed a commit to luke-jr/bitcoin that referenced this pull request Jun 6, 2025
`-proxy=addr:port` specifies the proxy for all networks (except I2P).
Previously only the Tor proxy could have been specified separately via
`-onion=addr:port`.

Make it possible to specify separately the proxy for IPv4, IPv6, Tor and
CJDNS by e.g. `-proxy=addr:port=ipv6`. Or remove the proxy for a given
network, e.g. `-proxy=0=cjdns`.

Resolves: bitcoin#24450

Github-Pull: bitcoin#32425
Rebased-From: ca5781e
@glozow
Copy link
Member

glozow commented Jun 10, 2025

Needs release note?

@glozow glozow merged commit 157bbd0 into bitcoin:master Jun 10, 2025
19 checks passed
@vasild vasild deleted the proxy_per_network branch June 11, 2025 08:38
vasild added a commit to vasild/bitcoin that referenced this pull request Jun 11, 2025
vasild added a commit to vasild/bitcoin that referenced this pull request Jun 11, 2025
@vasild
Copy link
Contributor Author

vasild commented Jun 11, 2025

Needs release note?

Right. Done in #32727

vasild added a commit to vasild/bitcoin that referenced this pull request Jun 13, 2025
Co-authored-by: Jan B <608446+janb84@users.noreply.github.com>
TheCharlatan added a commit to TheCharlatan/rust-bitcoinkernel that referenced this pull request Jun 14, 2025
…9e030d56343

d9e030d56343 kernel: Fix bitcoin-chainstate for windows
cc4ac564cc38 kernel: Add Purpose section to header documentation
bfdf605296ce kernel: Add pure kernel bitcoin-chainstate
35099f39b7ea kernel: Add functions to get the block hash from a block
fae94070a72e kernel: Add block index utility functions to C header
d5d377859785 kernel: Add function to read block undo data from disk to C header
43f6039b7b48 kernel: Add functions to read block from disk to C header
54cdfcdc68e6 kernel: Add function for copying block data to C header
18cab45358c3 kernel: Add functions for the block validation state to C header
033e86a06cbc kernel: Add validation interface to C header
9398f9ea4e14 kernel: Add interrupt function to C header
86340a490541 kernel: Add import blocks function to C header
f11dc01bba94 kernel: Add chainstate load options for in-memory dbs in C header
be9fc18dd54f kernel: Add options for reindexing in C header
7947a9b500fc kernel: Add block validation to C header
d5ace1f8ea96 kernel: Add chainstate loading when instantiating a ChainstateManager
47ff652cf08f kernel: Add chainstate manager option for setting worker threads
106898e0c25f kernel: Add chainstate manager object to C header
3eadf1ccbe1c kernel: Add notifications context option to C header
98b1454a987a kernel: Add chain params context option to C header
ca8d6ee344b7 kernel: Add kernel library context object
96f5ebe97748 kernel: Add logging to kernel library C header
906a19748152 kernel: Introduce initial kernel C header API
4b8ac9eacd1b Merge bitcoin/bitcoin#32680: ci: Rewrite test-each-commit as py script
157bbd0a07c0 Merge bitcoin/bitcoin#32425: config: allow setting -proxy per network
ebec7bf3895c Merge bitcoin/bitcoin#32572: doc: Remove stale sections in dev notes
011a8c5f0168 Merge bitcoin/bitcoin#32696: doc: make `-DWITH_ZMQ=ON` explicit on `build-unix.md`
fe39050a66c7 Merge bitcoin/bitcoin#32678: guix: warn and abort when SOURCE_DATE_EPOCH is set
692fe280c232 Merge bitcoin/bitcoin#32713: doc: fuzz: fix AFL++ link
c1d4253d316e Merge bitcoin/bitcoin#32711: doc: add missing packages for BSDs (cmake, gmake, curl) to depends/README.md
89526deddf87 doc: add missing packages for BSDs (cmake, gmake, curl) to depends/README.md
a39b7071cfb4 doc: fuzz: fix AFL++ link
dff208bd5a14 Merge bitcoin/bitcoin#32708: rpc, doc: update `listdescriptors` RCP help
d978a43d054d Merge bitcoin/bitcoin#32408: tests: Expand HTTP coverage to assert libevent behavior
f3bbc746647d Merge bitcoin/bitcoin#32406: policy: uncap datacarrier by default
b44514b87633 rpc, doc: update `listdescriptors` RCP help
32d4e92b9ac8 doc: make `-DWITH_ZMQ=ON` explicit on `build-unix.md`
e2174378aa8a Merge bitcoin/bitcoin#32539: init: Configure reachable networks before we start the RPC server
2053c4368472 Merge bitcoin/bitcoin#32675: test: wallet: cover wallet passphrase with a null char
fa9cfdf3be75 ci: [doc] fix url redirect
fac60b9c4839 ci: Rewrite test-each-commit as py script
ae024137bda9 Merge bitcoin/bitcoin#32496: depends: drop `ltcg` for Windows Qt
6a2ff6790929 Merge bitcoin/bitcoin#32679: doc: update tor docs to use bitcoind binary from path
fd4399cb9c69 Merge bitcoin/bitcoin#32602: fuzz: Add target for coins database
f94167512dc9 Merge bitcoin/bitcoin#32676: test: apply microsecond precision to test framework logging
0dcb45290cf8 Merge bitcoin/bitcoin#32607: rpc: Note in fundrawtransaction doc, fee rate is for package
4ce53495e5e1 doc: update tor docs to use bitcoind binary from path
a5e98dc3ae63 Merge bitcoin/bitcoin#32651: cmake: Replace deprecated `qt6_add_translation` with `qt6_add_lrelease`
9653ebc05360 depends: remove support for Windows Qt LTO builds
7cfbb8575e1f test: wallet: cover wallet passphrase with a null char
5c4a0f8009ce guix: warn and abort when SOURCE_DATE_EPOCH is set
4af72d8b0892 Merge bitcoin/bitcoin#32647: build: add -Wthread-safety-pointer
a980918f51d7 Merge bitcoin/bitcoin#32568: depends: use "mkdir -p" when installing xproto
ed179e0a6528 test: apply microsecond precision to test framework logging
e872a566f251 Merge bitcoin/bitcoin#32644: doc: miscellaneous changes
e50312eab0b5 doc: fix typos
c797e50ddae9 ci: update codespell to 2.4.1
21ee656337b0 doc: Remove obselete link in notificator.cpp
ee4406c04af0 doc: update URLs
2d819fa4dff9 Merge bitcoin/bitcoin#29032: signet: omit commitment for some trivial challenges
f999c3775c12 Merge bitcoin/bitcoin#32449: wallet: init, don't error out when loading legacy wallets
f98e1aaf34e3 rpc: Note in fundrawtransaction doc, fee rate is for package
1c6602399be6 Merge bitcoin/bitcoin#32662: doc: Remove build instruction for running `clang-tidy`
4b1b36acb48f doc: Remove build instruction for running `clang-tidy`
9e105107bf52 Merge bitcoin/bitcoin#32656: depends: don't install & then delete sqlite pkgconf
72a5aa9b791e depends: don't install & then delete sqlite pkgconf
18cf727429e9 cmake: Replace deprecated `qt6_add_translation` with `qt6_add_lrelease`
83bfe1485c37 build: add -Wthread-safety-pointer
e639ae05315e Update leveldb subtree to latest upstream
240a4fb95d5b Squashed 'src/leveldb/' changes from 113db4962b..aba469ad6a
a189d636184b add release note for datacarriersize default change
a141e1bf501b Add more OP_RETURN mempool acceptance functional tests
0b4048c73385 datacarrier: deprecate startup arguments for future removal
63091b79e70b test: remove unnecessary -datacarriersize args from tests
9f36962b07ef policy: uncap datacarrier by default
4b1d48a6866b Merge bitcoin/bitcoin#32598: walletdb: Log additional exception error messages for corrupted wallets
b933813386ef Merge bitcoin/bitcoin#32619: wallet, rpc, gui: List legacy wallets with a message about migration
053bda5d9fb3 Merge bitcoin/bitcoin#32460: fs: remove `_POSIX_C_SOURCE` defining
9393aeeca4b1 Merge bitcoin/bitcoin#32641: Update libmultiprocess subtree to fix clang-tidy errors
5471e29d0570 Merge bitcoin/bitcoin#32304: test: test MAX_SCRIPT_SIZE for block validity
9f6565488fc1 Merge commit '154af1eea1170f5626aa1c5f19cc77d1434bcc9d' into HEAD
154af1eea117 Squashed 'src/ipc/libmultiprocess/' changes from 35944ffd23fa..27c7e8e5a581
c540ede1cbca Merge bitcoin/bitcoin#32633: windows: Use predefined `RC_INVOKED` macro instead of custom one
cfc42ae5b7ef fuzz: add a target for the coins database
55f1c2ac8beb windows: Use predefined `RC_INVOKED` macro instead of custom one
14c16e81598a Merge bitcoin/bitcoin#32582: log: Additional compact block logging
aad5938c49f9 Merge bitcoin/bitcoin#32516: test: add MAX_DISCONNECTED_TX_POOL_BYTES, chainlimits coverage
1062df81eec7 Merge bitcoin/bitcoin#32634: build: Add resource file and manifest to `bitcoin.exe`
83df64d7491b log: Stats when fulfilling GETBLOCKTXN
370c59261269 Merge bitcoin/bitcoin#32630: test: fix sync function in rpc_psbt.py
dbb2d4c3d547 windows: Add application manifest to `bitcoin.exe`
df82c2dc17e3 windows: Add resource file for `bitcoin.exe`
3733ed2dae3d log: Size of missing tx'es when reconstructing compact block
4df4df45d7bc test: fix sync function in rpc_psbt.py
84aa484d45e2 test: fix transaction_graph_test reorg test
eaf44f376784 test: check chainlimits respects on reorg
47894367b583 functional test: add MAX_DISCONNECTED_TX_POOL_BYTES coverage
f3a444c45fb4 gui: Disallow loading legacy wallets
09955172f38a wallet, rpc: Give warning in listwalletdir for legacy wallets
ad9a13fc424e walletdb: Log additional exception error messages for corrupted wallets
46e14630f7fe fuzz: move the coins_view target's body into a standalone function
56d878c4650c fuzz: avoid underflow in coins_view target
36bcee05dc71 log: Log start of compact block initialization.
24e5fd3bedce fs: remove _POSIX_C_SOURCE defining
f16c8c67bf13 tests: Expand HTTP coverage to assert libevent behavior
fac00d4ed361 doc: Move CI-must-pass requirement into readme section
fab79c1a250d doc: Clarify and move "hygienic commit" note
fac8b0519799 doc: Clarify strprintf size specifier note
faaf34ad7253 doc: Remove section about RPC alias via function pointer
2222d61e1ce5 doc: Remove section about RPC arg names in table
fa00b8c02c9d doc: Remove section about include guards
fad6cd739b63 doc: Remove dev note section on includes
fa6623d85af1 doc: Remove file name section
7777fb8bc749 doc: Remove shebang section
faf65f05312b doc: Remove .gitignore section
faf2094f2511 doc: Remove note about removed ParsePrechecks
fa69c5b170f5 doc: Remove -disablewallet from dev notes
df9ebbf659d5 depends: use "mkdir -p" when installing xproto
6ee32aaaca4a test: signet tool genpsbt and solvepsbt commands
0a99d99fe4cb signet: miner skips PSBT step for OP_TRUE
cdfb70e5a6a9 signet: split decode_psbt miner helper
86e1111239cd test: verify node skips loading legacy wallets during startup
12ff4be9c724 test: ensure -rpcallowip is compatible with RFC4193
c02bd3c1875a config: Explain RFC4193 and CJDNS interaction in help and init error
f728b6b11100 init: Configure reachable networks before we start the RPC server
9f94de5bb54f wallet: init, don't error out when loading legacy wallets
e98c51fcce9a doc: update tor.md to mention the new -proxy=addr:port=tor
ca5781e23a8f config: allow setting -proxy per network
b1ea542ae651 test: test MAX_SCRIPT_SIZE for block validity
REVERT: 9f83f8b46c84 kernel: build monolithic static lib
REVERT: 1417e0b3b1b0 kernel: Fix bitcoin-chainstate for windows
REVERT: 4f07590a8bd6 kernel: Add Purpose section to header documentation
REVERT: 58c01a82c163 kernel: Add pure kernel bitcoin-chainstate
REVERT: 0416a292f545 kernel: Add functions to get the block hash from a block
REVERT: 8d25dfd1b2a2 kernel: Add block index utility functions to C header
REVERT: eacf99dd3c28 kernel: Add function to read block undo data from disk to C header
REVERT: 3c012048c2f1 kernel: Add functions to read block from disk to C header
REVERT: 85f5264462e0 kernel: Add function for copying block data to C header
REVERT: f136ca589153 kernel: Add functions for the block validation state to C header
REVERT: 9d7e19ee522d kernel: Add validation interface to C header
REVERT: 51555301a882 kernel: Add interrupt function to C header
REVERT: 61c4ac9c8e1f kernel: Add import blocks function to C header
REVERT: 4153ab77084e kernel: Add chainstate load options for in-memory dbs in C header
REVERT: cb128288a0d9 kernel: Add options for reindexing in C header
REVERT: 7ead2a92be50 kernel: Add block validation to C header
REVERT: 9262ce715448 kernel: Add chainstate loading when instantiating a ChainstateManager
REVERT: 594b060da476 kernel: Add chainstate manager option for setting worker threads
REVERT: 7384b7325d5f kernel: Add chainstate manager object to C header
REVERT: 7920e23c22b8 kernel: Add notifications context option to C header
REVERT: c0a86769e784 kernel: Add chain params context option to C header
REVERT: 3769d12882f9 kernel: Add kernel library context object
REVERT: f7b435493bd7 kernel: Add logging to kernel library C header
REVERT: 62d0122c7ed0 kernel: Introduce initial kernel C header API

git-subtree-dir: libbitcoinkernel-sys/bitcoin
git-subtree-split: d9e030d56343bb452d86169f77ddfb64f7160235
vasild added a commit to vasild/bitcoin that referenced this pull request Jun 20, 2025
Co-authored-by: Jan B <608446+janb84@users.noreply.github.com>
vasild added a commit to vasild/bitcoin that referenced this pull request Jun 25, 2025
Co-authored-by: Jan B <608446+janb84@users.noreply.github.com>
glozow added a commit that referenced this pull request Jun 25, 2025
b9a2e8e doc: add release notes for #32425 (Vasil Dimov)

Pull request description:

  Add release notes for #32425.

ACKs for top commit:
  pablomartin4btc:
    re-ACK b9a2e8e
  janb84:
    reACK b9a2e8e
  glozow:
    ACK b9a2e8e, thanks for taking suggestions!

Tree-SHA512: 617612504977007909fde921e7e40286bcf81310f9cf3996783d6148219906784e9749d67f7a9a13305d7788208143e5f6ecceafbc6790f52dd08ffd9f91944c
yuvicc added a commit to yuvicc/java-bitcoinkernel that referenced this pull request Jul 6, 2025
690a5dac22 kernel: Fix bitcoin-chainstate for windows
345d2ac841 kernel: Add Purpose section to header documentation
790b2baa7c kernel: Add pure kernel bitcoin-chainstate
78e4ca20aa kernel: Add functions to get the block hash from a block
4c0de2443d kernel: Add block index utility functions to C header
d031c5871e kernel: Add function to read block undo data from disk to C header
e10616b59b kernel: Add functions to read block from disk to C header
71e76017b8 kernel: Add function for copying block data to C header
a015529dd4 kernel: Add functions for the block validation state to C header
e5870b8253 kernel: Add validation interface to C header
24d56ecfba kernel: Add interrupt function to C header
98710edc97 kernel: Add import blocks function to C header
2b9382a5eb kernel: Add chainstate load options for in-memory dbs in C header
15dff3f0b5 kernel: Add options for reindexing in C header
f2faf17904 kernel: Add block validation to C header
4cd4577fc8 kernel: Add chainstate loading when instantiating a ChainstateManager
7a40d4ddb2 kernel: Add chainstate manager option for setting worker threads
7bac421d18 kernel: Add chainstate manager object to C header
fc83bef508 kernel: Add notifications context option to C header
76a0c97e0d kernel: Add chain params context option to C header
a3cc9ec2dc kernel: Add kernel library context object
d7230ea9b9 kernel: Add logging to kernel library C header
84680fe7ca kernel: Introduce initial kernel C header API
4b8ac9eacd Merge bitcoin/bitcoin#32680: ci: Rewrite test-each-commit as py script
157bbd0a07 Merge bitcoin/bitcoin#32425: config: allow setting -proxy per network
ebec7bf389 Merge bitcoin/bitcoin#32572: doc: Remove stale sections in dev notes
011a8c5f01 Merge bitcoin/bitcoin#32696: doc: make `-DWITH_ZMQ=ON` explicit on `build-unix.md`
fe39050a66 Merge bitcoin/bitcoin#32678: guix: warn and abort when SOURCE_DATE_EPOCH is set
692fe280c2 Merge bitcoin/bitcoin#32713: doc: fuzz: fix AFL++ link
c1d4253d31 Merge bitcoin/bitcoin#32711: doc: add missing packages for BSDs (cmake, gmake, curl) to depends/README.md
89526deddf doc: add missing packages for BSDs (cmake, gmake, curl) to depends/README.md
a39b7071cf doc: fuzz: fix AFL++ link
dff208bd5a Merge bitcoin/bitcoin#32708: rpc, doc: update `listdescriptors` RCP help
d978a43d05 Merge bitcoin/bitcoin#32408: tests: Expand HTTP coverage to assert libevent behavior
f3bbc74664 Merge bitcoin/bitcoin#32406: policy: uncap datacarrier by default
b44514b876 rpc, doc: update `listdescriptors` RCP help
32d4e92b9a doc: make `-DWITH_ZMQ=ON` explicit on `build-unix.md`
e2174378aa Merge bitcoin/bitcoin#32539: init: Configure reachable networks before we start the RPC server
2053c43684 Merge bitcoin/bitcoin#32675: test: wallet: cover wallet passphrase with a null char
fa9cfdf3be ci: [doc] fix url redirect
fac60b9c48 ci: Rewrite test-each-commit as py script
ae024137bd Merge bitcoin/bitcoin#32496: depends: drop `ltcg` for Windows Qt
6a2ff67909 Merge bitcoin/bitcoin#32679: doc: update tor docs to use bitcoind binary from path
fd4399cb9c Merge bitcoin/bitcoin#32602: fuzz: Add target for coins database
f94167512d Merge bitcoin/bitcoin#32676: test: apply microsecond precision to test framework logging
0dcb45290c Merge bitcoin/bitcoin#32607: rpc: Note in fundrawtransaction doc, fee rate is for package
4ce53495e5 doc: update tor docs to use bitcoind binary from path
a5e98dc3ae Merge bitcoin/bitcoin#32651: cmake: Replace deprecated `qt6_add_translation` with `qt6_add_lrelease`
9653ebc053 depends: remove support for Windows Qt LTO builds
7cfbb8575e test: wallet: cover wallet passphrase with a null char
5c4a0f8009 guix: warn and abort when SOURCE_DATE_EPOCH is set
4af72d8b08 Merge bitcoin/bitcoin#32647: build: add -Wthread-safety-pointer
a980918f51 Merge bitcoin/bitcoin#32568: depends: use "mkdir -p" when installing xproto
ed179e0a65 test: apply microsecond precision to test framework logging
e872a566f2 Merge bitcoin/bitcoin#32644: doc: miscellaneous changes
e50312eab0 doc: fix typos
c797e50dda ci: update codespell to 2.4.1
21ee656337 doc: Remove obselete link in notificator.cpp
ee4406c04a doc: update URLs
2d819fa4df Merge bitcoin/bitcoin#29032: signet: omit commitment for some trivial challenges
f999c3775c Merge bitcoin/bitcoin#32449: wallet: init, don't error out when loading legacy wallets
f98e1aaf34 rpc: Note in fundrawtransaction doc, fee rate is for package
1c6602399b Merge bitcoin/bitcoin#32662: doc: Remove build instruction for running `clang-tidy`
4b1b36acb4 doc: Remove build instruction for running `clang-tidy`
9e105107bf Merge bitcoin/bitcoin#32656: depends: don't install & then delete sqlite pkgconf
72a5aa9b79 depends: don't install & then delete sqlite pkgconf
18cf727429 cmake: Replace deprecated `qt6_add_translation` with `qt6_add_lrelease`
83bfe1485c build: add -Wthread-safety-pointer
e639ae0531 Update leveldb subtree to latest upstream
240a4fb95d Squashed 'src/leveldb/' changes from 113db4962b..aba469ad6a
a189d63618 add release note for datacarriersize default change
a141e1bf50 Add more OP_RETURN mempool acceptance functional tests
0b4048c733 datacarrier: deprecate startup arguments for future removal
63091b79e7 test: remove unnecessary -datacarriersize args from tests
9f36962b07 policy: uncap datacarrier by default
4b1d48a686 Merge bitcoin/bitcoin#32598: walletdb: Log additional exception error messages for corrupted wallets
b933813386 Merge bitcoin/bitcoin#32619: wallet, rpc, gui: List legacy wallets with a message about migration
053bda5d9f Merge bitcoin/bitcoin#32460: fs: remove `_POSIX_C_SOURCE` defining
9393aeeca4 Merge bitcoin/bitcoin#32641: Update libmultiprocess subtree to fix clang-tidy errors
5471e29d05 Merge bitcoin/bitcoin#32304: test: test MAX_SCRIPT_SIZE for block validity
9f6565488f Merge commit '154af1eea1170f5626aa1c5f19cc77d1434bcc9d' into HEAD
154af1eea1 Squashed 'src/ipc/libmultiprocess/' changes from 35944ffd23fa..27c7e8e5a581
c540ede1cb Merge bitcoin/bitcoin#32633: windows: Use predefined `RC_INVOKED` macro instead of custom one
cfc42ae5b7 fuzz: add a target for the coins database
55f1c2ac8b windows: Use predefined `RC_INVOKED` macro instead of custom one
14c16e8159 Merge bitcoin/bitcoin#32582: log: Additional compact block logging
aad5938c49 Merge bitcoin/bitcoin#32516: test: add MAX_DISCONNECTED_TX_POOL_BYTES, chainlimits coverage
1062df81ee Merge bitcoin/bitcoin#32634: build: Add resource file and manifest to `bitcoin.exe`
83df64d749 log: Stats when fulfilling GETBLOCKTXN
370c592612 Merge bitcoin/bitcoin#32630: test: fix sync function in rpc_psbt.py
dbb2d4c3d5 windows: Add application manifest to `bitcoin.exe`
df82c2dc17 windows: Add resource file for `bitcoin.exe`
3733ed2dae log: Size of missing tx'es when reconstructing compact block
4df4df45d7 test: fix sync function in rpc_psbt.py
88b22acc3d Merge bitcoin/bitcoin#32528: rpc: Round verificationprogress to 1 for a recent tip
aee7cec0db Merge bitcoin/bitcoin#32364: refactor: validation: mark CheckBlockIndex as const
ce46000712 Merge bitcoin/bitcoin#32509: qa: feature_framework_startup_failures.py fixes & improvements (#30660 follow-up)
d21612fc4b Merge bitcoin/bitcoin#32404: log: print reason when writing chainstate
84aa484d45 test: fix transaction_graph_test reorg test
eaf44f3767 test: check chainlimits respects on reorg
47894367b5 functional test: add MAX_DISCONNECTED_TX_POOL_BYTES coverage
9bd9aee5a6 Merge bitcoin/bitcoin#32487: blocks: avoid recomputing block header hash in `ReadBlock`
4173805a15 Merge bitcoin/bitcoin#32623: test: Add missing ipc subtree to lint
012f347685 Merge bitcoin/bitcoin#31375: multiprocess: Add bitcoin wrapper executable
38ad8027a2 Merge bitcoin/bitcoin#32439: guix: accomodate migration to codeberg
fa4b8b16c3 test: Add missing ipc subtree to lint
f7cc7f6468 Merge bitcoin/bitcoin#32591: test: fix and augment block tests of invalid_txs
87860143be Merge bitcoin/bitcoin#32270: test: fix pushdata scripts
c8d9baae94 guix: accomodate migration to codeberg
f3a444c45f gui: Disallow loading legacy wallets
09955172f3 wallet, rpc: Give warning in listwalletdir for legacy wallets
09ee8b7f27 node: avoid recomputing block hash in `ReadBlock`
2bf173210f test: exercise `ReadBlock` hash‑mismatch path
fab1e02086 refactor: Pass verification_progress into block tip notifications
638a4c0bd8 Merge bitcoin/bitcoin#32596: wallet, rpc, doc: various legacy wallet removal cleanups in RPCs
53e9b71b2f log: print reason for why should_write was triggered in `FlushStateToDisk`
ad9a13fc42 walletdb: Log additional exception error messages for corrupted wallets
46e14630f7 fuzz: move the coins_view target's body into a standalone function
56d878c465 fuzz: avoid underflow in coins_view target
e5cbea416b rpc: doc: remove redundant "descriptors" parameter in `createwallet` examples
7a05f941bb rpc: doc: drop descriptor wallet mentions in fast wallet rescan related RPCs
db465a50e2 wallet, rpc: remove obsolete "keypoololdest" result field/code
36bcee05dc log: Log start of compact block initialization.
2df824f4e6 Merge bitcoin/bitcoin#32586: ci: Downgrade DEBUG=1 to -D_GLIBCXX_ASSERTIONS in centos task
0a8ab55951 Merge bitcoin/bitcoin#32467: checkqueue: make the queue non-optional for CCheckQueueControl and drop legacy locking macro usage
8fcd684505 test: ensure reason is checked for invalid blocks rejection
1a689a2c88 test: fix block tests of invalid_txs
d2c9fc84e1 Merge bitcoin/bitcoin#32533: test: properly check for per-tx sigops limit
fa079538e3 ci: Downgrade DEBUG=1 to -D_GLIBCXX_ASSERTIONS in centos task
35bf3f8839 Merge bitcoin/bitcoin#32400: random: Use modern Windows randomness functions
a42faa25d8 Merge bitcoin/bitcoin#32551: cmake: Remove `ENABLE_{SSE41,AVX2,X86_SHANI,ARM_SHANI}` from `bitcoin-build-config.h`
24e5fd3bed fs: remove _POSIX_C_SOURCE defining
f16c8c67bf tests: Expand HTTP coverage to assert libevent behavior
fac00d4ed3 doc: Move CI-must-pass requirement into readme section
fab79c1a25 doc: Clarify and move "hygienic commit" note
fac8b05197 doc: Clarify strprintf size specifier note
faaf34ad72 doc: Remove section about RPC alias via function pointer
2222d61e1c doc: Remove section about RPC arg names in table
fa00b8c02c doc: Remove section about include guards
fad6cd739b doc: Remove dev note section on includes
fa6623d85a doc: Remove file name section
7777fb8bc7 doc: Remove shebang section
faf65f0531 doc: Remove .gitignore section
faf2094f25 doc: Remove note about removed ParsePrechecks
87ec923d3a Merge bitcoin/bitcoin#32475: wallet: Use `util::Error` throughout `AddWalletDescriptor` instead of returning `nullptr` for some errors
7763e86afa Merge bitcoin/bitcoin#32573: ci: Avoid && dropping errors
0a56ed1ac8 Merge bitcoin/bitcoin#32567: subprocess: Backport upstream changes
54e406a305 Merge bitcoin/bitcoin#32459: qt: drop unused watch-only functionality
ec81204694 Merge bitcoin/bitcoin#31622: psbt: add non-default sighash types to PSBTs and unify sighash type match checking
fab97f583f ci: Avoid && dropping errors
9a887baade Merge bitcoin/bitcoin#32344: Wallet:  Fix Non-Ranged Descriptors with Range [0,0] Trigger Unexpected Wallet Errors in AddWalletDescriptor
26fba39bda Merge bitcoin/bitcoin#32466: threading: drop CSemaphore in favor of c++20 std::counting_semaphore
878556947b Merge bitcoin/bitcoin#32333: doc: Add missing top-level description to pruneblockchain RPC
fd290730f5 validation: clean up and clarify CheckInputScripts logic
fa69c5b170 doc: Remove -disablewallet from dev notes
df9ebbf659 depends: use "mkdir -p" when installing xproto
fad009af49 Merge bitcoin/bitcoin#32520: Remove legacy `Parse(U)Int*`
f66b14d2ec test: fix pushdata scripts
0f9baba0fb Merge bitcoin/bitcoin#29868: Reintroduce external signer support for Windows
cf2cbfac65 Merge bitcoin/bitcoin#32553: wallet: Fix logging of wallet version
bc4b04c5bf Merge bitcoin/bitcoin#31864: doc: add missing copyright headers
e63a7034f0 subprocess: Don't add an extra whitespace at end of Windows command line
800b7cc42c cmake: Add missed `SSE41_CXXFLAGS`
028476e71f cmake: Remove `ENABLE_ARM_SHANI` from `bitcoin-build-config.h`
1e900528d2 cmake: Remove `ENABLE_X86_SHANI` from `bitcoin-build-config.h`
8689628e2e cmake: Remove `ENABLE_AVX2` from `bitcoin-build-config.h`
a8e2342dca cmake: Remove `ENABLE_SSE41` from `bitcoin-build-config.h`
fa76b378e4 rpc: Round verificationprogress to exactly 1 for a recent tip
faf6304bdf test: Use mockable time in GuessVerificationProgress
c7c3bfadfc doc: add & amend copyright headers
f667000c83 contrib: remove outdated entries from copyright_header.py
0817f2d6cf doc: update MIT license URL
6854497b47 contrib: remove GPL-3+ from debian/copyright
af65fd1a33 Merge bitcoin/bitcoin#32560: ci: Move DEBUG=1 to centos task
548f6b8cde Merge bitcoin/bitcoin#32562: doc: remove // for ... comments
7c87a0e3fb Merge bitcoin/bitcoin#32477: lint: Check for missing trailing newline
faf55fc80b doc: Remove ParseInt mentions in documentation
785e1407b0 wallet: Use util::Error throughout AddWalletDescriptor
1a37507895 validation: use a lock for CCheckQueueControl
c3b0e6c7f4 validation: make CCheckQueueControl's CCheckQueue non-optional
4c8c90b556 validation: only create a CCheckQueueControl if it's actually going to be used
11fed833b3 threading: add LOCK_ARGS macro
33f8f8ae4c Merge bitcoin/bitcoin#30221: wallet: Ensure best block matches wallet scan state
7054d24f11 Merge bitcoin-core/gui#875: Use WitnessV0KeyHash in TestAddAddressesToSendBook
4272966d02 Merge bitcoin/bitcoin#32423: rpc: Undeprecate rpcuser/rpcpassword, store all credentials hashed in memory
7193245cd6 doc: remove For ... comments
3333282933 refactor: Remove unused Parse(U)Int*
1b9cdc933f net: drop win32 ifdef
19ba499b1f init: cerrno is used on all platforms
fa982f1425 Use WitnessV0KeyHash in TestAddAddressesToSendBook
fa58d6cdab ci: Move DEBUG=1 to centos task
ff1ee102c4 Merge bitcoin/bitcoin#32561: doc: Adjust stale MSVC bug url
fa330a5e38 doc: Adjust stale MSVC bug url
88791fb97b Merge bitcoin/bitcoin#32544: scripted-diff: test: remove 'descriptors=True' argument for `createwallet` calls
e8661aac75 wallet: drop watch-only things from interface
e99188e7da qt: drop unused watch-only functionality
6ee32aaaca test: signet tool genpsbt and solvepsbt commands
0a99d99fe4 signet: miner skips PSBT step for OP_TRUE
cdfb70e5a6 signet: split decode_psbt miner helper
4b2cd0b41f test: check that creating a wallet does not log version info
39a483c8e9 test: Check that the correct versions are logged on wallet load
359ecd3704 walletdb: Log the wallet version after it has been read from disk
86de8c1668 scripted-diff: test: remove 'descriptors=True' argument for `createwallet` calls
7710a31f0c Merge bitcoin/bitcoin#32452: test: Remove legacy wallet RPC overloads
b81e5076aa Merge bitcoin/bitcoin#32514: scripted-diff: Remove unused leading newline in RPC docs
3023d7e6ad Merge bitcoin/bitcoin#32534: Update leveldb subtree to latest upstream
fa84e6c36c bitcoin-tx: Reject + sign in MutateTxDel*
face2519fa bitcoin-tx: Reject + sign in vout parsing
fa8acaf0b9 bitcoin-tx: Reject + sign in replaceable parsing
faff25a558 bitcoin-tx: Reject + sign in locktime
dddd9e5fe3 bitcoin-tx: Reject + sign in nversion parsing
fab06ac037 rest: Use SAFE_CHARS_URI in SanitizeString error msg
c461d15287 Merge bitcoin/bitcoin#32511: refactor: bdb removals
86e1111239 test: verify node skips loading legacy wallets during startup
12ff4be9c7 test: ensure -rpcallowip is compatible with RFC4193
c02bd3c187 config: Explain RFC4193 and CJDNS interaction in help and init error
f728b6b111 init: Configure reachable networks before we start the RPC server
b15c386933 Merge bitcoin/bitcoin#32519: ci: Enable feature_init and wallet_reorgsrestore in valgrind task
7015052eba build: remove Wsuggest-override suppression from leveldb build
7bc64a8859 test: properly check for per-tx sigops limit
3f83c744ac Merge bitcoin/bitcoin#32526: fuzz: Delete wallet_notifications
fa1f10a49e doc: Fix minor typos in rpc help
e2c84b896f Squashed 'src/leveldb/' changes from 4188247086..113db4962b
0769c8fc99 Update leveldb subtree to latest upstream
04c6c961b6 Merge bitcoin/bitcoin#32527: test: Remove unused verify_flags suppression
742b30549f Merge bitcoin/bitcoin#32491: build: document why we check for `std::system`
fab5a3c803 test: Remove unused verify_flags suppression
c521192d8b Merge bitcoin/bitcoin#32485: Update minisketch subtree
3afde679c3 Merge bitcoin/bitcoin#32296: refactor: reenable `implicit-integer-sign-change` check for `serialize.h`
5af757bb78 Merge bitcoin/bitcoin#32505: depends: bump to latest config.guess and config.sub
c60455a645 Merge bitcoin/bitcoin#32500: init: drop `-upnp`
e230affaa3 Merge bitcoin/bitcoin#32396: cmake: Add application manifests when cross-compiling for Windows
51be79c42b Merge bitcoin/bitcoin#32238: qt, wallet: Convert uint256 to Txid
f96ae941a1 Merge bitcoin/bitcoin#32525: build: Revert "Temporarily disable compiling `fuzz/utxo_snapshot.cpp` with MSVC
fad2faf6c5 fuzz: Delete wallet_notifications
bf950c4544 qa: Improve suppressed errors output
075352ec8e qa: assert_raises_message() - search in str(e)
bd8ebbc4ab qa: Make --timeout-factor=0 result in a smaller factor
fa2c662362 build: Revert "Temporarily disable compiling `fuzz/utxo_snapshot.cpp` with MSVC"
8888bb499d rest: Reject + sign in /blockhashbyheight/
fafd43c691 test: Reject + sign when parsing regtest deployment params
fa123afa0e Reject + sign when checking -ipcfd
fa479857ed Reject + sign in SplitHostPort
fab4c2967d net: Reject + sign when parsing subnet mask
fa89652e68 init: Reject + sign in -*port parsing
9f94de5bb5 wallet: init, don't error out when loading legacy wallets
fa9c45577d cli: Reject + sign in -netinfo level parsing
fa98041325 refactor: Use ToIntegral in CreateFromDump
fa23ed7fc2 refactor: Use ToIntegral in ParseHDKeypath
fa2be605fe ci: Enable feature_init and wallet_reorgsrestore in valgrind task
725c9f7780 Merge bitcoin/bitcoin#31895: doc: Improve `dependencies.md`
bdc1cef1de Merge bitcoin/bitcoin#32507: ci: Exclude failing wallet_reorgsrestore.py from valgrind task for now
fae840e94b rpc: Reject beginning newline in RPC docs
e62423d6f1 doc: Improve dependencies.md documentation
a3520f9d56 doc: Add dependency self-compilation info
d1fdc84c54 doc: Remove Linux Kernel from dep. table
135a0f0aa7 doc: Add missing top-level description to pruneblockchain RPC
fa414eda08 scripted-diff: Remove unused leading newline in RPC docs
fafee85358 remove unused GetDestinationForKey
fac72fef27 remove unused GetAllDestinationsForKey
fa91d57de3 remove unused AddrToPubKey
8f4fed7ec7 symbol-check: Add check for application manifest in Windows binaries
2bb6ab8f1b ci: Add "Get bitcoind manifest" steps to Windows CI jobs
282b4913c7 cmake: Add application manifests when cross-compiling for Windows
faecf158d9 remove unused Import* function signatures
d8f05e7bf3 qa: Fix dormant bug caused by multiple --tmpdir
fa981b90f5 ci: Exclude failing wallet_reorgsrestore.py from valgrind task for now
c779ee3a40 Merge bitcoin/bitcoin#32492: test: add skip_if_running_under_valgrind()
89c7b6b97a Merge bitcoin/bitcoin#32498: doc: remove Carls substitute server from Guix docs
6b4bcc1623 random: Use modern Windows randomness functions
31d3eebfb9 Merge bitcoin/bitcoin#32343: common: Close non-std fds before exec in RunCommandJSON
486bc91790 depends: bump to latest config.sub
6880383427 depends: bump to latest config.guess
4b26ca0e2f Merge bitcoin/bitcoin#32502: wallet: Drop unused fFromMe from CWalletTx
d5786bc19a Merge bitcoin/bitcoin#32490: refactor: Remove UB in prevector reverse iterators
ee045b61ef rpc, psbt: Require sighashes match for descriptorprocesspsbt
2b7682c372 psbt: use sighash type field to determine whether to remove non-witness utxos
28781b5f06 psbt: Add sighash types to PSBT when not DEFAULT or ALL
15ce1bd73f psbt: Enforce sighash type of signatures matches psbt
1f71cd337a wallet: Remove sighash type enforcement from FillPSBT
4c7d767e49 psbt: Check sighash types in SignPSBTInput and take sighash as optional
a118256948 script: Add IsPayToTaproot()
d6001dcd4a wallet: change FillPSBT to take sighash as optional
e58b680923 psbt: Return PSBTError from SignPSBTInput
2adfd81532 tests: Test PSBT sighash type mismatch
5a5d26d612 psbt: Require ECDSA signatures to be validly encoded
53eb5593f0 Merge bitcoin/bitcoin#32305: test: add test for decoding PSBT with MuSig2 PSBT key types (BIP 373)
e7a9372376 Merge bitcoin/bitcoin#32378: interfaces: refactor: move `Mining` and `BlockTemplate`  implementation to miner
5bf91ba880 wallet: Drop unused fFromMe from CWalletTx
30a94b1ab9 test, wallet: Remove concurrent writes test
b44b7c03fe wallet: Write best block record on unload
876a2585a8 wallet: Remove unnecessary database Close step on shutdown
98a1a5275c wallet: Remove chainStateFlushed
7fd3e1cf0c wallet, bench: Write a bestblock record in WalletMigration
6d3a8b195a wallet: Replace chainStateFlushed in loading with SetLastBlockProcessed
7bacabb204 wallet: Update best block record after block dis/connect
301993ebf7 init: drop -upnp
3b824169c7 doc: remove Carls substitute server from Guix docs
f1d78a3087 Merge bitcoin/bitcoin#31624: doc: warn that CheckBlock() underestimates sigops
516f0689b5 refactor: re-enable UBSan implicit-sign-change in serialize.h
5827e93507 refactor: use consistent size type for serialization template parameters
62fc42d475 interfaces: refactor: move `waitTipChanged` implementation to miner
c39ca9d4f7 interfaces: move getTip implementation to miner
33dfbbdff6 Merge bitcoin/bitcoin#32483: test: fix two intermittent failures in wallet_basic.py
8a65f03894 Merge bitcoin/bitcoin#32488: fuzz: Properly setup wallet in wallet_fees target
75a185ea3d test: add skip_if_running_under_valgrind()
8f4ba90b8f build: document why we check for std::system
faf9082a5f test: Fix whitespace in prevector_tests.cpp
fa7f04c8a7 refactor: Remove UB in prevector reverse iterators
fa427ffcee fuzz: Properly setup wallet in wallet_fees target
f9d8910539 Merge bitcoin/bitcoin#31080: fees: document non-monotonic estimation edge case
31650b458b Merge bitcoin/bitcoin#32386: mining: rename gbt_force and gbt_force_name
bac43b957e Merge bitcoin/bitcoin#32312: test: Fix feature_pruning test after nTime typo fix
c9ab10910c Merge bitcoin/bitcoin#31444: cluster mempool: add txgraph diagrams/mining/eviction
e7ad86e1ca test: fix another intermittent failure in wallet_basic.py
07350e204d test: Fix intermittent failure in wallet_basic.py
46b533dfe6 Update minisketch subtree to latest upstream
bf25a0918f Squashed 'src/minisketch/' changes from d1e6bb8bbf..ea8f66b1ea
8309a9747a Merge bitcoin/bitcoin#32028: Update `secp256k1` subtree to latest master
720f201e65 interfaces: refactor: move `waitNext` implementation to miner
e6c2f4ce7a interfaces: refactor: move `submitSolution` implementation to miner
02d4bc776b interfaces: remove redundant coinbase fee check in `waitNext`
fa9198af55 lint: Check for missing trailing newline
fa2b2aa27c lint: Add archived notes to default excludes
cbd8e3d511 Merge bitcoin/bitcoin#32476: refactor: Remove unused HaveKey and HaveWatchOnly
915c1fa72c Update secp256k1 subtree to latest master
c31fcaaad3 Squashed 'src/secp256k1/' changes from 0cdc758a56..4187a46649
e98c51fcce doc: update tor.md to mention the new -proxy=addr:port=tor
ca5781e23a config: allow setting -proxy per network
fabdc5ad06 Remove unused LegacyDataSPKM::HaveWatchOnly()
fa7b7f796a Remove HaveKey helper, unused after sethdseed removal
8673e8f019 txgraph: Special-case singletons in chunk index (optimization)
abdd9d35a3 txgraph: Skipping end of cluster has no impact (optimization)
604acc2c28 txgraph: Reuse discarded chunkindex entries (optimization)
c734081454 txgraph: Introduce TxGraph::GetWorstMainChunk (feature)
394dbe2142 txgraph: Introduce BlockBuilder interface (feature)
883df3648e txgraph: Generalize GetClusterRefs to support subsections (preparation)
c28a602e00 txgraph: Introduce TxGraphImpl observer tracking (preparation)
9095d8ac1c txgraph: Maintain chunk index (preparation)
87e74e1242 txgraph: abstract out transaction ordering (refactor)
2614fea17f txgraph: Add GetMainStagingDiagrams function (feature)
a5ac43d98d doc: Add release notes describing bitcoin wrapper executable
663a9cabf8 Merge bitcoin/bitcoin#32458: guix: move `*-check.py` scripts under contrib/guix/
258bda80c0 doc: Mention bitcoin wrapper executable in documentation
d2739d75c9 build: add bitcoin.exe to windows installer
ba649c0006 ci: Run multiprocess tests through wrapper executable
29bdd743bb test: Support BITCOIN_CMD environment variable
9c8c68891b multiprocess: Add bitcoin wrapper executable
5076d20fdb util: Add cross-platform ExecVp and GetExePath functions
05765b8818 Merge bitcoin/bitcoin#32472: doc: Fix typo
d847e17c96 doc: Fix typo
3edf400b10 Merge bitcoin/bitcoin#32469: cmake: Allow `WITH_DBUS` on all Unix-like systems
59e09e0fb7 Merge bitcoin-core/gui#871: qt, docs: Unify term "clipboard"
46f79dde67 Merge bitcoin-core/gui#841: Decouple WalletModel from RPCExecutor
5b7ed460c7 cmake: Allow `WITH_DBUS` on all Unix-like systems
746ab19d5a Merge bitcoin/bitcoin#32446: build: simplify *ifaddr handling
6f7052a7b9 threading: semaphore: move CountingSemaphoreGrant to its own header
fd15469892 threading: semaphore: remove temporary convenience types
1f89e2a49a scripted-diff: threading: semaphore: use direct types rather than the temporary convenience ones
f21365c4fc threading: replace CountingSemaphore with std::counting_semaphore
1acacfbad7 threading: make CountingSemaphore/CountingSemaphoreGrant template types
e6ce5f9e78 scripted-diff: rename CSemaphore and CSemaphoreGrant
793166d381 wallet: change the write semaphore to a BinarySemaphore
6790ad27f1 scripted-diff: rename CSemaphoreGrant and CSemaphore for net
d870bc9451 threading: add temporary semaphore aliases
19b1e177d6 Merge bitcoin/bitcoin#32155: miner: timelock the coinbase to the mined block's height
6c6ef58b0b Merge bitcoin/bitcoin#32436: test: refactor: negate signature-s using libsecp256k1
b104d44227 test: Remove RPCOverloadWrapper
4d32c19516 test: Replace importpubkey
fe838dd391 test: Replace usage of addmultisigaddress
d314207779 test: Replace usage of importaddress
fcc457573f test: Replace importprivkey with wallet_importprivkey
94c87bbbd0 test: Remove unnecessary importprivkey from wallet_createwallet
9a05b45da6 Merge bitcoin/bitcoin#32438: refactor: Removals after bdb removal
e49a7274a2 rpc: Avoid join-split roundtrip for user:pass for auth credentials
98ff38a6f1 rpc: Perform HTTP user:pass split once in `RPCAuthorized`
879a17bcb1 rpc: Store all credentials hashed in memory
4ab9bedee9 rpc: Undeprecate rpcuser/rpcpassword, change message to security warning
fa061bfcdb Remove create options from wallet tool
fa2125e7b8 Remove unused IsSingleKey
fab5e2a094 doc: Remove note about bdb wallets
eeeef88d46 doc: fix typo in abortrescan rpc
fa7e5c15a7 Remove unused LegacyDataSPKM::DeleteRecords()
b070ce1696 Merge bitcoin/bitcoin#31360: depends: Avoid using helper variables in toolchain file
ffff949472 remove NotifyWatchonlyChanged
fa62a013a5 remove dead flush()
fa5f3e62c8 vcpkg: Remove bdb
415650cea9 guix: move *-check.py scripts under contrib/guix
5b8752198e Merge bitcoin/bitcoin#32454: tracing: fix invalid argument in mempool_monitor
31c5ebc400 tracing: fix invalid argument in mempool_monitor
ad5cd129f3 Merge bitcoin/bitcoin#30660: qa: Verify clean shutdown on startup failure
7b816c4e00 threading: rename CSemaphore methods to match std::semaphore
1656f6dbba Merge bitcoin/bitcoin#32448: contrib: remove bdb exception from FORTIFY check
a04f17a188 doc: warn that CheckBlock() underestimates sigops
ab878a7e74 build: simplify *ifaddr handling
1b4ddb0c2d Merge bitcoin/bitcoin#32356: cmake: Respect user-provided configuration-specific flags
1ee698fde2 test: refactor: negate signature-s using libsecp256k1
f9dfe8d5e0 contrib: remove bdb exception from FORTIFY check
66c968b4b4 Merge bitcoin/bitcoin#32444: doc: swap "Docker image" for "container image"
6469752952 Merge bitcoin/bitcoin#32434: lint: Remove string exclusion from locale check
1372eb09c5 doc: swap "Docker image" for "container image"
03ebdd0793 Merge bitcoin/bitcoin#32437: crypto: disable ASan for sha256_sse4 with Clang
95bb305b96 Merge bitcoin/bitcoin#32429: docs: Improve `keypoolrefill` RPC docs
1b1b9f32cf Merge bitcoin/bitcoin#32440: test: remove bdb assert in tool_wallet.py
e08e6567f2 test: remove assert_dump since it is not used anymore
ff35a4b021 docs: Improve `keypoolrefill` RPC docs
4b24186756 test: add test for decoding PSBT with MuSig2 PSBT key types (BIP 373)
8ba245cb83 test: add constants for MuSig2 PSBT key types (BIP 373)
4b6dd9790b test: remove bdb assert in tool_wallet.py
97d383af6d Test updating non-ranged descriptor with [0,0] range succeeds
7343a1846c depends: Avoid using helper variables in toolchain file
0671d66a8e wallet, refactor: Convert uint256 to Txid in wallet
c8ed51e62b wallet, refactor: Convert uint256 to Txid in wallet interfaces
b3214cefe6 qt, refactor: Convert uint256 to Txid in the GUI
efac285a0d Merge bitcoin/bitcoin#28710: Remove the legacy wallet and BDB dependency
fa24fdcb7f lint: Remove string exclusion from locale check
4e8ab5e00f crypto: disable ASan for sha256_sse4 with Clang
6d5edfcc58 Merge bitcoin/bitcoin#32388: fuzz: Remove unused TimeoutExpired catch in fuzz runner
de054df6dc contrib: Remove legacy wallet RPCs from bash completions
5dff04a1bb legacy spkm: Make IsMine() and CanProvide() private and migration only
c0f3f3264f wallet: Remove unused db functions
83af1a3cca wallet: Delete LegacySPKM
59d3e4ed34 Merge bitcoin/bitcoin#32415: scripted-diff: adapt script error constant names in feature_taproot.py
fffb272c25 Merge bitcoin/bitcoin#29532: Refactor BnB tests
3bbdbc0a5e qt, docs: Unify term "clipboard"
8ede6dea0c wallet, rpc: Remove legacy wallet only RPCs
4de3cec28d test: rpcs disabled for descriptor wallets will be removed
84f671b01d test: Run multisig script limit test
810476f31e test: Remove unused options and variables, correct comments
04a7a7a28c build, wallet, doc: Remove BDB
44057fe38c Merge bitcoin/bitcoin#32287: build: Fix `macdeployqtplus` after switching to Qt 6
229943b513 Merge bitcoin/bitcoin#32086: Shuffle depends instructions and recommend modern make for macOS
3e6ac5bf77 refactor: validation: mark CheckBlockIndex as const
61a51eccbb validation: don't use GetAll() in CheckBlockIndex()
edde96376a cmake: Respect user-provided configuration-specific flags
22cff32319 doc: recommend gmake for FreeBSD
b645c52071 doc: recommend modern make for macOS depends
99e6490dc5 doc: shuffle depends instructions
1e0de7a6ba fees: document non-monotonic estimation edge case
baa848b8d3 Merge bitcoin/bitcoin#32405: build: replace header checks with `__has_include`
3a18075aed ci: Drop `-DENABLE_EXTERNAL_SIGNER=ON` configure option
719fa9f4ef build: Re-enable external signer support for Windows
6e5fc2bf9b test: Reintroduce Windows support in `system_tests/run_command` test
53ccb75f0c Merge bitcoin/bitcoin#32358: subprocess: Backport upstream changes
fa2c548429 Merge bitcoin/bitcoin#32417: doc: Explain that .gitignore is not for IDE-specific excludes
fada115cbe doc: Explain that .gitignore is not for IDE-specific excludes
b5f580c580 scripted-diff: adapt script error constant names in feature_taproot.py
eba5f9c4b6 Merge bitcoin/bitcoin#32403: test: remove Boost SIGCHLD workaround.
e1f543823b build: replace header checks with __has_include
3add6ab9ad test: remove Boost SIGCHLD workaround.
cd95c9d6a7 subprocess: check and handle fcntl(F_GETFD) failure
b7288decdf subprocess: Proper implementation of wait() on Windows
7423214d8d subprocess: Do not escape double quotes for command line arguments on Windows
bb9ffea53f subprocess: Explicitly define move constructor of Streams class
174bd43f2e subprocess: Avoid leaking POSIX name aliases beyond `subprocess.h`
7997b7656f subprocess: Fix cross-compiling with mingw toolchain
647630462f subprocess: Get Windows return code in wait()
d3f511b458 subprocess: Fix string_arg when used with rref
2fd3f2fec6 subprocess: Fix memory leaks
5b8046a6e8 Merge bitcoin/bitcoin#30611: validation: write chainstate to disk every hour
fc6346dbc8 Merge bitcoin/bitcoin#32389: doc: Fix test_bitcoin path
a0eed55398 run_command: Enable close_fds option to avoid lingering fds
c7c356a448 cpp-subprocess: Iterate through /proc/self/fd for close_fds option on Linux
4f5e04da13 Revert "remove unneeded close_fds option from cpp-subprocess"
6cbc28b8dd doc: Fix test_bitcoin path
85368aafa0 test: Run simple tests at various feerates
d610951c15 test: Recreate BnB iteration exhaustion test
2a1b2754f1 test: Remove redundant repeated test
4781f5c8be test: Recreate simple BnB failure tests
a94030ae98 test: Recreate BnB clone skipping test
7db6f012c0 test: Move BnB feerate sensitivity tests
2bafc46261 test: Recreate simple BnB success tests
e976bd3045 validation: add randomness to periodic write interval
2e2f410681 refactor: replace m_last_write with m_next_write
b557fa7a17 refactor: rename fDoFullFlush to should_write
d73bd9fbe4 validation: write chainstate to disk every hour
68ac9f116c Merge bitcoin/bitcoin#32383: util: Remove `fsbridge::get_filesystem_error_message()`
fa4804009c fuzz: Remove unused TimeoutExpired catch in fuzz runner
0750249289 mining: document gbt_rule_value helper
5e87c3ec09 scripted-diff: rename gbt_force and gbt_force_name
97eaadc3bf util: Remove `fsbridge::get_filesystem_error_message()`
14b8dfb2bd Merge bitcoin/bitcoin#31398: wallet: refactor: various master key encryption cleanups
a60445cd04 Merge bitcoin/bitcoin#32355: Bugfix: Miner: Don't reuse block_reserved_weight for "block is full enough to give up" weight delta
2d5b424414 Merge bitcoin/bitcoin#32351: test: avoid stack overflow in `FindChallenges` via manual iteration
0ed5f37afe Merge bitcoin/bitcoin#31014: net: Use GetAdaptersAddresses to get local addresses on Windows
7a4a2a38ea Merge bitcoin/bitcoin#27826: validation: log which peer sent us a header
4694732bc4 Merge bitcoin/bitcoin#32338: net: remove unnecessary check from AlreadyConnectedToAddress()
7db096121d Merge bitcoin/bitcoin#29039: versionbits refactoring
51d76634fb Merge bitcoin/bitcoin#32365: descriptors: Reject + sign while parsing unsigned
c5e44a0435 Merge bitcoin/bitcoin#32369: test: Use the correct node for doubled keypath test
32d55e28af test: Use the correct node for doubled keypath test
65714c162c Merge bitcoin/bitcoin#32327: test: Add missing check for empty stderr in util tester
a4eee6d50b Merge bitcoin/bitcoin#29124: test: Test that migration automatically repairs corrupted metadata with doubled derivation path
af6cffa36d Merge bitcoin/bitcoin#32350: test: Slim down previous releases bdb check
33e6538b30 Merge bitcoin/bitcoin#32360: test: Force named args for RPCOverloadWrapper optional args
3a29ba33dc Merge bitcoin/bitcoin#32357: depends: Fix cross-compiling `qt` package from macOS to Windows
fa655da159 test: [refactor] Use ToIntegral in CheckInferDescriptor
fa55dd01df descriptors: Reject + sign when parsing multi threshold
fa6f77ed3c descriptors: Reject + sign in ParseKeyPathNum
7e8ef959d0 refactor: Fix Sonar rule `cpp:S4998` - avoid unique_ptr const& as parameter
e400ac5352 refactor: simplify repeated comparisons in `FindChallenges`
f670836112 test: remove old recursive `FindChallenges_recursive` implementation
b80d0bdee4 test: avoid stack overflow in `FindChallenges` via manual iteration
fa48be3ba4 test: Force named args for RPCOverloadWrapper optional args
aaaa45399c test: Remove unused createwallet_passthrough
d05481df64 refactor: validation: mark SnapshotBase as const
f409444d02 Merge bitcoin/bitcoin#32071: build: Drop option to disable hardening.
cccc1f4e91 test: Remove unused RPCOverloadWrapper is_cli field
d62c2d82e1 Merge bitcoin/bitcoin#32353: doc: Fix fuzz test_runner.py path
10845cd7cc qa: Add feature_framework_startup_failures.py
35e57fbe33 depends: Fix cross-compiling `qt` package from macOS to Windows
d2ac748e9e Merge bitcoin-core/gui#864: Crash fix, disconnect numBlocksChanged() signal during shutdown
524f981bb8 Bugfix: Miner: Don't reuse block_reserved_weight for "block is full enough to give up" weight delta
84de8c93e7 ci: Add `deploy` target for native macOS CI job
fad57e9e0f build: Fix `macdeployqtplus` after switching to Qt 6
de90b47ea0 Merge bitcoin-core/gui#868: Replace stray tfm::format to cerr with qWarning
a58cb3b1c1 qa: sanity check mined block have their coinbase timelocked to height
8f2078af6a miner: timelock coinbase transactions
788aeebf34 qa: use prev height as nLockTime for coinbase txs created in unit tests
c76dbe9b8b qa: timelock coinbase transactions created in fuzz targets
9c94069d8b contrib: timelock coinbase transactions in signet miner
a5f52cfcc4 qa: timelock coinbase transactions created in functional tests
61f238e84a doc: Fix fuzz test_runner.py path
c7e2b9e264 tests: Test migration cleans up bad inactive chain derivation path
fa58f40b89 test: Slim down previous releases bdb check
f1b142856a test: Same addr, diff port is already connected
94e85a82a7 net: remove unnecessary check from AlreadyConnectedToAddress()
28e282ef9a qa: assert_raises_message() - Stop assuming certain structure for exceptions
80e6ad9e30 Merge bitcoin/bitcoin#31250: wallet: Disable creating and loading legacy wallets
971952588d Merge bitcoin/bitcoin#32242: guix: Remove unused `file` package
ff69046e66 Merge bitcoin/bitcoin#32215: depends: Fix cross-compiling on macOS
2ae1788dd4 Skip range verification for non-ranged desc
4eee328a98 Merge bitcoin/bitcoin#32318: Fix failing util_time_GetTime test on Windows
71656bdfaa gui: crash fix, disconnect numBlocksChanged() signal during shutdown
3dbd50a576 Fix failing util_time_GetTime test on Windows
edd46566bd qt: Replace stray tfm::format to cerr with qWarning
458720e5e9 Merge bitcoin/bitcoin#32336: test: Suppress upstream `-Wduplicate-decl-specifier` in bpfcc
facb9b327b scripted-diff: Use bpf_cflags
fa0c1baaf8 test: Add imports for util bpf_cflags
9efe546688 Merge bitcoin/bitcoin#31835: validation: set BLOCK_FAILED_CHILD correctly
bd158ab4e3 Merge bitcoin/bitcoin#32023: wallet: removed duplicate call to GetDescriptorScriptPubKeyMan
17bb63f9f9 wallet: Disallow loading legacy wallets
9f04e02ffa wallet: Disallow creating legacy wallets
6b247279b7 wallet: Disallow legacy wallet creation from the wallet tool
5e93b1fd6c bench: Remove WalletLoadingLegacy benchmark
56f959d829 wallet: Remove wallettool salvage
7a41c939f0 wallet: Remove -format and bdb from wallet tool's createfromdump
c847dee148 test: remove legacy wallet functional tests
20a9173717 test: Remove legacy wallet tests from wallet_reindex.py
446d480cb2 test: Remove legacy wallet tests from wallet_backwards_compatibility.py
aff80298d0 test: wallet_signer.py bdb will be removed
f94f9399ac test: Remove legacy wallet unit tests
d9ac9dbd8e tests, gui: Use descriptors watchonly wallet for watchonly test
9a4c92eb9a Merge bitcoin/bitcoin#32226: ci: switch to LLVM 20 in tidy job
82d1e94838 Merge bitcoin/bitcoin#32310: test: Run all benchmarks in the sanity check
dda2d4e176 Merge bitcoin/bitcoin#32113: fuzz: enable running fuzz test cases in Debug mode
faca46b042 test: Run all benchmarks in the sanity check
e5a00b2497 Merge bitcoin/bitcoin#32309: bench: close wallets after migration
8406a9f4f1 Merge bitcoin/bitcoin#32325: ci: Add missing -Wno-error=array-bounds to valgrind fuzz
fadf12a56c test: Add missing check for empty stderr in util tester
fa653cb416 ci: Add missing -Wno-error=array-bounds to valgrind fuzz
08aa7fe232 ci: clang-tidy 20
2b85d31bcc refactor: starts/ends_with changes for clang-tidy 20
96a5cd8000 Merge bitcoin/bitcoin#32293: doc: Add deps install notes for multiprocess
2844adc8ba Merge bitcoin/bitcoin#32308: ci: Drop no longer necessary `-Wno-error=array-bounds`
cad39f86fb bench: ensure wallet migration benchmark runs exactly once
c1f458aaa0 ci: re-enable all benchmark runs
1da11dbc44 bench: clean up migrated descriptor wallets via loader teardown
3669ecd4cc doc: Document fuzz build options
c1d01f59ac fuzz: enable running fuzz test cases in Debug mode
06439a14c8 Merge bitcoin/bitcoin#31953: rpc: Allow fullrbf fee bump in (psbt)bumpfee
3e78ac6811 Merge bitcoin/bitcoin#31243: descriptor: Move filling of keys from `DescriptorImpl::MakeScripts` to `PubkeyProvider::GetPubKey`
728e86e3f3 Merge bitcoin/bitcoin#31640: tests: improves tapscript unit tests
1f639efca5 qa: Work around Python socket timeout issue
e3d7533ac9 test: improves tapscript unit tests
2aa63d511a test: Use uninvolved pruned node in feature_pruning undo test
772ba7f9ce test: Fix nTimes typo in feature_pruning test
b1ea542ae6 test: test MAX_SCRIPT_SIZE for block validity
9b24a403fa qa: Only allow calling TestNode.stop() after connecting
6ad21b4c01 qa: Include ignored errors in RPC connection timeout
879243e81f qa refactor: wait_for_rpc_connection - Treat OSErrors the same
d91a746815 Merge bitcoin/bitcoin#32306: ci: Temporarily disable `WalletMigration` benchmark
ff136d046a Merge bitcoin/bitcoin#32213: msvc: Update vcpkg manifest
e34f12bdd4 ci: Drop no longer necessary `-Wno-error=array-bounds`
055254e212 Merge bitcoin/bitcoin#32300: feefrac: avoid integer overflow in temporary
33d40a6ad4 Merge bitcoin/bitcoin#32282: torcontrol: Fix addrOnion outdated comment
18a035145d ci: Temporarily disable `WalletMigration` benchmark
c7b592fbd7 Merge bitcoin/bitcoin#31247: psbt: MuSig2 Fields
e261eb8d50 tests: Add BIP 373 test vectors
26370c68d0 rpc: Include MuSig2 fields in decodepsbt
ff3d460898 psbt: Implement un/ser of musig2 fields
5cb1241814 feefrac: avoid integer overflow in temporary
7f5a35cf4b doc: Add deps install notes for multiprocess
247e9de622 Merge bitcoin/bitcoin#32191: Make TxGraph fuzz tests more deterministic
bfeacc18b3 Merge bitcoin/bitcoin#32154: fuzz: Avoid integer sanitizer warnings in policy_estimator target
fa86190e6e rpc: Allow fullrbf fee bump
06f9ead9f9 Merge bitcoin/bitcoin#32271: doc: Document WITH_EXTERNAL_LIBMULTIPROCESS build option better
4a964868f8 Merge bitcoin/bitcoin#32288: ci: drop -priority-level from bench in win cross CI
cd01c9a173 Merge bitcoin/bitcoin#32250: ci: Slim down lint image
513e2020a9 guix: Remove unused `file` package
27f11217ca ci: drop -priority-level from bench in win cross CI
7a3afe6787 Merge bitcoin/bitcoin#32281: bench: Fix WalletMigration benchmark
e66e30c9e5 Merge bitcoin/bitcoin#31862: doc: Fix and clarify description of ZMQ message format
b6282dbd45 Merge bitcoin/bitcoin#32079: test: Add test coverage for rpcwhitelistdefault when unset
eb6b1003c1 Merge bitcoin/bitcoin#32286: test: Handle empty string returned by CLI as None in RPC tests
33df4aebae Merge bitcoin/bitcoin#31551: [IBD] batch block reads/writes during `AutoFile` serialization
679bb2aac2 Merge bitcoin/bitcoin#31958: rpc: add cli examples, update docs
dfa2813e31 Merge bitcoin/bitcoin#32248: Remove support for RNDR/RNDRRS for aarch64
7912cd4125 bench: Fix WalletMigration benchmark
938208d91a build: Resolve `@rpath` in `macdeployqtplus`
bcaa23a2b7 torcontrol: Fix addrOnion outdate comment
a4041c77f0 test: Handle empty string returned by CLI as None in RPC tests
abe43dfadd doc: release note for #27826
f9fa28788e Use LogBlockHeader for compact blocks
bad7c91479 Log which peer sent us a header
9d3e39c29c Log block header in net_processing
cdc32994fe Merge bitcoin/bitcoin#32272: [doc] archive 29.0 release notes
faeb1babe2 ci: refactor: Use version id over version codename consistently
12dc507c4a [doc] archive 29.0 release notes
acee5c59e6 descriptors: Have GetPrivKey fill keys directly
4b0303197e descriptors: Move FlatSigningProvider pubkey filling to GetPubKey
25a3b9b0f5 descriptors: Have GetPubKey fill origins directly
6268bde0af descriptor: Remove unused parent_info from BIP32PUbKeyProvider::GetPubKey
0ff072caa1 wallet, rpc: Only allow keypool import from single key descriptors
99a4ddf5ab Merge bitcoin/bitcoin#31785: Have createNewBlock() wait for tip, make rpc handle shutdown during long poll and wait methods
22770ce8cb Merge bitcoin/bitcoin#31282: refactor: Make node_id a const& in RemoveBlockRequest
9ccee9cd02 doc: Document WITH_EXTERNAL_LIBMULTIPROCESS build option better
8d801e3efb optimization: bulk serialization writes in `WriteBlockUndo` and `WriteBlock`
520965e293 optimization: bulk serialization reads in `UndoRead`, `ReadBlock`
5116655980 Merge bitcoin/bitcoin#32255: miniscript: Correct off-by-one assert guards (#31727 follow-up)
056cb3c0d2 refactor: clear up blockstorage/streams in preparation for optimization
67fcc64802 log: unify error messages for (read/write)[undo]block
a4de160492 scripted-diff: shorten BLOCK_SERIALIZATION_HEADER_SIZE constant
6640dd52c9 Narrow scope of undofile write to avoid possible resource management issue
3197155f91 refactor: collect block read operations into try block
3693e4d6ee miniscript: Correct off-by-one assert guards
817edfb21e Merge bitcoin/bitcoin#32245: doc: Updates how to reproduce fuzz CI failure locally
fae322a43a ci: Slim down lint image
3333273a8f ci: Bump lint imagefile FROM base
2835216ec0 txgraph: make GroupClusters use partition numbers directly (optimization)
c72c8d5d45 txgraph: compare sequence numbers instead of Cluster* (bugfix)
b2bb27f40c Merge bitcoin/bitcoin#31741: multiprocess: Add libmultiprocess git subtree
7749d929a0 Remove support for RNDR/RNDRRS for aarch64 on Linux
a4fd565191 Merge bitcoin/bitcoin#31727: miniscript: convert non-critical asserts to CHECK_NONFATAL
e364e6b509 Merge bitcoin/bitcoin#32176: net: Prevent accidental circuit sharing when using Tor stream isolation
8fe001d597 doc: Updates how to reproduce fuzz CI failure locally
c58ae197a3 Merge bitcoin/bitcoin#32198: fuzz: Make p2p_headers_presync more deterministic
e1dfa4faeb Merge bitcoin/bitcoin#32237: qt: Update SetHexDeprecated to FromHex
b8cefeb221 Merge bitcoin/bitcoin#32149: wallet, migration: Fix empty wallet crash
874da961d0 Merge bitcoin/bitcoin#32240: feefrac test: avoid integer overflow (bugfix)
faa3ce3199 fuzz: Avoid influence on the global RNG from peerman m_rng
faf4c1b6fc fuzz: Disable unused validation interface and scheduler in p2p_headers_presync
fafaca6cbc fuzz: Avoid setting the mock-time twice
fad22149f4 refactor: Use MockableSteadyClock in ReportHeadersPresync
fa9c38794e test: Introduce MockableSteadyClock::mock_time_point and ElapseSteady helper
faf2d512c5 fuzz: Move global node id counter along with other global state
fa98455e4b fuzz: Set ignore_incoming_txs in p2p_headers_presync
faf2e238fb fuzz: Shuffle files before testing them
868816d962 refactor: Remove SetHexDeprecated
6b63218ec2 qt: Update SetHexDeprecated to FromHex
bb92bb36f2 Merge bitcoin/bitcoin#32206: doc: Add fuzz based coverage report generation
021b4f72db Merge bitcoin/bitcoin#32216: bench: Match ConnectBlock tx output counts
ff5b7b0b0a Merge bitcoin/bitcoin#32214: test: Remove fragile and ancient release 0.17 wallet test
873a45fba0 Merge bitcoin/bitcoin#32200: net: Add Tor extended SOCKS5 error codes
8d2ead2a86 Merge bitcoin/bitcoin#32185: coins: replace manual `CDBBatch` size estimation with LevelDB's native `ApproximateSize`
ad0eee5492 Merge bitcoin/bitcoin#32139: test: remove strict restrictions on rpc_deprecated test
a2bc330da8 feefrac test: avoid integer overflow (bugfix)
24d5033a62 Merge bitcoin/bitcoin#32114: test: Add encodable PUSHDATA1 examples to feature_taproot
cfe025ff0e Merge bitcoin/bitcoin#30535: feefrac: add support for evaluating at given size
58914ab459 fuzz: assert min diff between FeeFrac and CFeeRate
0c6bcfd8f7 feefrac: support both rounding up and down for Evaluate
ecf956ec9d feefrac: add support for evaluating at given size
7963aecead feefrac: add helper functions for 96-bit division
800c0dea9a feefrac: rework comments around Mul/MulFallback
fcfe008db2 feefrac fuzz: use arith_uint256 instead of ad-hoc multiply
46ff4220bf arith_uint256: modernize comparison operators
e419b0e17f refactor: Remove manual CDBBatch size estimation
8b5e19d8b5 refactor: Delegate to LevelDB for CDBBatch size estimation
751077c6e2 Coins: Add `kHeader` to `CDBBatch::size_estimate`
0dc74c92c0 Merge bitcoin/bitcoin#32212: test: Remove confusing and failing system time test
7677fde4c7 Add fuzz test coverage report generation
c77e3107b8 refactor: rename leftover WriteBlockBench
d42e82d650 Merge bitcoin/bitcoin#32218: ci: Merge master in test-each-commit task (take 2)
0f602c5693 wallet, migration: Fix crash on empty wallet
fa10a1ded5 ci: Use GITHUB_BASE_REF over hard-coded master
fa0d0be05c ci: Merge master in test-each-commit task (take 2)
65dcbec756 Merge bitcoin/bitcoin#32209: test: Preserve llvm profile path
b34d49a27e Merge bitcoin/bitcoin#32203: ci: Merge master in test-each-commit task
924f25f6fc bench: Match ConnectBlock tx output counts
d0cce4172c depends: Fix `mv` command compatibility with macOS
690f5da15a depends: Specify Objective C/C++ compilers for `native_qt` package
c5a7ffd1e8 preserve llvm profile env
fac978fb21 test: Remove fragile and ancient release 0.17 wallet test
42c13141b5 wallet, refactor: Decouple into HasLegacyRecords()
c66f7dab33 Merge bitcoin/bitcoin#32211: doc: Amend Qt 6 dependency packages for Ubuntu
ec81a72b36 net: Add randomized prefix to Tor stream isolation credentials
d85895e5a7 build, msvc: Build only required `qtbase` features
fe5a6dcc53 build, msvc: Update vcpkg manifest baseline
fadf8f078e test: Remove confusing and failing system time test
2e751f559a doc: Amend Qt 6 dependency packages for Ubuntu
df82a24508 Merge bitcoin-core/gui#863: refactor: Post Qt 6 cleanup
77dff373a6 Merge bitcoin/bitcoin#32182: ci: Switch to dynamic library linkage in native Windows job
99b9022844 Merge bitcoin/bitcoin#32177: TxGraph: Increase fuzz coverage
3aa58bea8e qt, refactor: Inline `GUIUtil::SplitSkipEmptyParts` function
d1ec6db249 qt, refactor: Inline `GUIUtil::GetImage` function
4b36ab3a6a qt, refactor: Remove outdated Qt version-specific code
faa807bdf8 ci: Merge master in test-each-commit task
7967fe5bfd ci: Switch to dynamic library linkage in native Windows job
a2f28e4be9 Squashed 'src/ipc/libmultiprocess/' content from commit 35944ffd23fa
639279e86a Merge bitcoin/bitcoin#30997: build: Switch to Qt 6
babb9f5db6 depends: remove non-native libmultiprocess build
5d105fb8c3 depends: Switch libmultiprocess packages to use local git subtree
9b35518d2f depends, moveonly: split up int_get_build_id function
2d373e2707 lint: Add exclusions for libmultiprocess subtree
e88ab394c1 doc: Update documentation to explain libmultiprocess subtree
d4bc563982 cmake: Fix clang-tidy "no input files" errors
abdf3cb645 cmake: Fix warnings from boost headers
8532fcb1c3 cmake: Fix ctest mptest "Unable to find executable" errors
d597ab1dee cmake: Support building with libmultiprocess subtree
69f0d4adb7 scripted-diff: s/WITH_MULTIPROCESS/ENABLE_IPC/ in cmake
3f6fb40114 Merge commit 'a2f28e4be96e92079a219567cf20214996aefc53' as 'src/ipc/libmultiprocess'
d6244f85c5 depends: Update libmultiprocess library to simplify cmake subtree build
b639417b39 net: Add Tor extended SOCKS5 error codes
f00345727b doc: Update `dependencies.md` for Qt 6
80b917991e build, msvc: Update `vcpkg.json` for Qt 6
30dd1f1644 ci: Update for Qt 6
629d292f4d test: Update sanitizer suppressions for Qt 6
551e13abf8 guix: Adjust for Qt 6
c3e9bd086c qt: Fix compiling for Windows
ab399c4db2 depends: Add `native_qt` package
248613eb3e depends: Factor out Qt modules' details
0268f52a4c depends: Introduce customizable `$(package)_patches_path` variables
5e794e6202 depends: Bump `qt` package up to 6.7.3
6d4214925f cmake: Require Qt 6 to build GUI
cfa7f70f6c Merge bitcoin/bitcoin#31933: doc: Add Clang/LLVM based coverage report generation
772996ac8b Merge bitcoin/bitcoin#32158: fuzz: Make partially_downloaded_block more deterministic
40de19164c Merge bitcoin/bitcoin#32118: fuzz: wallet: fix crypter target
5541f7ced7 Merge bitcoin/bitcoin#32187: refactor: Remove spurious virtual from final ~CZMQNotificationInterface
6f6f83a8ca Merge bitcoin/bitcoin#32193: test: fix spelling in Python code comment
16b084f88d Merge bitcoin/bitcoin#32194: ci, windows: Do not exclude `wallet_migration.py` in command line
4a679936bb ci, windows: Do not exclude `wallet_migration.py` in command line
449e2eb7e4 Merge bitcoin/bitcoin#32184: ci: Add workaround for vcpkg's `libevent` package
4774a0c923 test: fix spelling in Python code comment
459807d566 test: remove strict restrictions on rpc_deprecated
c47f81e8ac net: Rename `_randomize_credentials` Proxy parameter to `tor_stream_isolation`
1a6fc04d81 Merge bitcoin/bitcoin#29500: test: create assert_not_equal util
6af68bb84b Merge bitcoin/bitcoin#32166: torcontrol: Define tor reply code as const to improve our maintainability
6593293e47 Merge bitcoin/bitcoin#32110: contrib: document asmap-tool commands more thoroughly
c8ade107c8 Merge bitcoin/bitcoin#31806: fuzz: coinselection: cover `SetBumpFeeDiscount`
fa69c42fdf refactor: Remove spurious virtual from final ~CZMQNotificationInterface
ea36d2720a Merge bitcoin/bitcoin#31340: test: add missing segwitv1 test cases to `script_standard_tests`
80e47b1920 Merge bitcoin/bitcoin#32096: Move some tests and documentation from testnet3 to testnet4
30c59adda4 ci: Drop confusing comment
ef00a28414 ci: Add workaround for vcpkg's libevent package
7bb83f6718 test: create assert_not_equal util and add to where imports are needed
2929da1dd5 test: Add coverage for rpcwhitelistdefault when unset
fa51310121 contrib: Warn about using libFuzzer for coverage check
fa17cdb191 test: Avoid script check worker threads while fuzzing
fa900bb2dc contrib: Only print fuzz output on failure
74d9598bfb Merge bitcoin/bitcoin#32134: descriptors: Multipath/PR 22838 follow-ups
a40bd374aa Get*Union: disallow nulltpr Refs
57433502e6 CountDistinctClusters: nullptrs disallowed
8bca0d325a TxGraphImpl::Compact: m_main_clusterset.m_removed is always empty
2c5cf987e9 TxGraphImpl::PullIn: only allowed when staging exists
fa82fe2c73 contrib: Use -Xdemangler=llvm-cxxfilt in deterministic-*-coverage
fa7e931130 contrib: Add optional parallelism to deterministic-fuzz-coverage
3358b1d105 Merge bitcoin/bitcoin#31176: ci: Test cross-built Windows executables on Windows natively
8e4a0ddd50 torcontrol: Add comment explaining Proxy credential randomization for Tor privacy
f974359e21 test: Add encodable PUSHDATA1 examples to feature_taproot
ec5c0b26ce torcontrol: Define tor reply code as const to improve maintainability
3c3548a70e validation: clarify final |= BLOCK_FAILED_VALID in InvalidateBlock
aac5488909 validation: correctly update BlockStatus for invalid block descendants
9e29653b42 test: check BlockStatus when InvalidateBlock is used
c99667583d validation: fix traversal condition to mark BLOCK_FAILED_CHILD
7a93544cdc doc: Fix and clarify description of ZMQ message format
56f271e9b9 descriptors refactor: Clarify multipath data relationships through local struct
7e974f474e descriptors refactor: Use range-for and limit scope of seen_multipath
3e167085ba test: Ensures test fails if witness is not hex
4c1906a500 Merge bitcoin/bitcoin#31992: cmake: Avoid fuzzer "multiple definition of `main'" errors
9acc25bcb6 Merge bitcoin/bitcoin#32153: wallet: remove redundant `Assert` call when block is disconnected
0a1e36effa Merge bitcoin/bitcoin#32151: Follow-ups for txgraph #31363
e3c4bb12ba Merge bitcoin/bitcoin#32058: test: get rid of redundant TODO tag
930b237f16 Merge bitcoin/bitcoin#31874: qa wallet: Activate dormant checks in wallet_multisig_descriptor_psbt.py
a52b53926b clusterlin: add GetConnectedComponent
6afffba34e contrib: (asmap) add docs about encode and decode commands
67d5cc2a06 contrib: (asmap) add documentation on diff and diff-addrs commands
e047b1deca contrib: (asmap) add diff-addrs example to README
c7d5dcaa61 clusterlin: fix typos
777179bc27 txgraph: rename group_data in ApplyDependencies
74c23f80ab Merge bitcoin/bitcoin#32145: test: Add functional test for bitcoin-chainstate
bcb316bd88 Merge bitcoin/bitcoin#32050: test: avoid treating hash results as integers
fa6a007b8e fuzz: Avoid integer sanitizer warnings in policy_estimator target
ae6b6ea296 wallet: remove redundant `Assert` call when block is disconnected
a54baa8698 Merge bitcoin/bitcoin#32100: doc: clarify the documentation of `Assume` assertion
b131e1bfc0 Merge bitcoin/bitcoin#32101: Accept unordered tracepoints in interface_usdt_utxocache.py
8cc601196b Merge bitcoin/bitcoin#32129: doc: Update comments for AreInputsStandard to match code
140f0d89bf Merge bitcoin/bitcoin#32027: cmake: Add `NO_CACHE_IF_FAILED` option for checking linker flags
5dd6ebc7e1 Merge bitcoin/bitcoin#32148: test: fix intermittent timeout in p2p_ibd_stalling.py
b413b088ae Merge bitcoin/bitcoin#32141: fuzz: extract unsequenced operations with side-effects
e563cb5c60 Merge bitcoin/bitcoin#31849: depends: set `CMAKE_*_COMPILER_TARGET` in toolchain
603fcc07d5 Merge bitcoin/bitcoin#31896: refactor: Remove redundant and confusing calls to IsArgSet
84bbb40558 Merge bitcoin/bitcoin#32132: build: Remove bitness suffix from Windows installer
6971d3a0f5 Merge bitcoin/bitcoin#32144: lint: Remove needless borrow to fix Clippy warning
f1d129d963 Merge bitcoin/bitcoin#31363: cluster mempool: introduce TxGraph
9f35d4d070 test: fix intermittent timeout in p2p_ibd_stalling.py
d065208f0f test: get rid of redundant TODO tag
248fdd88dc test: accept unordered tracepoints in...
ca55613fd1 test: Add functional test for bitcoin-chainstate
32dcec269b rpc: update RPC help of `createpsbt`
931117a46f rpc: update the doc for `data` field in `outputs` argument
aa7a898c23 doc: use testnet4 in developer docs
6c217d22fd test: use testnet4 in argsman test
7c200ece80 test: use testnet4 in key_io_valid.json
d424bd5941 test: drop unused testnet3 magic bytes
8cfc09fafe test: cover testnet4 magic in assumeutxo.py
4281e3603a zmq: use testnet4 in zmq_sub.py example
3f9c716e7f test: Fix docstring for cmake migration
52ede28a8a doc: Update comments for AreInputsStandard to match code
35d17cd5ee qa wallet: Actually make use of expressions
b96f1a696a add clang/llvm based coverage report generation
e3ce2bd982 Remove needless borrow to fix Clippy warning
c0b7159de4 Merge bitcoin/bitcoin#32122: fuzz: Fix off-by-one in package_rbf target
b1de59e896 fuzz: extract unsequenced operations with side-effects
99a92efdd9 descriptors doc: Correct Markdown format + wording
dfb7d58108 Merge bitcoin/bitcoin#31897: mining: drop unused  -nFees and sigops from CBlockTemplate
535b874707 test: Combine rpcwhitelistdefault functions
0000fb3fd9 doc: Remove outdated and stale todo comment
fa2b529f92 refactor: Remove redundant call to IsArgSet
fa29842c1f refactor: Remove IsArgSet guard when fallback value is provided
2b6ce9254d test: Update permissions and string formatting
fa5674c264 fuzz: Fix off-by-one in package_rbf target
1d281daf86 Merge bitcoin/bitcoin#32095: doc: clarify that testnet min-difficulty is not optional
a0d737cd7a Merge bitcoin/bitcoin#32073: net: Block v2->v1 transport downgrade if !fNetworkActive
77e553ab6a build: refactor: hardening flags -> core_interface
00ba3ba303 build: Drop option for disabling hardening
f57db75e91 build: Use `-z noseparate-code` on NetBSD < 11.0
b3162d10ea Merge bitcoin/bitcoin#31656: test: Add expected result assertions
5f3848c63b Merge bitcoin/bitcoin#31278: wallet, rpc: deprecate settxfee and paytxfee
329a0dcdaf doc: clarify the documentation of `Assume`
fb2b05b125 build: Remove bitness suffix from Windows installer
b2ea365648 txgraph: Add Get{Ancestors,Descendants}Union functions (feature)
54bceddd3a txgraph: Multiple inputs to Get{Ancestors,Descendant}Refs (preparation)
aded047019 txgraph: Add CountDistinctClusters function (feature)
b685d322c9 txgraph: Add DoWork function (feature)
295a1ca8bb txgraph: Expose ability to compare transactions (feature)
22c68cd153 txgraph: Allow Refs to outlive the TxGraph (feature)
82fa3573e1 txgraph: Destroying Ref means removing transaction (feature)
6b037ceddf txgraph: Cache oversizedness of graphs (optimization)
8c70688965 txgraph: Add staging support (feature)
c99c7300b4 txgraph: Abstract out ClearLocator (refactor)
34aa3da5ad txgraph: Group per-graph data in ClusterSet (refactor)
36dd5edca5 txgraph: Special-case removal of tail of cluster (Optimization)
5801e0fb2b txgraph: Delay chunking while sub-acceptable (optimization)
57f5499882 txgraph: Avoid looking up the same child cluster repeatedly (optimization)
1171953ac6 txgraph: Avoid representative lookup for each dependency (optimization)
64f69ec8c3 txgraph: Make max cluster count configurable and "oversize" state (feature)
1d27b74c8e txgraph: Add GetChunkFeerate function (feature)
c80aecc24d txgraph: Avoid per-group vectors for clusters & dependencies (optimization)
ee57e93099 txgraph: Add internal sanity check function (tests)
05abf336f9 txgraph: Add simulation fuzz test (tests)
8ad3ed2681 txgraph: Add initial version (feature)
6eab3b2d73 feefrac: Introduce tagged wrappers to distinguish vsize/WU rates
d449773899 scripted-diff: (refactor) ClusterIndex -> DepGraphIndex
bfeb69f6e0 clusterlin: Make IsAcyclic() a DepGraph member function
0aa874a357 clusterlin: Add FixLinearization function + fuzz test
55b931934a removed duplicate calling of GetDescriptorScriptPubKeyMan
05117e6e17 rpc: clarify longpoll behavior
5315278e7c Have createNewBlock() wait for a tip
8284229a28 refactor: deduplicate anchor witness program bytes (`0x4e,0x73`)
41f2f058d0 test: add missing segwitv1 test cases to `script_standard_tests`
770d39a376 Merge bitcoin/bitcoin#31887: CLI cleanups
a203928693 Merge bitcoin/bitcoin#30538: Doc: add a comment referencing past vulnerability next to where it was fixed
b9c281011b Merge bitcoin/bitcoin#31689: Benchmark Chainstate::ConnectBlock duration
963355037f depends: set CMAKE_*_COMPILER_TARGET in toolchain
af3dee0b8d Merge bitcoin/bitcoin#32074: contrib: Make deterministic-coverage error messages more readable
0ff66b1c4a fuzz: coinselection: cover `SetBumpFeeDiscount`
28dc118001 fuzz: wallet: fix crypter target
8046759305 Merge bitcoin/bitcoin#31870: fuzz: split `coinselection` harness
2db00278ea Merge bitcoin/bitcoin#31910: qa: fix an off-by-one in utxo snapshot fuzz target and sanity check its snapshot data
c9a61509ba Merge bitcoin/bitcoin#31979: torcontrol: Limit reconnect timeout to max seconds and log delay in whole seconds
b43cfa20fd Merge bitcoin/bitcoin#30142: doc: add guidance for RPC to developer notes
85feb094d4 Merge bitcoin/bitcoin#32092: test: Fix intermittent issue in p2p_orphan_handling.py
b858b72903 Merge bitcoin/bitcoin#31841: fuzz: Use immediate task runner to increase fuzz stability
fa7a40d952 contrib: Print deterministic-coverage runs
fa751639fb contrib: Make deterministic-coverage error messages more readable
998386d446 Merge bitcoin/bitcoin#31866: test, refactor: Add TestNode.binaries to hold binary paths
aa87e0b446 Merge bitcoin/bitcoin#31519: refactor: Use std::span over Span
ef525e8b7c Merge bitcoin/bitcoin#31457: fuzz: Speed up *_package_eval fuzz targets a bit
7d76c9725c Merge bitcoin/bitcoin#31766: leveldb: pull upstream C++23 changes
780bcf80b5 Merge bitcoin/bitcoin#32091: test: replace assert with assert_equal and assert_greater_than
c6eca6f396 doc: add guidance for RPC to developer notes
fa310cc6f4 test: Fix intermittent issue in p2p_orphan_handling.py
25b56fd9b4 ci: Test cross-built Windows executables on Windows natively
288481aabd doc: clarify that testnet min-difficulty is not optional
e568c1dd13 Merge bitcoin/bitcoin#32088: test: switch wallet_crosschain.py to signet and drop testnet4
e8f6a48e31 Merge bitcoin/bitcoin#32057: test: avoid disk space warning for non-regtest
387385ba1e test: replace assert with assert_equal and assert_greater_than
223fc24c4e Merge bitcoin/bitcoin#31603: descriptor: check whitespace in keys within fragments
d190f0facc test, contrib: Fix signer/miner command line escaping
0d2eefca8b test, refactor: Add TestNode.binaries to hold binary paths
3501bca8c7 ci: Move "Windows cross" job from Cirrus CI to GHA CI
f8619196ce ci: Use `bash` by default for all platforms
d61a847af0 Merge bitcoin/bitcoin#32019: cmake: Check for `makensis` and `zip` tools before using them for optional `deploy` targets
cec14ee47d test: switch wallet_crosschain.py to signet
9c2951541c test: drop testnet4 from wallet_crosschain.py
14fec6380d Merge bitcoin/bitcoin#32059: test: Update coverage.cpp to drop linux restriction
ece0b41da6 Merge bitcoin/bitcoin#32087: ci: Drop ENABLE_HARDENING=OFF from clang-tidy
c9b633d119 Merge bitcoin/bitcoin#31948: ci: [lint] Use Cirrus dockerfile cache
6245c23504 Merge bitcoin/bitcoin#32083: doc: shallow clone `qa-assets`
6869fb4170 net: Block v2->v1 transport downgrade if !CConnman::fNetworkActive
257fd27e4b Merge bitcoin/bitcoin#32033: test: Check datadir cleanup after assumeutxo was successful
6f9f415a4f doc: shallow clone qa-assets
db2c57ae9e Merge bitcoin-core/gui#858: qt: doc: adapt outdated binary paths to CMake changes
c8fab35617 ci: remove -Wno-error=deprecated-declarations from ASAN
a130bbd154 Squashed 'src/leveldb/' changes from 04b5790928..4188247086
24fd0235e4 Update leveldb subtree to latest upstream
a799415d84 Merge bitcoin/bitcoin#31904: refactor: modernize outdated trait patterns using helper aliases (C++14/C++17)
5f4422d68d Merge bitcoin/bitcoin#32010: qa: Fix TxIndex race conditions
52482cb244 test: Check datadir cleanup after assumeutxo was successful
7ebc458a8c qt: doc: adapt outdated binary paths to CMake changes
cd8089c20b Merge bitcoin/bitcoin#32069: test: fix intermittent failure in wallet_reorgsrestore.py
70a0ee89c6 Me…
stringintech added a commit to stringintech/go-bitcoinkernel that referenced this pull request Jul 19, 2025
1ffc1c9d94 kernel: Fix bitcoin-chainstate for windows
686c4108cc kernel: Add Purpose section to header documentation
8d47a40731 kernel: Add pure kernel bitcoin-chainstate
ba84650882 kernel: Add functions to get the block hash from a block
a421727342 kernel: Add block index utility functions to C header
aedbe73cf0 kernel: Add function to read block undo data from disk to C header
109dda0845 kernel: Add functions to read block from disk to C header
3e24c34ad4 kernel: Add function for copying block data to C header
9ab3d14c1d kernel: Add functions for the block validation state to C header
4408228f85 kernel: Add validation interface to C header
0c3054ef4b kernel: Add interrupt function to C header
45895c4ac7 kernel: Add import blocks function to C header
994c869ba2 kernel: Add chainstate load options for in-memory dbs in C header
b4ad47e312 kernel: Add options for reindexing in C header
591b28d615 kernel: Add block validation to C header
a1fe6b4264 kernel: Add chainstate loading when instantiating a ChainstateManager
0cf99f827e kernel: Add chainstate manager option for setting worker threads
c18b35135c kernel: Add chainstate manager object to C header
1de2db7eac kernel: Add notifications context option to C header
b1e6a28d17 kernel: Add chain params context option to C header
369cfd3f6c kernel: Add kernel library context object
f9e13dbb1a kernel: Add logging to kernel library C header
ce12888287 kernel: Introduce initial kernel C header API
7566b40bd2 Merge bitcoin/bitcoin#32961: fix spelling in tor.md docs
84ef5524d5 fix spelling in tor.md docs
6a13a6106e Merge bitcoin/bitcoin#32937: Enable `-Werror=dev` in CI & Guix
23e15d40b9 Merge bitcoin/bitcoin#32631: refactor: Convert GenTxid to `std::variant`
8ffbd7b778 Merge bitcoin/bitcoin#32940: cmake: Use newer signature of `qt6_add_lrelease` when available
80ce513766 Merge bitcoin/bitcoin#32933: log: Properly log warnings with warn loglevel in addrdb
8f766f39df ci: enable -Werror=dev
7b420ca834 guix: configure with -Werror=dev
44097ddb19 cmake: enable -Werror=dev in dev-mode preset
12fb00fd42 Merge bitcoin/bitcoin#32927: fuzz: Add missing calls to `SetMockTime` for determinism
3c1418666b Merge bitcoin/bitcoin#32930: Resolve guix non-determinism with emplace_back instead of push_back
bad998b7c0 Merge bitcoin/bitcoin#32921: test: less ambiguous error if bitcoind is missing
7f28e80329 Merge bitcoin/bitcoin#32758: wallet: remove dead code in legacy wallet migration
5ef0d4897b Merge bitcoin/bitcoin#30605: Cluster linearization: separate tests from tests-of-tests
f43571010e Resolve guix non-determinism with emplace_back instead of push_back
94931656b5 cmake: Use newer signature of `qt6_add_lrelease` when available
b80ead8a71 Merge bitcoin/bitcoin#32890: bench: Avoid tmp files in pwd
c4f90900b5 Merge bitcoin/bitcoin#32932: test: Add missing convert_to_json_for_cli
fa894b0f3e log: Properly log warnings with warn loglevel in addrdb
83ae7802fe Merge bitcoin/bitcoin#32881: test: Turn rpcauth.py test into functional test
fa0528479d test: Add missing convert_to_json_for_cli
a40e953658 Merge bitcoin/bitcoin#30479: validation: Add eligible ancestors of reconsidered block to setBlockIndexCandidates
1ca62edd85 Merge bitcoin/bitcoin#32580: wallet, test: best block locator matches scan state follow-ups
2cad7226c2 Merge bitcoin/bitcoin#32799: mempool: use `FeeFrac` for ancestor/descendant score comparators
2d59977601 Merge bitcoin/bitcoin#32604: log: Mitigate disk filling attacks by rate limiting LogPrintf, LogInfo, LogWarning, LogError
4c772cbd83 doc: add release notes for new rate limiting logging behavior
d541409a64 log: Add rate limiting to LogPrintf, LogInfo, LogWarning, LogError, LogPrintLevel
a6a35cc0c2 log: use std::source_location in place of __func__, __FILE__, __LINE__
afb9e39ec5 log: introduce LogRateLimiter, LogLimitStats, Status
df7972a6cf test: Mark ~DebugLogHelper as noexcept(false)
fa8862723c fuzz: CheckGlobals in init
fa26bfde98 test: Avoid resetting mocktime in testing setup
fa6b45fa8e Add SetMockTime for time_point types
a60f863d3e scripted-diff: Replace GenTxidVariant with GenTxid
c8ba199598 Remove old GenTxid class
072a198ea4 Convert remaining instances of GenTxid to GenTxidVariant
1b528391c7 Convert `txrequest` to GenTxidVariant
bde4579b07 Convert `txdownloadman_impl` to GenTxidVariant
c876a892ec Replace GenTxid with Txid/Wtxid overloads in `txmempool`
de858ce2be move-only: make GetInfo a private CTxMemPool member
eee473d9f3 Convert `CompareInvMempoolOrder` to GenTxidVariant
b7e9dc8e46 Merge bitcoin/bitcoin#32884: rest: replace `rf_names[0].rf` by `RESTResponseFormat::UNDEF`
fa4d68cf97 Turn rpcauth.py test into functional test
83bb414557 test: less ambiguous error if bitcoind is missing
150b5c99ca wallet: replace `reload_wallet` with inline functionality
927055e42a Merge bitcoin/bitcoin#32893: doc: fix `BlockConnected` incorrect comment
a8bff38236 Merge bitcoin/bitcoin#32862: rpc: use CScheduler for relocking wallet and remove RPCTimer
21b42f3c55 Merge bitcoin/bitcoin#32660: rpc: Use type-safe exception to pass RPC help
528f79f010 Merge bitcoin/bitcoin#32835: test: fix feature_init.py intermittencies
fc543f94a9 Merge bitcoin/bitcoin#32385: test: refactor out same-txid-diff-wtxid tx to reuse in other tests
09add84fc5 Merge bitcoin/bitcoin#32618: wallet: Remove ISMINE_WATCHONLY and watchonly from RPCs
87ab69155d Merge bitcoin/bitcoin#31553: cluster mempool: add TxGraph reorg functionality
4e69aa5701 doc: fix `BlockConnected` incorrect comment
d33c111448 Merge bitcoin/bitcoin#32829: threading: use correct mutex name in reverse_lock fatal error messages
de4eef52d1 threading: use correct mutex name in reverse_lock fatal error messages
fa2fbaa4a2 bench: Avoid tmp files in pwd
6d19815cd4 rest: replace `rf_names[0].rf` by `RESTResponseFormat::UNDEF` for code clarity
4207d9bf82 test: feature_init, ensure indexes are synced prior to perturbing files
e3f416dbf7 Merge bitcoin/bitcoin#32463: test: fix an incorrect `feature_fee_estimation.py` subtest
ea4285775e Merge bitcoin/bitcoin#29307: util: explicitly close all AutoFiles that have been written
51ccc71b1b Merge bitcoin/bitcoin#32858: doc: Add workaround for vcpkg issue with paths with embedded spaces
fcfd3db563 remove RPCTimerInterface and RPCRunLater
8a1765795f use WalletContext scheduler for walletpassphrase callback
927e9b220f Merge bitcoin/bitcoin#32716: depends: Override host compilers for FreeBSD and OpenBSD
c7fe8abb5f Merge bitcoin/bitcoin#31233: cmake: Improve Python robustness and test usability
6251949443 Merge bitcoin/bitcoin#32290: test: allow all functional tests to be run or skipped with --usecli
0f86da382d wallet: remove dead code in legacy wallet migration
49d5f1f2c6 Merge bitcoin/bitcoin#32850: test: check P2SH sigop count for coinbase tx
abd07cf733 test: feature_init, only init what's needed per perturbation/deletion round
1927432354 Merge bitcoin/bitcoin#32859: functional test: correctly detect nonstd TRUC tx vsize in feature_taproot
68ca13e1f9 Merge bitcoin/bitcoin#32823: test: Fix wait_for_getheaders() call in test_outbound_eviction_blocks_relay_only()
35cae56a92 Merge bitcoin/bitcoin#31423: wallet: migration, avoid creating spendable wallet from a watch-only legacy wallet
1632fc104b txgraph: Track multiple potential would-be clusters in Trim (improvement)
4608df37e0 txgraph: add Trim benchmark (benchmark)
9c436ff01c txgraph: add fuzz test scenario that avoids cycles inside Trim() (tests)
938e86f8fe txgraph: add unit test for TxGraph::Trim (tests)
a04e205ab0 txgraph: Add ability to trim oversized clusters (feature)
eabcd0eb6f txgraph: remove unnecessary m_group_oversized (simplification)
19b14e61ea txgraph: Permit transactions that exceed cluster size limit (feature)
c4287b9b71 txgraph: Add ability to configure maximum cluster size/weight (feature)
f0524cda39 functional test: correctly detect nonstd TRUC tx vsize in feature_taproot
0a1af4418e doc: Add workaround for vcpkg issue with paths with embedded spaces
a92e8b10a5 Merge bitcoin/bitcoin#32564: miniscript, refactor: Make `operator""_mst` `consteval` (re-take)
bf75c9964f Merge bitcoin/bitcoin#32828: build, docs: Fix Boost-related issues on NetBSD
7fa9b58bd9 Merge bitcoin/bitcoin#32841: feature_taproot: sample tx version border values more
1b5c545e82 wallet, test: best block locator matches scan state follow-ups
fa33592898 Merge bitcoin/bitcoin#32723: Refactor: Redefine CTransaction equality to include witness data
ce000c8ee0 Merge bitcoin/bitcoin#32219: test: enabling wallet migration functional test on windows
f33154c464 Merge bitcoin/bitcoin#32432: wallet, rpc: Use `OUTPUT_TYPES` to describe the output types instead of hardcoding them
fa9b1e3544 Merge bitcoin/bitcoin#32846: doc: clarify that the "-j N" goes after the "--build build" part
b1a8ac07e9 doc: Release note for removed watchonly parameters and results
15710869e1 wallet: Remove ISMINE_WATCH_ONLY
4439bf4b41 wallet, spend: Remove fWatchOnly from CCoinControl
1337c72198 wallet, rpc: Remove watchonly from RPCs
e81d95d435 wallet: Remove watchonly balances
d20dc9c6aa wallet: Wallets without private keys cannot grind R
9991f49c38 test: Watchonly wallets should estimate larger size
d6aaffcb11 test: check P2SH sigop count for coinbase tx
b1821d8dd3 Merge bitcoin/bitcoin#27286: wallet: Keep track of the wallet's own transaction outputs in memory
0e9f409db3 doc: clarify that the "-j N" goes after the "--build build" part
67dc7523f3 cmake, test: Disable tests instead of ignoring them
bb9157db5d cmake, refactor: Switch to `Python3::Interpreter` imported target
ed7a841f82 Merge bitcoin/bitcoin#32816: contrib: correct variable name in p2p_monitor.py
2ae5154dd8 Merge bitcoin/bitcoin#32842: doc: add `/spenttxouts` to REST-interface.md
243553d590 refactor: replace get_iter_from_wtxid with GetIter(const Wtxid&)
fcf92fd640 refactor: make CTxMemPool::GetIter strongly typed
23a00fcf57 Merge bitcoin/bitcoin#32783: doc: Add fetching single PRs from upstream to productivity.md
dd99cedc0b doc: add `/spenttxouts` to REST-interface.md
4be81e9746 feature_taproot: sample tx version border values more
6e5b67a370 Merge bitcoin/bitcoin#32697: test: Turn util/test_runner into functional test
fb2c16cf7b Merge bitcoin/bitcoin#32826: p2p: add more bad ports
f5f3e1f263 Merge bitcoin/bitcoin#32646: p2p: Add witness mutation check inside FillBlock
a763497b1d Merge bitcoin/bitcoin#32834: test: Use msg_generic in p2p_ping.py
fa3f100010 test: Use msg_generic in p2p_ping.py
33480573cb Merge bitcoin/bitcoin#32833: test: Add `msgtype` to `msg_generic` slots
9501738e1c Merge bitcoin/bitcoin#32825: rest: rename `strURIPart` to `uri_part`
5a5ddbd789 build: Add workaround for NetBSD bug in `Boost::headers` target
6967e8e8ab add more bad p2p ports
7dc43ea503 test: Add msgtype to msg_generic slots
4eb3cee919 doc: Update NetBSD Build Guide
856f4235b1 scripted-diff: rest: rename `strURIPart` -> `uri_part`
b3bb4031ab Merge bitcoin/bitcoin#32540: rest: fetch spent transaction outputs by blockhash
3086c21df4 Merge bitcoin/bitcoin#32243: test: added fuzz coverage for consensus/merkle.cpp
319ff58bbd Merge bitcoin/bitcoin#32638: blocks: force hash validations on disk read
ec004cdb86 test: Use rehash() in outbound eviction block-relay
26598ed21e test: Clarify roles in outbound eviction comments
689318ccd9 Merge bitcoin/bitcoin#32667: build: Find Boost in config mode
4a3475a43e Merge bitcoin/bitcoin#32819: Add release note for #32530
558f0880a8 Add release note for #32530
c43cc48aaa Merge bitcoin/bitcoin#32530: node: cap `-maxmempool` and `-dbcache` values for 32-bit
4145a9463a Merge bitcoin/bitcoin#32731: depends: Build `qt` package for FreeBSD hosts
14653b869b build: Find Boost in config mode
67ea4b9994 Merge bitcoin/bitcoin#32814: cmake: Explicitly specify `Boost_ROOT` for Homebrew's package
5170ec1ae3 Merge bitcoin/bitcoin#32665: depends: Bump boost to 1.88.0 and use new CMake buildsystem
8fafb81320 Merge bitcoin/bitcoin#32805: cmake: Use `HINTS` instead of `PATHS` in `find_*` commands
6bb38bf37f Update p2p_monitor.py
9b75cfda4d test: retain the intended behavior of `feature_fee_estimation.py` nodes
5c1236f04a test: fix incorrect subtest in `feature_fee_estimation.py`
e5f9218b6a Merge bitcoin/bitcoin#32742: test: fix catchup loop in outbound eviction functional test
11d28f21bb Implement GenTxid as a variant
215e5999e2 wallet: Remove unused CachedTxGet{Available,Immature}Credit
49675de035 wallet: Have GetDebit use the wallet's TXO set
17d453cb3a wallet: Recompute wallet TXOs after descriptor migration
764016eb22 wallet: Retrieve TXO directly in FetchSelectedInputs
c1801b78f1 wallet: Use wallet's TXO set in AvailableCoins
dde7cbe105 wallet: Change balance calculation to use m_txos
96e7a89c5e wallet: Recalculate the wallet's txos after any imports
ae888c38d0 wallet: Exit IsTrustedTx early if wtx is already in trusted_parents
ae0876ec42 wallet: Keep track of transaction outputs owned by the wallet
0f269bc48c walletdb: Load Txs last
5cc32ee2a7 test: Test for balance update due to untracked output becoming spendable
8222341d4f wallet: MarkDirty after AddWalletDescriptor
e02f2d331c bench: Have AvailableCoins benchmark include a lot of unrelated utxos
f27898c8bf Merge bitcoin/bitcoin#32721: wallet, rpc: Remove deprecated balances from getwalletinfo and getunconfirmedbalance
8578fabb95 Merge bitcoin/bitcoin#32597: wallet: Always set descriptor cache upgraded flag for new wallets
941b8f54c0 ci: run get_previous_releases as part of test cross win job
5e2182140b test: increment mocked time for migrating wallet backups
5174565802 ci: disable feature_unsupported_utxo_db functional test
3dc90d69a6 test: remove mempool.dat before copying
67a6b20d50 test: add windows support to get previous releases script
01f9081955 Merge bitcoin/bitcoin#32768: wallet: Remove `CWalletTx::fTimeReceivedIsTxTime`
c1d8a542b4 Merge bitcoin/bitcoin#32727: doc: add release notes for #32425
1a1b478ca3 scripted-diff: rename tarball to archive
4f06dc8484 test: remove building from source from get prev releases script
45b1d39757 doc: Add fetching single PRs from upstream
8800b5acc1 cmake: Explicitly specify `Boost_ROOT` for Homebrew's package
b9a2e8ee96 doc: add release notes for bitcoin/bitcoin#32425
6c2538d5bf depends: Bump boost to 1.88.0 and use new CMake buildsystem
7d5a6d1739 Merge bitcoin/bitcoin#32798: build: add root dir to CMAKE_PREFIX_PATH in toolchain
a34fb9ad6c miniscript: Make `operator""_mst` `consteval`
14052162b1 Revert "miniscript: make operator_mst consteval"
ead4468748 cmake: Use `HINTS` instead of `PATHS` in `find_*` commands
ad654a4807 Merge bitcoin/bitcoin#32767: ci: Allow running CI in worktrees
67e6746dc8 Merge bitcoin/bitcoin#32780: lsan: add more Qt suppressions
e27a94596f build: add root dir to CMAKE_PREFIX_PATH
173394d951 depends: Build `qt` package for FreeBSD hosts
922adf66ac mempool: use `FeeFrac` for calculating regular score
3322b3a059 mempool: use `FeeFrac` for calculating ancestor score
ac9c113bd2 mempool: use `FeeFrac` for calculating descendant score
e95bfc1d53 Merge bitcoin/bitcoin#32797: doc: archive 28.2 release notes
666016e56b ci: use --usecli in one of the CI jobs
7ea248a020 test: Disable several (sub)tests with cli
f420b6356b test: skip subtests that check for wrong types with cli
6530d0015b test: add function to convert to json for height_or_hash params
54d28722ba test: Don't send empty named args with cli
cca422060e test: convert tuple to json for cli
af34e98086 test: make rpc_psbt.py usable with --usecli
8f8ce9e174 test: rename .rpc to ._rpc and remove unnecessary uses
5b08885986 test: enable functional tests with large rpc args for cli
7d5352ac73 test: use -stdin for large rpc commands
6c364e0c10 test: Enable various tests for usage with cli
907842363c doc: archive 28.2 release notes
c5849663ba Merge bitcoin/bitcoin#32771: contrib: tracing: Fix read of `pmsg_type` in p2p_monitor.py
8a36a471e6 Merge bitcoin/bitcoin#32781: refactor: modernize deprecated ipc headers
ed060e01e7 Merge bitcoin/bitcoin#32725: test: round difficulty and networkhashps
daf393b3f1 Merge bitcoin/bitcoin#32642: test: update BIP340 test vectors and implementation (variable-length messages)
482d255376 Merge bitcoin/bitcoin#32736: wallet: Correct dir iteration error handling
74b7e9c7db refactor: modernize deprecated ipc headers
154b98a7aa Merge bitcoin/bitcoin#32772: fuzz: wallet: remove `FundTx` from `FuzzedWallet`
fa183045a1 Merge bitcoin/bitcoin#32765: test: Fix list index out of range error in feature_bip68_sequence.py
5be31b20e5 lsan: add more Qt suppressions
e18322eff2 Merge bitcoin/bitcoin#32774: doc: Explain how to fetch commits directly
b861419254 Merge bitcoin/bitcoin#32777: doc: fix Transifex 404s
79afe6b7c0 Merge bitcoin/bitcoin#32776: doc: taproot became always active in v24.0 (doc/bips.md)
53a996f122 doc: fix transifex 404s
8ee8a951c2 doc: taproot became always active in v24.0
fa21631595 test: Use self.log
fa346f7797 test: Move error string into exception
fa1986181f test: Remove useless catch-throw
fa94fd53c9 doc: Explain how to fetch commits directly
9a7eece5a4 Merge bitcoin/bitcoin#31981: Add checkBlock() to Mining interface
8cc9845b8d wallet, rpc: Use `OUTPUT_TYPES` to describe the output types instead of hardcoding them
3473986fe1 contrib: tracing: Correctly read msg type in p2p_monitor.py
cd1ae1b4df fuzz: wallet: remove FundTx from FuzzedWallet
fa68dcb207 ci: Add missing errexit to lint CI install
fa535a6de7 ci: Allow running CI in worktrees
faf6a04597 ci: Clean UID/GID mismatch
9eb2c82e7c walletdb: Remove unused upgraded_txs
c668033709 wallet: Remove unused fTimeReceivedIsTxTime
5e6dbfd14e Merge bitcoin/bitcoin#32465: thread-safety: fix annotations with REVERSE_LOCK
e285e691b7 test: Fix list index out of range error in feature_bip68_sequence.py
1be688f575 Merge bitcoin/bitcoin#32682: wallet: have external signer use PSBT error code EXTERNAL_SIGNER_NOT_FOUND
a201a99f8c thread-safety: fix annotations with REVERSE_LOCK
26747d9f3e Merge bitcoin/bitcoin#32760: depends: capnp 1.2.0
c10e382d2a flatfile: check whether the file has been closed successfully
4bb5dd78ea util: check that a file has been closed before ~AutoFile() is called
8bb34f07df Explicitly close all AutoFiles that have been written
a69c4098b2 rpc: take ownership of the file by WriteUTXOSnapshot()
c7eaac326a depends: capnp 1.2.0
afaaba69ed test: refactor out same-txid-diff-wtxid tx to reuse in other tests
084eee0291 Merge bitcoin/bitcoin#32743: refactor: use `std::vector<std::byte>` for `BlockManager::ReadRawBlock()`
c48846ec41 doc: add release notes for #32540
d7fca5c171 clusterlin: add big comment explaning the relation between tests
b64e61d2de clusterlin: abstract try-permutations into ExhaustiveLinearize function
1fa55a64ed clusterlin tests: verify that chunks are minimal
da23ecef29 clusterlin tests: support non-empty ReadTopologicalSubset()
94f3e17c33 clusterlin tests: compare with fuzz-provided linearizations
5f92ebee0d clusterlin tests: compare with fuzz-provided topological sets
6e37824ac3 clusterlin tests: optimize clusterlin_simple_linearize
98c1c88b6f clusterlin tests: separate testing of SimpleLinearize and Linearize
10e90f7aef clusterlin tests: make SimpleCandidateFinder always find connected
a38c38951e clusterlin tests: separate testing of Search- and SimpleCandidateFinder
77a432ee70 clusterlin tests: count SimpleCandidateFinder iterations better
a18e572328 test: more template verification tests
10c908808f test: move gbt proposal mode tests to new file
94959b8dee Add checkBlock to Mining interface
6077157531 ipc: drop BlockValidationState special handling
74690f4ed8 validation: refactor TestBlockValidity
2def858473 Merge bitcoin/bitcoin#32481: wallet, refactor: Remove Legacy wallet unused warnings and errors
287cd04a32 Merge bitcoin/bitcoin#32594: wallet, rpc: Return normalized descriptor in parent_descs
fd74d609be Merge bitcoin/bitcoin#32620: wallet: Fix wallet interface detection of encrypted wallets
6ecb9fc65f chore: use `std::vector<std::byte>` for `BlockManager::ReadRawBlock()`
65b26507b8 Merge bitcoin/bitcoin#32746: test: remove unnecessary m_best_header setting hack in feature_assumeutxo.py
3e81684426 Merge bitcoin/bitcoin#32739: tsan: remove note about dropping Qt wildcards
b8eb17792e Merge bitcoin/bitcoin#32175: fuzz: doc: add info about `afl-system-config` for macOS
206bc05e62 test: remove unnecessary m_best_header setting hack in feature_assumeutxo.py
272cd09b79 log: Use warning level while scanning wallet dir
1777644367 qa, wallet: Verify warning when failing to scan
893e51ffeb wallet: Correct dir iteration error handling
52e6e93c3f Merge bitcoin/bitcoin#32693: depends: fix cmake compatibility error for freetype
fa2f1c55b7 move-only util data to test/functional/data/util
faa18bf287 test: Turn util/test_runner into functional test
fa955154c7 test: Add missing skip_if_no_bitcoin_tx
9341b5333a blockstorage: make block read hash checks explicit
2371b9f4ee test/bench: verify hash in `ComputeFilter` reads
5d235d50d6 net: assert block hash in `ProcessGetBlockData` and `ProcessMessage`
5db0a4a2db tsan: remove note about dropping Qt wildcards
d91c718a68 Merge bitcoin/bitcoin#32717: doc: Update Qt 6 packages on FreeBSD
fac9db6eb0 test: Add missing tx util to Binaries
fa91835ec6 test: Use lowercase env var as attribute name
fac49094cd test: Remove duplicate ConfigParser
9dfc61d95f test: detect no external signer connected
dd8447f70f test: fix catchup loop in outbound eviction functional test
19765dca19 Merge bitcoin/bitcoin#32694: index: move disk read lookups to base class
8cc3ac6c23 validation: Don't use IsValid() to filter for invalid blocks
86d98b94e5 test: verify that ancestors of a reconsidered block can become the chain tip
3c39a55e64 validation: Add ancestors of reconsiderblock to setBlockIndexCandidates
1df96f5931 doc: Update Qt 6 packages on FreeBSD
d7c37906e7 build: patch cmake min version on freetype
fa946520d2 refactor: Use structured binding for-loop
eeeec1579e rpc: Use type-safe exception to pass RPC help
5757de4ddd Merge bitcoin/bitcoin#32673: clang-tidy: Apply modernize-deprecated-headers
1473f69924 Merge bitcoin/bitcoin#32421: test: refactor: overhaul (w)txid determination for `CTransaction` objects
7c0cfce20d Merge bitcoin/bitcoin#31405: validation: stricter internal handling of invalid blocks
851f540d0e Merge bitcoin/bitcoin#32703: test: Explain how to reproduce zmq:: upstream race
5af5e9791d Merge bitcoin/bitcoin#32690: depends: fix multiprocess build on OpenBSD (apply capnp patch, correct SHA256SUM command)
fed41b75fb Merge bitcoin/bitcoin#32431: deps: Bump lief to 0.16.6
578ea3eedb test: round difficulty and networkhashps
c8abd97281 Merge bitcoin/bitcoin#32719: doc, windows: CompanyName "Bitcoin" => "Bitcoin Core project"
029ba1a21d index: remove CBlockIndex access from CustomAppend()
91b7ab6c69 refactor: index, simplify CopyHeightIndexToHashIndex to process single block
4f56c9145a refactor: contrib: Move FORTIFY check to BASE_ELF
f6d25e8a2d contrib: Re-enable FORTIFY check for RISCV
765922d802 deps: bump lief to 0.16.6
4ef6253017 test: avoid unneeded (w)txid hex -> integer conversions
472f3770ae scripted-diff: test: rename CTransaction `.getwtxid()` -> `wtxid_hex` for consistency
81af4334e8 test: rename CTransaction `.sha256` -> `.txid_int` for consistency
ce83924237 test: rename CTransaction `.rehash()`/`.hash` -> `.txid_hex` for consistency
6efbd1e1dc refactor: CTransaction equality should consider witness data
cbf9b2dab1 mempool: codify existing assumption about duplicate txids during removal
c3fe85e2d6 wallet, rpc, test: Remove deprecated getunconfirmedbalance
0ec255139b wallet, rpc: Remove deprecated balances from getwalletinfo
e9331cd6ab wallet: IsEquivalentTo should strip witness data in addition to scriptsigs
ce90f0c99f rpc, wallet, refactor: Remove non-descriptor errors
573bcd75d7 wallet, refactor: Remove unused SetupGeneration
5431f2dc21 wallet, refactor: Remove Legacy warnings and errors
6f1392cc42 indexes, refactor: Remove remaining CBlockIndex* uses in index Rewind methods
0a248708dc indexes, refactor: Stop requiring CBlockIndex type to call IsBIP30Unspendable
28299ce776 p2p: remove vestigial READ_STATUS_CHECKBLOCK_FAILED
bac9ee4830 p2p: Add witness mutation check inside FillBlock
4f10a57671 depends: Override host compilers for FreeBSD and OpenBSD
239fc4d62e doc, windows: CompanyName "Bitcoin" => "Bitcoin Core project"
e9cdaefb0a test: introduce and use CTransaction `.wtxid_int` property
9b3dce24a3 test: remove bare CTransaction `.rehash()`/`.calc_sha256()` calls
a2724e3ea3 test: remove txid caching in CTransaction class
fa0b766f43 test: Remove intermittent and presumed fixed tsan race suppressions
fa4b659dcd test: Explain how to reproduce zmq:: upstream race
d4e212e8a6 rest: fetch spent transaction outputs by blockhash
331a25cb16 test: indexes, avoid creating threads when sync runs synchronously
95969bc58a test: added fuzz coverage to consensus/merkle.cpp
f6b782f3aa doc: Improve m_best_header documentation
ee673b9aa0 validation: remove m_failed_blocks
ed764ea2b4 validation: Add more checks to CheckBlockIndex()
9a70883002 validation: in invalidateblock, calculate m_best_header right away
8e39f2d20d validation: in invalidateblock, mark children as invalid right away
4c29326183 validation: cache all headers with enough PoW in invalidateblock
15fa5b5a90 validation: call InvalidBlockFound also from AcceptBlock
8713e8060d depends: fix SHA256SUM command on OpenBSD (use GNU mode output)
2d938720bd depends: add patch to fix capnp build on OpenBSD
0a4ee93529 wallet: use PSBTError::EXTERNAL_SIGNER_NOT_FOUND
8ba2f9b7c8 refactor: use util::Result for GetExternalSigner()
130a922980 wallet, interfaces: Use BERKELEY_RO in isEncrypted
fa9ca13f35 refactor: Sort includes of touched source files
facb152697 scripted-diff: Bump copyright headers after include changes
fae71d30f7 clang-tidy: Apply modernize-deprecated-headers
0def84d407 test: Verify parent_desc in RPCs
b184f5c87c test: update BIP340 test vectors and implementation (variable-length messages)
b789907346 wallet: migration, avoid creating spendable wallet from a watch-only legacy wallet
e86d71b749 wallet: refactor, dedup wallet re-loading code
1de423e0a0 wallet: introduce method to return all db created files
d04f6a97ba refactor: remove sqlite dir path back-and-forth conversion
2554cee988 test: Enable default wallet for wallet_descriptor.py
3fc9d9f241 wallet, rpc: Push the normalized parent descriptor
47237cd193 wallet, rpc: Output wallet flags in getwalletinfo
bc2a26b296 wallet: Add GetWalletFlags
69f588a99a wallet: Set upgraded descriptor cache flag for newly created wallets
9f8e7b0b3b node: cap -dbcache to 1GiB on 32-bit architectures
2c43b6adeb init: cap -maxmempool to 500 MB on 32-bit systems
aeea5f0ec1 thread-safety: add missing lock annotation
832c57a534 thread-safety: modernize thread safety macros
61ea5f348d fuzz: doc: add info about `afl-system-config` for macOS
REVERT: d9e030d563 kernel: Fix bitcoin-chainstate for windows
REVERT: cc4ac564cc kernel: Add Purpose section to header documentation
REVERT: bfdf605296 kernel: Add pure kernel bitcoin-chainstate
REVERT: 35099f39b7 kernel: Add functions to get the block hash from a block
REVERT: fae94070a7 kernel: Add block index utility functions to C header
REVERT: d5d3778597 kernel: Add function to read block undo data from disk to C header
REVERT: 43f6039b7b kernel: Add functions to read block from disk to C header
REVERT: 54cdfcdc68 kernel: Add function for copying block data to C header
REVERT: 18cab45358 kernel: Add functions for the block validation state to C header
REVERT: 033e86a06c kernel: Add validation interface to C header
REVERT: 9398f9ea4e kernel: Add interrupt function to C header
REVERT: 86340a4905 kernel: Add import blocks function to C header
REVERT: f11dc01bba kernel: Add chainstate load options for in-memory dbs in C header
REVERT: be9fc18dd5 kernel: Add options for reindexing in C header
REVERT: 7947a9b500 kernel: Add block validation to C header
REVERT: d5ace1f8ea kernel: Add chainstate loading when instantiating a ChainstateManager
REVERT: 47ff652cf0 kernel: Add chainstate manager option for setting worker threads
REVERT: 106898e0c2 kernel: Add chainstate manager object to C header
REVERT: 3eadf1ccbe kernel: Add notifications context option to C header
REVERT: 98b1454a98 kernel: Add chain params context option to C header
REVERT: ca8d6ee344 kernel: Add kernel library context object
REVERT: 96f5ebe977 kernel: Add logging to kernel library C header
REVERT: 906a197481 kernel: Introduce initial kernel C header API

git-subtree-dir: depend/bitcoin
git-subtree-split: 1ffc1c9d94b16cdbfb92a26d0f0e75451efad4fe
alexanderwiederin added a commit to alexanderwiederin/rust-bitcoinkernel that referenced this pull request Jul 25, 2025
…ffc1c9d94b1

1ffc1c9d94b1 kernel: Fix bitcoin-chainstate for windows
686c4108cc1d kernel: Add Purpose section to header documentation
8d47a4073120 kernel: Add pure kernel bitcoin-chainstate
ba84650882f1 kernel: Add functions to get the block hash from a block
a4217273422b kernel: Add block index utility functions to C header
aedbe73cf096 kernel: Add function to read block undo data from disk to C header
109dda0845d8 kernel: Add functions to read block from disk to C header
3e24c34ad481 kernel: Add function for copying block data to C header
9ab3d14c1d15 kernel: Add functions for the block validation state to C header
4408228f8556 kernel: Add validation interface to C header
0c3054ef4b6e kernel: Add interrupt function to C header
45895c4ac778 kernel: Add import blocks function to C header
994c869ba238 kernel: Add chainstate load options for in-memory dbs in C header
b4ad47e31268 kernel: Add options for reindexing in C header
591b28d61548 kernel: Add block validation to C header
a1fe6b4264bf kernel: Add chainstate loading when instantiating a ChainstateManager
0cf99f827e48 kernel: Add chainstate manager option for setting worker threads
c18b35135c75 kernel: Add chainstate manager object to C header
1de2db7eacde kernel: Add notifications context option to C header
b1e6a28d17c6 kernel: Add chain params context option to C header
369cfd3f6c4f kernel: Add kernel library context object
f9e13dbb1ade kernel: Add logging to kernel library C header
ce1288828783 kernel: Introduce initial kernel C header API
7566b40bd230 Merge bitcoin/bitcoin#32961: fix spelling in tor.md docs
84ef5524d5ab fix spelling in tor.md docs
6a13a6106e3c Merge bitcoin/bitcoin#32937: Enable `-Werror=dev` in CI & Guix
23e15d40b96a Merge bitcoin/bitcoin#32631: refactor: Convert GenTxid to `std::variant`
8ffbd7b77860 Merge bitcoin/bitcoin#32940: cmake: Use newer signature of `qt6_add_lrelease` when available
80ce5137663d Merge bitcoin/bitcoin#32933: log: Properly log warnings with warn loglevel in addrdb
8f766f39df3e ci: enable -Werror=dev
7b420ca8341a guix: configure with -Werror=dev
44097ddb1913 cmake: enable -Werror=dev in dev-mode preset
12fb00fd4228 Merge bitcoin/bitcoin#32927: fuzz: Add missing calls to `SetMockTime` for determinism
3c1418666bfa Merge bitcoin/bitcoin#32930: Resolve guix non-determinism with emplace_back instead of push_back
bad998b7c040 Merge bitcoin/bitcoin#32921: test: less ambiguous error if bitcoind is missing
7f28e8032987 Merge bitcoin/bitcoin#32758: wallet: remove dead code in legacy wallet migration
5ef0d4897be4 Merge bitcoin/bitcoin#30605: Cluster linearization: separate tests from tests-of-tests
f43571010e38 Resolve guix non-determinism with emplace_back instead of push_back
94931656b52f cmake: Use newer signature of `qt6_add_lrelease` when available
b80ead8a7182 Merge bitcoin/bitcoin#32890: bench: Avoid tmp files in pwd
c4f90900b55f Merge bitcoin/bitcoin#32932: test: Add missing convert_to_json_for_cli
fa894b0f3e13 log: Properly log warnings with warn loglevel in addrdb
83ae7802fe14 Merge bitcoin/bitcoin#32881: test: Turn rpcauth.py test into functional test
fa0528479d5e test: Add missing convert_to_json_for_cli
a40e9536588c Merge bitcoin/bitcoin#30479: validation: Add eligible ancestors of reconsidered block to setBlockIndexCandidates
1ca62edd85b1 Merge bitcoin/bitcoin#32580: wallet, test: best block locator matches scan state follow-ups
2cad7226c2d0 Merge bitcoin/bitcoin#32799: mempool: use `FeeFrac` for ancestor/descendant score comparators
2d59977601ea Merge bitcoin/bitcoin#32604: log: Mitigate disk filling attacks by rate limiting LogPrintf, LogInfo, LogWarning, LogError
4c772cbd83e5 doc: add release notes for new rate limiting logging behavior
d541409a64c6 log: Add rate limiting to LogPrintf, LogInfo, LogWarning, LogError, LogPrintLevel
a6a35cc0c23d log: use std::source_location in place of __func__, __FILE__, __LINE__
afb9e39ec555 log: introduce LogRateLimiter, LogLimitStats, Status
df7972a6cfd9 test: Mark ~DebugLogHelper as noexcept(false)
fa8862723c14 fuzz: CheckGlobals in init
fa26bfde988b test: Avoid resetting mocktime in testing setup
fa6b45fa8ec8 Add SetMockTime for time_point types
a60f863d3e27 scripted-diff: Replace GenTxidVariant with GenTxid
c8ba19959863 Remove old GenTxid class
072a198ea4bc Convert remaining instances of GenTxid to GenTxidVariant
1b528391c794 Convert `txrequest` to GenTxidVariant
bde4579b0780 Convert `txdownloadman_impl` to GenTxidVariant
c876a892ec0b Replace GenTxid with Txid/Wtxid overloads in `txmempool`
de858ce2bea8 move-only: make GetInfo a private CTxMemPool member
eee473d9f301 Convert `CompareInvMempoolOrder` to GenTxidVariant
b7e9dc8e468b Merge bitcoin/bitcoin#32884: rest: replace `rf_names[0].rf` by `RESTResponseFormat::UNDEF`
fa4d68cf97b6 Turn rpcauth.py test into functional test
83bb41455715 test: less ambiguous error if bitcoind is missing
150b5c99ca11 wallet: replace `reload_wallet` with inline functionality
927055e42afb Merge bitcoin/bitcoin#32893: doc: fix `BlockConnected` incorrect comment
a8bff38236ac Merge bitcoin/bitcoin#32862: rpc: use CScheduler for relocking wallet and remove RPCTimer
21b42f3c5569 Merge bitcoin/bitcoin#32660: rpc: Use type-safe exception to pass RPC help
528f79f010d1 Merge bitcoin/bitcoin#32835: test: fix feature_init.py intermittencies
fc543f94a9c3 Merge bitcoin/bitcoin#32385: test: refactor out same-txid-diff-wtxid tx to reuse in other tests
09add84fc5ad Merge bitcoin/bitcoin#32618: wallet: Remove ISMINE_WATCHONLY and watchonly from RPCs
87ab69155d94 Merge bitcoin/bitcoin#31553: cluster mempool: add TxGraph reorg functionality
4e69aa5701a2 doc: fix `BlockConnected` incorrect comment
d33c111448ac Merge bitcoin/bitcoin#32829: threading: use correct mutex name in reverse_lock fatal error messages
de4eef52d123 threading: use correct mutex name in reverse_lock fatal error messages
fa2fbaa4a29f bench: Avoid tmp files in pwd
6d19815cd440 rest: replace `rf_names[0].rf` by `RESTResponseFormat::UNDEF` for code clarity
4207d9bf823b test: feature_init, ensure indexes are synced prior to perturbing files
e3f416dbf763 Merge bitcoin/bitcoin#32463: test: fix an incorrect `feature_fee_estimation.py` subtest
ea4285775e61 Merge bitcoin/bitcoin#29307: util: explicitly close all AutoFiles that have been written
51ccc71b1bf9 Merge bitcoin/bitcoin#32858: doc: Add workaround for vcpkg issue with paths with embedded spaces
fcfd3db563e8 remove RPCTimerInterface and RPCRunLater
8a1765795fd3 use WalletContext scheduler for walletpassphrase callback
927e9b220f17 Merge bitcoin/bitcoin#32716: depends: Override host compilers for FreeBSD and OpenBSD
c7fe8abb5f38 Merge bitcoin/bitcoin#31233: cmake: Improve Python robustness and test usability
625194944333 Merge bitcoin/bitcoin#32290: test: allow all functional tests to be run or skipped with --usecli
0f86da382d3f wallet: remove dead code in legacy wallet migration
49d5f1f2c6d2 Merge bitcoin/bitcoin#32850: test: check P2SH sigop count for coinbase tx
abd07cf7332e test: feature_init, only init what's needed per perturbation/deletion round
192743235493 Merge bitcoin/bitcoin#32859: functional test: correctly detect nonstd TRUC tx vsize in feature_taproot
68ca13e1f96a Merge bitcoin/bitcoin#32823: test: Fix wait_for_getheaders() call in test_outbound_eviction_blocks_relay_only()
35cae56a9292 Merge bitcoin/bitcoin#31423: wallet: migration, avoid creating spendable wallet from a watch-only legacy wallet
1632fc104be8 txgraph: Track multiple potential would-be clusters in Trim (improvement)
4608df37e02a txgraph: add Trim benchmark (benchmark)
9c436ff01cff txgraph: add fuzz test scenario that avoids cycles inside Trim() (tests)
938e86f8fecd txgraph: add unit test for TxGraph::Trim (tests)
a04e205ab03e txgraph: Add ability to trim oversized clusters (feature)
eabcd0eb6fca txgraph: remove unnecessary m_group_oversized (simplification)
19b14e61eae7 txgraph: Permit transactions that exceed cluster size limit (feature)
c4287b9b71c6 txgraph: Add ability to configure maximum cluster size/weight (feature)
f0524cda3995 functional test: correctly detect nonstd TRUC tx vsize in feature_taproot
0a1af4418ed2 doc: Add workaround for vcpkg issue with paths with embedded spaces
a92e8b10a5fb Merge bitcoin/bitcoin#32564: miniscript, refactor: Make `operator""_mst` `consteval` (re-take)
bf75c9964fb2 Merge bitcoin/bitcoin#32828: build, docs: Fix Boost-related issues on NetBSD
7fa9b58bd907 Merge bitcoin/bitcoin#32841: feature_taproot: sample tx version border values more
1b5c545e82fe wallet, test: best block locator matches scan state follow-ups
fa3359289883 Merge bitcoin/bitcoin#32723: Refactor: Redefine CTransaction equality to include witness data
ce000c8ee02a Merge bitcoin/bitcoin#32219: test: enabling wallet migration functional test on windows
f33154c464b3 Merge bitcoin/bitcoin#32432: wallet, rpc: Use `OUTPUT_TYPES` to describe the output types instead of hardcoding them
fa9b1e354444 Merge bitcoin/bitcoin#32846: doc: clarify that the "-j N" goes after the "--build build" part
b1a8ac07e91d doc: Release note for removed watchonly parameters and results
15710869e19e wallet: Remove ISMINE_WATCH_ONLY
4439bf4b41a6 wallet, spend: Remove fWatchOnly from CCoinControl
1337c72198a7 wallet, rpc: Remove watchonly from RPCs
e81d95d43574 wallet: Remove watchonly balances
d20dc9c6aae0 wallet: Wallets without private keys cannot grind R
9991f49c38c0 test: Watchonly wallets should estimate larger size
d6aaffcb11ad test: check P2SH sigop count for coinbase tx
b1821d8dd39f Merge bitcoin/bitcoin#27286: wallet: Keep track of the wallet's own transaction outputs in memory
0e9f409db3b7 doc: clarify that the "-j N" goes after the "--build build" part
67dc7523f3e1 cmake, test: Disable tests instead of ignoring them
bb9157db5d39 cmake, refactor: Switch to `Python3::Interpreter` imported target
ed7a841f82f9 Merge bitcoin/bitcoin#32816: contrib: correct variable name in p2p_monitor.py
2ae5154dd860 Merge bitcoin/bitcoin#32842: doc: add `/spenttxouts` to REST-interface.md
243553d59071 refactor: replace get_iter_from_wtxid with GetIter(const Wtxid&)
fcf92fd640ea refactor: make CTxMemPool::GetIter strongly typed
23a00fcf571f Merge bitcoin/bitcoin#32783: doc: Add fetching single PRs from upstream to productivity.md
dd99cedc0bfe doc: add `/spenttxouts` to REST-interface.md
4be81e9746e9 feature_taproot: sample tx version border values more
6e5b67a370bb Merge bitcoin/bitcoin#32697: test: Turn util/test_runner into functional test
fb2c16cf7bfb Merge bitcoin/bitcoin#32826: p2p: add more bad ports
f5f3e1f26328 Merge bitcoin/bitcoin#32646: p2p: Add witness mutation check inside FillBlock
a763497b1d66 Merge bitcoin/bitcoin#32834: test: Use msg_generic in p2p_ping.py
fa3f100010f1 test: Use msg_generic in p2p_ping.py
33480573cbd8 Merge bitcoin/bitcoin#32833: test: Add `msgtype` to `msg_generic` slots
9501738e1cbd Merge bitcoin/bitcoin#32825: rest: rename `strURIPart` to `uri_part`
5a5ddbd78922 build: Add workaround for NetBSD bug in `Boost::headers` target
6967e8e8abbc add more bad p2p ports
7dc43ea503a2 test: Add msgtype to msg_generic slots
4eb3cee919ed doc: Update NetBSD Build Guide
856f4235b1ae scripted-diff: rest: rename `strURIPart` -> `uri_part`
b3bb4031ab32 Merge bitcoin/bitcoin#32540: rest: fetch spent transaction outputs by blockhash
3086c21df4a2 Merge bitcoin/bitcoin#32243: test: added fuzz coverage for consensus/merkle.cpp
319ff58bbd58 Merge bitcoin/bitcoin#32638: blocks: force hash validations on disk read
ec004cdb86e6 test: Use rehash() in outbound eviction block-relay
26598ed21ea7 test: Clarify roles in outbound eviction comments
689318ccd9c2 Merge bitcoin/bitcoin#32667: build: Find Boost in config mode
4a3475a43e80 Merge bitcoin/bitcoin#32819: Add release note for #32530
558f0880a8f3 Add release note for #32530
c43cc48aaaaa Merge bitcoin/bitcoin#32530: node: cap `-maxmempool` and `-dbcache` values for 32-bit
4145a9463a58 Merge bitcoin/bitcoin#32731: depends: Build `qt` package for FreeBSD hosts
14653b869b91 build: Find Boost in config mode
67ea4b9994e6 Merge bitcoin/bitcoin#32814: cmake: Explicitly specify `Boost_ROOT` for Homebrew's package
5170ec1ae35d Merge bitcoin/bitcoin#32665: depends: Bump boost to 1.88.0 and use new CMake buildsystem
8fafb81320dd Merge bitcoin/bitcoin#32805: cmake: Use `HINTS` instead of `PATHS` in `find_*` commands
6bb38bf37fd8 Update p2p_monitor.py
9b75cfda4d62 test: retain the intended behavior of `feature_fee_estimation.py` nodes
5c1236f04a24 test: fix incorrect subtest in `feature_fee_estimation.py`
e5f9218b6afb Merge bitcoin/bitcoin#32742: test: fix catchup loop in outbound eviction functional test
11d28f21bb8f Implement GenTxid as a variant
215e5999e207 wallet: Remove unused CachedTxGet{Available,Immature}Credit
49675de035e7 wallet: Have GetDebit use the wallet's TXO set
17d453cb3a6f wallet: Recompute wallet TXOs after descriptor migration
764016eb2259 wallet: Retrieve TXO directly in FetchSelectedInputs
c1801b78f1c1 wallet: Use wallet's TXO set in AvailableCoins
dde7cbe105ba wallet: Change balance calculation to use m_txos
96e7a89c5e0b wallet: Recalculate the wallet's txos after any imports
ae888c38d080 wallet: Exit IsTrustedTx early if wtx is already in trusted_parents
ae0876ec4273 wallet: Keep track of transaction outputs owned by the wallet
0f269bc48c39 walletdb: Load Txs last
5cc32ee2a7ad test: Test for balance update due to untracked output becoming spendable
8222341d4f9c wallet: MarkDirty after AddWalletDescriptor
e02f2d331ce6 bench: Have AvailableCoins benchmark include a lot of unrelated utxos
f27898c8bfe3 Merge bitcoin/bitcoin#32721: wallet, rpc: Remove deprecated balances from getwalletinfo and getunconfirmedbalance
8578fabb95fa Merge bitcoin/bitcoin#32597: wallet: Always set descriptor cache upgraded flag for new wallets
941b8f54c0d3 ci: run get_previous_releases as part of test cross win job
5e2182140bcd test: increment mocked time for migrating wallet backups
5174565802f4 ci: disable feature_unsupported_utxo_db functional test
3dc90d69a64f test: remove mempool.dat before copying
67a6b20d5030 test: add windows support to get previous releases script
01f908195589 Merge bitcoin/bitcoin#32768: wallet: Remove `CWalletTx::fTimeReceivedIsTxTime`
c1d8a542b46c Merge bitcoin/bitcoin#32727: doc: add release notes for #32425
1a1b478ca31b scripted-diff: rename tarball to archive
4f06dc848460 test: remove building from source from get prev releases script
45b1d3975766 doc: Add fetching single PRs from upstream
8800b5acc1ef cmake: Explicitly specify `Boost_ROOT` for Homebrew's package
b9a2e8ee965d doc: add release notes for bitcoin/bitcoin#32425
6c2538d5bfea depends: Bump boost to 1.88.0 and use new CMake buildsystem
7d5a6d17398a Merge bitcoin/bitcoin#32798: build: add root dir to CMAKE_PREFIX_PATH in toolchain
a34fb9ad6c6c miniscript: Make `operator""_mst` `consteval`
14052162b19a Revert "miniscript: make operator_mst consteval"
ead44687483e cmake: Use `HINTS` instead of `PATHS` in `find_*` commands
ad654a4807cd Merge bitcoin/bitcoin#32767: ci: Allow running CI in worktrees
67e6746dc87a Merge bitcoin/bitcoin#32780: lsan: add more Qt suppressions
e27a94596f2a build: add root dir to CMAKE_PREFIX_PATH
173394d9511e depends: Build `qt` package for FreeBSD hosts
922adf66ac74 mempool: use `FeeFrac` for calculating regular score
3322b3a05954 mempool: use `FeeFrac` for calculating ancestor score
ac9c113bd2a2 mempool: use `FeeFrac` for calculating descendant score
e95bfc1d537e Merge bitcoin/bitcoin#32797: doc: archive 28.2 release notes
666016e56b28 ci: use --usecli in one of the CI jobs
7ea248a02099 test: Disable several (sub)tests with cli
f420b6356b6f test: skip subtests that check for wrong types with cli
6530d0015b95 test: add function to convert to json for height_or_hash params
54d28722baea test: Don't send empty named args with cli
cca422060e96 test: convert tuple to json for cli
af34e980866e test: make rpc_psbt.py usable with --usecli
8f8ce9e1740d test: rename .rpc to ._rpc and remove unnecessary uses
5b0888598632 test: enable functional tests with large rpc args for cli
7d5352ac7373 test: use -stdin for large rpc commands
6c364e0c10de test: Enable various tests for usage with cli
907842363c64 doc: archive 28.2 release notes
c5849663baa9 Merge bitcoin/bitcoin#32771: contrib: tracing: Fix read of `pmsg_type` in p2p_monitor.py
8a36a471e652 Merge bitcoin/bitcoin#32781: refactor: modernize deprecated ipc headers
ed060e01e756 Merge bitcoin/bitcoin#32725: test: round difficulty and networkhashps
daf393b3f15d Merge bitcoin/bitcoin#32642: test: update BIP340 test vectors and implementation (variable-length messages)
482d2553764e Merge bitcoin/bitcoin#32736: wallet: Correct dir iteration error handling
74b7e9c7dbf7 refactor: modernize deprecated ipc headers
154b98a7aaae Merge bitcoin/bitcoin#32772: fuzz: wallet: remove `FundTx` from `FuzzedWallet`
fa183045a1ea Merge bitcoin/bitcoin#32765: test: Fix list index out of range error in feature_bip68_sequence.py
5be31b20e54e lsan: add more Qt suppressions
e18322eff274 Merge bitcoin/bitcoin#32774: doc: Explain how to fetch commits directly
b86141925416 Merge bitcoin/bitcoin#32777: doc: fix Transifex 404s
79afe6b7c092 Merge bitcoin/bitcoin#32776: doc: taproot became always active in v24.0 (doc/bips.md)
53a996f12266 doc: fix transifex 404s
8ee8a951c205 doc: taproot became always active in v24.0
fa2163159511 test: Use self.log
fa346f7797ae test: Move error string into exception
fa1986181f24 test: Remove useless catch-throw
fa94fd53c996 doc: Explain how to fetch commits directly
9a7eece5a4a1 Merge bitcoin/bitcoin#31981: Add checkBlock() to Mining interface
8cc9845b8ddf wallet, rpc: Use `OUTPUT_TYPES` to describe the output types instead of hardcoding them
3473986fe10e contrib: tracing: Correctly read msg type in p2p_monitor.py
cd1ae1b4dfdb fuzz: wallet: remove FundTx from FuzzedWallet
fa68dcb207c3 ci: Add missing errexit to lint CI install
fa535a6de7a0 ci: Allow running CI in worktrees
faf6a0459749 ci: Clean UID/GID mismatch
9eb2c82e7c91 walletdb: Remove unused upgraded_txs
c66803370988 wallet: Remove unused fTimeReceivedIsTxTime
5e6dbfd14ea9 Merge bitcoin/bitcoin#32465: thread-safety: fix annotations with REVERSE_LOCK
e285e691b7a3 test: Fix list index out of range error in feature_bip68_sequence.py
1be688f57515 Merge bitcoin/bitcoin#32682: wallet: have external signer use PSBT error code EXTERNAL_SIGNER_NOT_FOUND
a201a99f8cf5 thread-safety: fix annotations with REVERSE_LOCK
26747d9f3e3f Merge bitcoin/bitcoin#32760: depends: capnp 1.2.0
c10e382d2a3b flatfile: check whether the file has been closed successfully
4bb5dd78ea4b util: check that a file has been closed before ~AutoFile() is called
8bb34f07df9a Explicitly close all AutoFiles that have been written
a69c4098b273 rpc: take ownership of the file by WriteUTXOSnapshot()
c7eaac326ac2 depends: capnp 1.2.0
afaaba69eddd test: refactor out same-txid-diff-wtxid tx to reuse in other tests
084eee029199 Merge bitcoin/bitcoin#32743: refactor: use `std::vector<std::byte>` for `BlockManager::ReadRawBlock()`
c48846ec4169 doc: add release notes for #32540
d7fca5c171f4 clusterlin: add big comment explaning the relation between tests
b64e61d2de65 clusterlin: abstract try-permutations into ExhaustiveLinearize function
1fa55a64ed18 clusterlin tests: verify that chunks are minimal
da23ecef29b7 clusterlin tests: support non-empty ReadTopologicalSubset()
94f3e17c33e6 clusterlin tests: compare with fuzz-provided linearizations
5f92ebee0d24 clusterlin tests: compare with fuzz-provided topological sets
6e37824ac390 clusterlin tests: optimize clusterlin_simple_linearize
98c1c88b6f8d clusterlin tests: separate testing of SimpleLinearize and Linearize
10e90f7aef9c clusterlin tests: make SimpleCandidateFinder always find connected
a38c38951e10 clusterlin tests: separate testing of Search- and SimpleCandidateFinder
77a432ee704b clusterlin tests: count SimpleCandidateFinder iterations better
a18e57232867 test: more template verification tests
10c908808fb8 test: move gbt proposal mode tests to new file
94959b8deedc Add checkBlock to Mining interface
6077157531c1 ipc: drop BlockValidationState special handling
74690f4ed82b validation: refactor TestBlockValidity
2def85847318 Merge bitcoin/bitcoin#32481: wallet, refactor: Remove Legacy wallet unused warnings and errors
287cd04a32df Merge bitcoin/bitcoin#32594: wallet, rpc: Return normalized descriptor in parent_descs
fd74d609bed9 Merge bitcoin/bitcoin#32620: wallet: Fix wallet interface detection of encrypted wallets
6ecb9fc65f9a chore: use `std::vector<std::byte>` for `BlockManager::ReadRawBlock()`
65b26507b84a Merge bitcoin/bitcoin#32746: test: remove unnecessary m_best_header setting hack in feature_assumeutxo.py
3e8168442692 Merge bitcoin/bitcoin#32739: tsan: remove note about dropping Qt wildcards
b8eb17792e0c Merge bitcoin/bitcoin#32175: fuzz: doc: add info about `afl-system-config` for macOS
206bc05e62c6 test: remove unnecessary m_best_header setting hack in feature_assumeutxo.py
272cd09b796a log: Use warning level while scanning wallet dir
17776443675d qa, wallet: Verify warning when failing to scan
893e51ffeb05 wallet: Correct dir iteration error handling
52e6e93c3f60 Merge bitcoin/bitcoin#32693: depends: fix cmake compatibility error for freetype
fa2f1c55b7da move-only util data to test/functional/data/util
faa18bf287fc test: Turn util/test_runner into functional test
fa955154c773 test: Add missing skip_if_no_bitcoin_tx
9341b5333ad5 blockstorage: make block read hash checks explicit
2371b9f4ee0b test/bench: verify hash in `ComputeFilter` reads
5d235d50d6dd net: assert block hash in `ProcessGetBlockData` and `ProcessMessage`
5db0a4a2db20 tsan: remove note about dropping Qt wildcards
d91c718a686a Merge bitcoin/bitcoin#32717: doc: Update Qt 6 packages on FreeBSD
fac9db6eb0c6 test: Add missing tx util to Binaries
fa91835ec6ad test: Use lowercase env var as attribute name
fac49094cdb1 test: Remove duplicate ConfigParser
9dfc61d95f00 test: detect no external signer connected
dd8447f70faf test: fix catchup loop in outbound eviction functional test
19765dca197a Merge bitcoin/bitcoin#32694: index: move disk read lookups to base class
8cc3ac6c2328 validation: Don't use IsValid() to filter for invalid blocks
86d98b94e546 test: verify that ancestors of a reconsidered block can become the chain tip
3c39a55e64be validation: Add ancestors of reconsiderblock to setBlockIndexCandidates
1df96f59316c doc: Update Qt 6 packages on FreeBSD
d7c37906e7b1 build: patch cmake min version on freetype
fa946520d229 refactor: Use structured binding for-loop
eeeec1579ec5 rpc: Use type-safe exception to pass RPC help
5757de4ddd37 Merge bitcoin/bitcoin#32673: clang-tidy: Apply modernize-deprecated-headers
1473f69924bc Merge bitcoin/bitcoin#32421: test: refactor: overhaul (w)txid determination for `CTransaction` objects
7c0cfce20df9 Merge bitcoin/bitcoin#31405: validation: stricter internal handling of invalid blocks
851f540d0e03 Merge bitcoin/bitcoin#32703: test: Explain how to reproduce zmq:: upstream race
5af5e9791dc9 Merge bitcoin/bitcoin#32690: depends: fix multiprocess build on OpenBSD (apply capnp patch, correct SHA256SUM command)
fed41b75fbfa Merge bitcoin/bitcoin#32431: deps: Bump lief to 0.16.6
578ea3eedb28 test: round difficulty and networkhashps
c8abd972818f Merge bitcoin/bitcoin#32719: doc, windows: CompanyName "Bitcoin" => "Bitcoin Core project"
029ba1a21d57 index: remove CBlockIndex access from CustomAppend()
91b7ab6c6926 refactor: index, simplify CopyHeightIndexToHashIndex to process single block
4f56c9145a60 refactor: contrib: Move FORTIFY check to BASE_ELF
f6d25e8a2dd3 contrib: Re-enable FORTIFY check for RISCV
765922d8022d deps: bump lief to 0.16.6
4ef625301767 test: avoid unneeded (w)txid hex -> integer conversions
472f3770aec8 scripted-diff: test: rename CTransaction `.getwtxid()` -> `wtxid_hex` for consistency
81af4334e8f9 test: rename CTransaction `.sha256` -> `.txid_int` for consistency
ce8392423712 test: rename CTransaction `.rehash()`/`.hash` -> `.txid_hex` for consistency
6efbd1e1dcdf refactor: CTransaction equality should consider witness data
cbf9b2dab1d8 mempool: codify existing assumption about duplicate txids during removal
c3fe85e2d6dd wallet, rpc, test: Remove deprecated getunconfirmedbalance
0ec255139be3 wallet, rpc: Remove deprecated balances from getwalletinfo
e9331cd6ab2c wallet: IsEquivalentTo should strip witness data in addition to scriptsigs
ce90f0c99fde rpc, wallet, refactor: Remove non-descriptor errors
573bcd75d7b6 wallet, refactor: Remove unused SetupGeneration
5431f2dc2159 wallet, refactor: Remove Legacy warnings and errors
6f1392cc42cd indexes, refactor: Remove remaining CBlockIndex* uses in index Rewind methods
0a248708dc9d indexes, refactor: Stop requiring CBlockIndex type to call IsBIP30Unspendable
28299ce77636 p2p: remove vestigial READ_STATUS_CHECKBLOCK_FAILED
bac9ee483066 p2p: Add witness mutation check inside FillBlock
4f10a57671c1 depends: Override host compilers for FreeBSD and OpenBSD
239fc4d62e73 doc, windows: CompanyName "Bitcoin" => "Bitcoin Core project"
e9cdaefb0a80 test: introduce and use CTransaction `.wtxid_int` property
9b3dce24a333 test: remove bare CTransaction `.rehash()`/`.calc_sha256()` calls
a2724e3ea392 test: remove txid caching in CTransaction class
fa0b766f43df test: Remove intermittent and presumed fixed tsan race suppressions
fa4b659dcd03 test: Explain how to reproduce zmq:: upstream race
d4e212e8a69e rest: fetch spent transaction outputs by blockhash
331a25cb1663 test: indexes, avoid creating threads when sync runs synchronously
95969bc58ae0 test: added fuzz coverage to consensus/merkle.cpp
f6b782f3aad4 doc: Improve m_best_header documentation
ee673b9aa015 validation: remove m_failed_blocks
ed764ea2b4ed validation: Add more checks to CheckBlockIndex()
9a70883002e1 validation: in invalidateblock, calculate m_best_header right away
8e39f2d20d09 validation: in invalidateblock, mark children as invalid right away
4c29326183ba validation: cache all headers with enough PoW in invalidateblock
15fa5b5a908d validation: call InvalidBlockFound also from AcceptBlock
8713e8060d50 depends: fix SHA256SUM command on OpenBSD (use GNU mode output)
2d938720bd67 depends: add patch to fix capnp build on OpenBSD
0a4ee93529d6 wallet: use PSBTError::EXTERNAL_SIGNER_NOT_FOUND
8ba2f9b7c8a6 refactor: use util::Result for GetExternalSigner()
130a92298077 wallet, interfaces: Use BERKELEY_RO in isEncrypted
fa9ca13f35be refactor: Sort includes of touched source files
facb152697b8 scripted-diff: Bump copyright headers after include changes
fae71d30f722 clang-tidy: Apply modernize-deprecated-headers
0def84d407fa test: Verify parent_desc in RPCs
b184f5c87c41 test: update BIP340 test vectors and implementation (variable-length messages)
b78990734621 wallet: migration, avoid creating spendable wallet from a watch-only legacy wallet
e86d71b749c0 wallet: refactor, dedup wallet re-loading code
1de423e0a08b wallet: introduce method to return all db created files
d04f6a97ba9a refactor: remove sqlite dir path back-and-forth conversion
2554cee988fb test: Enable default wallet for wallet_descriptor.py
3fc9d9f241a4 wallet, rpc: Push the normalized parent descriptor
47237cd19380 wallet, rpc: Output wallet flags in getwalletinfo
bc2a26b29623 wallet: Add GetWalletFlags
69f588a99a7a wallet: Set upgraded descriptor cache flag for newly created wallets
9f8e7b0b3b78 node: cap -dbcache to 1GiB on 32-bit architectures
2c43b6adebbf init: cap -maxmempool to 500 MB on 32-bit systems
aeea5f0ec112 thread-safety: add missing lock annotation
832c57a53410 thread-safety: modernize thread safety macros
61ea5f348da7 fuzz: doc: add info about `afl-system-config` for macOS
REVERT: 690a5dac223e kernel: Fix bitcoin-chainstate for windows
REVERT: 345d2ac84162 kernel: Add Purpose section to header documentation
REVERT: 790b2baa7ce2 kernel: Add pure kernel bitcoin-chainstate
REVERT: 78e4ca20aae6 kernel: Add functions to get the block hash from a block
REVERT: 4c0de2443d8a kernel: Add block index utility functions to C header
REVERT: d031c5871e47 kernel: Add function to read block undo data from disk to C header
REVERT: e10616b59b13 kernel: Add functions to read block from disk to C header
REVERT: 71e76017b8c4 kernel: Add function for copying block data to C header
REVERT: a015529dd449 kernel: Add functions for the block validation state to C header
REVERT: e5870b8253f8 kernel: Add validation interface to C header
REVERT: 24d56ecfbae4 kernel: Add interrupt function to C header
REVERT: 98710edc97ae kernel: Add import blocks function to C header
REVERT: 2b9382a5ebc2 kernel: Add chainstate load options for in-memory dbs in C header
REVERT: 15dff3f0b5d5 kernel: Add options for reindexing in C header
REVERT: f2faf1790484 kernel: Add block validation to C header
REVERT: 4cd4577fc82b kernel: Add chainstate loading when instantiating a ChainstateManager
REVERT: 7a40d4ddb23a kernel: Add chainstate manager option for setting worker threads
REVERT: 7bac421d186a kernel: Add chainstate manager object to C header
REVERT: fc83bef50833 kernel: Add notifications context option to C header
REVERT: 76a0c97e0df6 kernel: Add chain params context option to C header
REVERT: a3cc9ec2dc7d kernel: Add kernel library context object
REVERT: d7230ea9b9ee kernel: Add logging to kernel library C header
REVERT: 84680fe7ca33 kernel: Introduce initial kernel C header API

git-subtree-dir: libbitcoinkernel-sys/bitcoin
git-subtree-split: 1ffc1c9d94b16cdbfb92a26d0f0e75451efad4fe
alexanderwiederin added a commit to alexanderwiederin/rust-bitcoinkernel that referenced this pull request Jul 28, 2025
…2a253b372a6

62a253b372a6 add kernel process new block headers
1ffc1c9d94b1 kernel: Fix bitcoin-chainstate for windows
686c4108cc1d kernel: Add Purpose section to header documentation
8d47a4073120 kernel: Add pure kernel bitcoin-chainstate
ba84650882f1 kernel: Add functions to get the block hash from a block
a4217273422b kernel: Add block index utility functions to C header
aedbe73cf096 kernel: Add function to read block undo data from disk to C header
109dda0845d8 kernel: Add functions to read block from disk to C header
3e24c34ad481 kernel: Add function for copying block data to C header
9ab3d14c1d15 kernel: Add functions for the block validation state to C header
4408228f8556 kernel: Add validation interface to C header
0c3054ef4b6e kernel: Add interrupt function to C header
45895c4ac778 kernel: Add import blocks function to C header
994c869ba238 kernel: Add chainstate load options for in-memory dbs in C header
b4ad47e31268 kernel: Add options for reindexing in C header
591b28d61548 kernel: Add block validation to C header
a1fe6b4264bf kernel: Add chainstate loading when instantiating a ChainstateManager
0cf99f827e48 kernel: Add chainstate manager option for setting worker threads
c18b35135c75 kernel: Add chainstate manager object to C header
1de2db7eacde kernel: Add notifications context option to C header
b1e6a28d17c6 kernel: Add chain params context option to C header
369cfd3f6c4f kernel: Add kernel library context object
f9e13dbb1ade kernel: Add logging to kernel library C header
ce1288828783 kernel: Introduce initial kernel C header API
7566b40bd230 Merge bitcoin/bitcoin#32961: fix spelling in tor.md docs
84ef5524d5ab fix spelling in tor.md docs
6a13a6106e3c Merge bitcoin/bitcoin#32937: Enable `-Werror=dev` in CI & Guix
23e15d40b96a Merge bitcoin/bitcoin#32631: refactor: Convert GenTxid to `std::variant`
8ffbd7b77860 Merge bitcoin/bitcoin#32940: cmake: Use newer signature of `qt6_add_lrelease` when available
80ce5137663d Merge bitcoin/bitcoin#32933: log: Properly log warnings with warn loglevel in addrdb
8f766f39df3e ci: enable -Werror=dev
7b420ca8341a guix: configure with -Werror=dev
44097ddb1913 cmake: enable -Werror=dev in dev-mode preset
12fb00fd4228 Merge bitcoin/bitcoin#32927: fuzz: Add missing calls to `SetMockTime` for determinism
3c1418666bfa Merge bitcoin/bitcoin#32930: Resolve guix non-determinism with emplace_back instead of push_back
bad998b7c040 Merge bitcoin/bitcoin#32921: test: less ambiguous error if bitcoind is missing
7f28e8032987 Merge bitcoin/bitcoin#32758: wallet: remove dead code in legacy wallet migration
5ef0d4897be4 Merge bitcoin/bitcoin#30605: Cluster linearization: separate tests from tests-of-tests
f43571010e38 Resolve guix non-determinism with emplace_back instead of push_back
94931656b52f cmake: Use newer signature of `qt6_add_lrelease` when available
b80ead8a7182 Merge bitcoin/bitcoin#32890: bench: Avoid tmp files in pwd
c4f90900b55f Merge bitcoin/bitcoin#32932: test: Add missing convert_to_json_for_cli
fa894b0f3e13 log: Properly log warnings with warn loglevel in addrdb
83ae7802fe14 Merge bitcoin/bitcoin#32881: test: Turn rpcauth.py test into functional test
fa0528479d5e test: Add missing convert_to_json_for_cli
a40e9536588c Merge bitcoin/bitcoin#30479: validation: Add eligible ancestors of reconsidered block to setBlockIndexCandidates
1ca62edd85b1 Merge bitcoin/bitcoin#32580: wallet, test: best block locator matches scan state follow-ups
2cad7226c2d0 Merge bitcoin/bitcoin#32799: mempool: use `FeeFrac` for ancestor/descendant score comparators
2d59977601ea Merge bitcoin/bitcoin#32604: log: Mitigate disk filling attacks by rate limiting LogPrintf, LogInfo, LogWarning, LogError
4c772cbd83e5 doc: add release notes for new rate limiting logging behavior
d541409a64c6 log: Add rate limiting to LogPrintf, LogInfo, LogWarning, LogError, LogPrintLevel
a6a35cc0c23d log: use std::source_location in place of __func__, __FILE__, __LINE__
afb9e39ec555 log: introduce LogRateLimiter, LogLimitStats, Status
df7972a6cfd9 test: Mark ~DebugLogHelper as noexcept(false)
fa8862723c14 fuzz: CheckGlobals in init
fa26bfde988b test: Avoid resetting mocktime in testing setup
fa6b45fa8ec8 Add SetMockTime for time_point types
a60f863d3e27 scripted-diff: Replace GenTxidVariant with GenTxid
c8ba19959863 Remove old GenTxid class
072a198ea4bc Convert remaining instances of GenTxid to GenTxidVariant
1b528391c794 Convert `txrequest` to GenTxidVariant
bde4579b0780 Convert `txdownloadman_impl` to GenTxidVariant
c876a892ec0b Replace GenTxid with Txid/Wtxid overloads in `txmempool`
de858ce2bea8 move-only: make GetInfo a private CTxMemPool member
eee473d9f301 Convert `CompareInvMempoolOrder` to GenTxidVariant
b7e9dc8e468b Merge bitcoin/bitcoin#32884: rest: replace `rf_names[0].rf` by `RESTResponseFormat::UNDEF`
fa4d68cf97b6 Turn rpcauth.py test into functional test
83bb41455715 test: less ambiguous error if bitcoind is missing
150b5c99ca11 wallet: replace `reload_wallet` with inline functionality
927055e42afb Merge bitcoin/bitcoin#32893: doc: fix `BlockConnected` incorrect comment
a8bff38236ac Merge bitcoin/bitcoin#32862: rpc: use CScheduler for relocking wallet and remove RPCTimer
21b42f3c5569 Merge bitcoin/bitcoin#32660: rpc: Use type-safe exception to pass RPC help
528f79f010d1 Merge bitcoin/bitcoin#32835: test: fix feature_init.py intermittencies
fc543f94a9c3 Merge bitcoin/bitcoin#32385: test: refactor out same-txid-diff-wtxid tx to reuse in other tests
09add84fc5ad Merge bitcoin/bitcoin#32618: wallet: Remove ISMINE_WATCHONLY and watchonly from RPCs
87ab69155d94 Merge bitcoin/bitcoin#31553: cluster mempool: add TxGraph reorg functionality
4e69aa5701a2 doc: fix `BlockConnected` incorrect comment
d33c111448ac Merge bitcoin/bitcoin#32829: threading: use correct mutex name in reverse_lock fatal error messages
de4eef52d123 threading: use correct mutex name in reverse_lock fatal error messages
fa2fbaa4a29f bench: Avoid tmp files in pwd
6d19815cd440 rest: replace `rf_names[0].rf` by `RESTResponseFormat::UNDEF` for code clarity
4207d9bf823b test: feature_init, ensure indexes are synced prior to perturbing files
e3f416dbf763 Merge bitcoin/bitcoin#32463: test: fix an incorrect `feature_fee_estimation.py` subtest
ea4285775e61 Merge bitcoin/bitcoin#29307: util: explicitly close all AutoFiles that have been written
51ccc71b1bf9 Merge bitcoin/bitcoin#32858: doc: Add workaround for vcpkg issue with paths with embedded spaces
fcfd3db563e8 remove RPCTimerInterface and RPCRunLater
8a1765795fd3 use WalletContext scheduler for walletpassphrase callback
927e9b220f17 Merge bitcoin/bitcoin#32716: depends: Override host compilers for FreeBSD and OpenBSD
c7fe8abb5f38 Merge bitcoin/bitcoin#31233: cmake: Improve Python robustness and test usability
625194944333 Merge bitcoin/bitcoin#32290: test: allow all functional tests to be run or skipped with --usecli
0f86da382d3f wallet: remove dead code in legacy wallet migration
49d5f1f2c6d2 Merge bitcoin/bitcoin#32850: test: check P2SH sigop count for coinbase tx
abd07cf7332e test: feature_init, only init what's needed per perturbation/deletion round
192743235493 Merge bitcoin/bitcoin#32859: functional test: correctly detect nonstd TRUC tx vsize in feature_taproot
68ca13e1f96a Merge bitcoin/bitcoin#32823: test: Fix wait_for_getheaders() call in test_outbound_eviction_blocks_relay_only()
35cae56a9292 Merge bitcoin/bitcoin#31423: wallet: migration, avoid creating spendable wallet from a watch-only legacy wallet
1632fc104be8 txgraph: Track multiple potential would-be clusters in Trim (improvement)
4608df37e02a txgraph: add Trim benchmark (benchmark)
9c436ff01cff txgraph: add fuzz test scenario that avoids cycles inside Trim() (tests)
938e86f8fecd txgraph: add unit test for TxGraph::Trim (tests)
a04e205ab03e txgraph: Add ability to trim oversized clusters (feature)
eabcd0eb6fca txgraph: remove unnecessary m_group_oversized (simplification)
19b14e61eae7 txgraph: Permit transactions that exceed cluster size limit (feature)
c4287b9b71c6 txgraph: Add ability to configure maximum cluster size/weight (feature)
f0524cda3995 functional test: correctly detect nonstd TRUC tx vsize in feature_taproot
0a1af4418ed2 doc: Add workaround for vcpkg issue with paths with embedded spaces
a92e8b10a5fb Merge bitcoin/bitcoin#32564: miniscript, refactor: Make `operator""_mst` `consteval` (re-take)
bf75c9964fb2 Merge bitcoin/bitcoin#32828: build, docs: Fix Boost-related issues on NetBSD
7fa9b58bd907 Merge bitcoin/bitcoin#32841: feature_taproot: sample tx version border values more
1b5c545e82fe wallet, test: best block locator matches scan state follow-ups
fa3359289883 Merge bitcoin/bitcoin#32723: Refactor: Redefine CTransaction equality to include witness data
ce000c8ee02a Merge bitcoin/bitcoin#32219: test: enabling wallet migration functional test on windows
f33154c464b3 Merge bitcoin/bitcoin#32432: wallet, rpc: Use `OUTPUT_TYPES` to describe the output types instead of hardcoding them
fa9b1e354444 Merge bitcoin/bitcoin#32846: doc: clarify that the "-j N" goes after the "--build build" part
b1a8ac07e91d doc: Release note for removed watchonly parameters and results
15710869e19e wallet: Remove ISMINE_WATCH_ONLY
4439bf4b41a6 wallet, spend: Remove fWatchOnly from CCoinControl
1337c72198a7 wallet, rpc: Remove watchonly from RPCs
e81d95d43574 wallet: Remove watchonly balances
d20dc9c6aae0 wallet: Wallets without private keys cannot grind R
9991f49c38c0 test: Watchonly wallets should estimate larger size
d6aaffcb11ad test: check P2SH sigop count for coinbase tx
b1821d8dd39f Merge bitcoin/bitcoin#27286: wallet: Keep track of the wallet's own transaction outputs in memory
0e9f409db3b7 doc: clarify that the "-j N" goes after the "--build build" part
67dc7523f3e1 cmake, test: Disable tests instead of ignoring them
bb9157db5d39 cmake, refactor: Switch to `Python3::Interpreter` imported target
ed7a841f82f9 Merge bitcoin/bitcoin#32816: contrib: correct variable name in p2p_monitor.py
2ae5154dd860 Merge bitcoin/bitcoin#32842: doc: add `/spenttxouts` to REST-interface.md
243553d59071 refactor: replace get_iter_from_wtxid with GetIter(const Wtxid&)
fcf92fd640ea refactor: make CTxMemPool::GetIter strongly typed
23a00fcf571f Merge bitcoin/bitcoin#32783: doc: Add fetching single PRs from upstream to productivity.md
dd99cedc0bfe doc: add `/spenttxouts` to REST-interface.md
4be81e9746e9 feature_taproot: sample tx version border values more
6e5b67a370bb Merge bitcoin/bitcoin#32697: test: Turn util/test_runner into functional test
fb2c16cf7bfb Merge bitcoin/bitcoin#32826: p2p: add more bad ports
f5f3e1f26328 Merge bitcoin/bitcoin#32646: p2p: Add witness mutation check inside FillBlock
a763497b1d66 Merge bitcoin/bitcoin#32834: test: Use msg_generic in p2p_ping.py
fa3f100010f1 test: Use msg_generic in p2p_ping.py
33480573cbd8 Merge bitcoin/bitcoin#32833: test: Add `msgtype` to `msg_generic` slots
9501738e1cbd Merge bitcoin/bitcoin#32825: rest: rename `strURIPart` to `uri_part`
5a5ddbd78922 build: Add workaround for NetBSD bug in `Boost::headers` target
6967e8e8abbc add more bad p2p ports
7dc43ea503a2 test: Add msgtype to msg_generic slots
4eb3cee919ed doc: Update NetBSD Build Guide
856f4235b1ae scripted-diff: rest: rename `strURIPart` -> `uri_part`
b3bb4031ab32 Merge bitcoin/bitcoin#32540: rest: fetch spent transaction outputs by blockhash
3086c21df4a2 Merge bitcoin/bitcoin#32243: test: added fuzz coverage for consensus/merkle.cpp
319ff58bbd58 Merge bitcoin/bitcoin#32638: blocks: force hash validations on disk read
ec004cdb86e6 test: Use rehash() in outbound eviction block-relay
26598ed21ea7 test: Clarify roles in outbound eviction comments
689318ccd9c2 Merge bitcoin/bitcoin#32667: build: Find Boost in config mode
4a3475a43e80 Merge bitcoin/bitcoin#32819: Add release note for #32530
558f0880a8f3 Add release note for #32530
c43cc48aaaaa Merge bitcoin/bitcoin#32530: node: cap `-maxmempool` and `-dbcache` values for 32-bit
4145a9463a58 Merge bitcoin/bitcoin#32731: depends: Build `qt` package for FreeBSD hosts
14653b869b91 build: Find Boost in config mode
67ea4b9994e6 Merge bitcoin/bitcoin#32814: cmake: Explicitly specify `Boost_ROOT` for Homebrew's package
5170ec1ae35d Merge bitcoin/bitcoin#32665: depends: Bump boost to 1.88.0 and use new CMake buildsystem
8fafb81320dd Merge bitcoin/bitcoin#32805: cmake: Use `HINTS` instead of `PATHS` in `find_*` commands
6bb38bf37fd8 Update p2p_monitor.py
9b75cfda4d62 test: retain the intended behavior of `feature_fee_estimation.py` nodes
5c1236f04a24 test: fix incorrect subtest in `feature_fee_estimation.py`
e5f9218b6afb Merge bitcoin/bitcoin#32742: test: fix catchup loop in outbound eviction functional test
11d28f21bb8f Implement GenTxid as a variant
215e5999e207 wallet: Remove unused CachedTxGet{Available,Immature}Credit
49675de035e7 wallet: Have GetDebit use the wallet's TXO set
17d453cb3a6f wallet: Recompute wallet TXOs after descriptor migration
764016eb2259 wallet: Retrieve TXO directly in FetchSelectedInputs
c1801b78f1c1 wallet: Use wallet's TXO set in AvailableCoins
dde7cbe105ba wallet: Change balance calculation to use m_txos
96e7a89c5e0b wallet: Recalculate the wallet's txos after any imports
ae888c38d080 wallet: Exit IsTrustedTx early if wtx is already in trusted_parents
ae0876ec4273 wallet: Keep track of transaction outputs owned by the wallet
0f269bc48c39 walletdb: Load Txs last
5cc32ee2a7ad test: Test for balance update due to untracked output becoming spendable
8222341d4f9c wallet: MarkDirty after AddWalletDescriptor
e02f2d331ce6 bench: Have AvailableCoins benchmark include a lot of unrelated utxos
f27898c8bfe3 Merge bitcoin/bitcoin#32721: wallet, rpc: Remove deprecated balances from getwalletinfo and getunconfirmedbalance
8578fabb95fa Merge bitcoin/bitcoin#32597: wallet: Always set descriptor cache upgraded flag for new wallets
941b8f54c0d3 ci: run get_previous_releases as part of test cross win job
5e2182140bcd test: increment mocked time for migrating wallet backups
5174565802f4 ci: disable feature_unsupported_utxo_db functional test
3dc90d69a64f test: remove mempool.dat before copying
67a6b20d5030 test: add windows support to get previous releases script
01f908195589 Merge bitcoin/bitcoin#32768: wallet: Remove `CWalletTx::fTimeReceivedIsTxTime`
c1d8a542b46c Merge bitcoin/bitcoin#32727: doc: add release notes for #32425
1a1b478ca31b scripted-diff: rename tarball to archive
4f06dc848460 test: remove building from source from get prev releases script
45b1d3975766 doc: Add fetching single PRs from upstream
8800b5acc1ef cmake: Explicitly specify `Boost_ROOT` for Homebrew's package
b9a2e8ee965d doc: add release notes for bitcoin/bitcoin#32425
6c2538d5bfea depends: Bump boost to 1.88.0 and use new CMake buildsystem
7d5a6d17398a Merge bitcoin/bitcoin#32798: build: add root dir to CMAKE_PREFIX_PATH in toolchain
a34fb9ad6c6c miniscript: Make `operator""_mst` `consteval`
14052162b19a Revert "miniscript: make operator_mst consteval"
ead44687483e cmake: Use `HINTS` instead of `PATHS` in `find_*` commands
ad654a4807cd Merge bitcoin/bitcoin#32767: ci: Allow running CI in worktrees
67e6746dc87a Merge bitcoin/bitcoin#32780: lsan: add more Qt suppressions
e27a94596f2a build: add root dir to CMAKE_PREFIX_PATH
173394d9511e depends: Build `qt` package for FreeBSD hosts
922adf66ac74 mempool: use `FeeFrac` for calculating regular score
3322b3a05954 mempool: use `FeeFrac` for calculating ancestor score
ac9c113bd2a2 mempool: use `FeeFrac` for calculating descendant score
e95bfc1d537e Merge bitcoin/bitcoin#32797: doc: archive 28.2 release notes
666016e56b28 ci: use --usecli in one of the CI jobs
7ea248a02099 test: Disable several (sub)tests with cli
f420b6356b6f test: skip subtests that check for wrong types with cli
6530d0015b95 test: add function to convert to json for height_or_hash params
54d28722baea test: Don't send empty named args with cli
cca422060e96 test: convert tuple to json for cli
af34e980866e test: make rpc_psbt.py usable with --usecli
8f8ce9e1740d test: rename .rpc to ._rpc and remove unnecessary uses
5b0888598632 test: enable functional tests with large rpc args for cli
7d5352ac7373 test: use -stdin for large rpc commands
6c364e0c10de test: Enable various tests for usage with cli
907842363c64 doc: archive 28.2 release notes
c5849663baa9 Merge bitcoin/bitcoin#32771: contrib: tracing: Fix read of `pmsg_type` in p2p_monitor.py
8a36a471e652 Merge bitcoin/bitcoin#32781: refactor: modernize deprecated ipc headers
ed060e01e756 Merge bitcoin/bitcoin#32725: test: round difficulty and networkhashps
daf393b3f15d Merge bitcoin/bitcoin#32642: test: update BIP340 test vectors and implementation (variable-length messages)
482d2553764e Merge bitcoin/bitcoin#32736: wallet: Correct dir iteration error handling
74b7e9c7dbf7 refactor: modernize deprecated ipc headers
154b98a7aaae Merge bitcoin/bitcoin#32772: fuzz: wallet: remove `FundTx` from `FuzzedWallet`
fa183045a1ea Merge bitcoin/bitcoin#32765: test: Fix list index out of range error in feature_bip68_sequence.py
5be31b20e54e lsan: add more Qt suppressions
e18322eff274 Merge bitcoin/bitcoin#32774: doc: Explain how to fetch commits directly
b86141925416 Merge bitcoin/bitcoin#32777: doc: fix Transifex 404s
79afe6b7c092 Merge bitcoin/bitcoin#32776: doc: taproot became always active in v24.0 (doc/bips.md)
53a996f12266 doc: fix transifex 404s
8ee8a951c205 doc: taproot became always active in v24.0
fa2163159511 test: Use self.log
fa346f7797ae test: Move error string into exception
fa1986181f24 test: Remove useless catch-throw
fa94fd53c996 doc: Explain how to fetch commits directly
9a7eece5a4a1 Merge bitcoin/bitcoin#31981: Add checkBlock() to Mining interface
8cc9845b8ddf wallet, rpc: Use `OUTPUT_TYPES` to describe the output types instead of hardcoding them
3473986fe10e contrib: tracing: Correctly read msg type in p2p_monitor.py
cd1ae1b4dfdb fuzz: wallet: remove FundTx from FuzzedWallet
fa68dcb207c3 ci: Add missing errexit to lint CI install
fa535a6de7a0 ci: Allow running CI in worktrees
faf6a0459749 ci: Clean UID/GID mismatch
9eb2c82e7c91 walletdb: Remove unused upgraded_txs
c66803370988 wallet: Remove unused fTimeReceivedIsTxTime
5e6dbfd14ea9 Merge bitcoin/bitcoin#32465: thread-safety: fix annotations with REVERSE_LOCK
e285e691b7a3 test: Fix list index out of range error in feature_bip68_sequence.py
1be688f57515 Merge bitcoin/bitcoin#32682: wallet: have external signer use PSBT error code EXTERNAL_SIGNER_NOT_FOUND
a201a99f8cf5 thread-safety: fix annotations with REVERSE_LOCK
26747d9f3e3f Merge bitcoin/bitcoin#32760: depends: capnp 1.2.0
c10e382d2a3b flatfile: check whether the file has been closed successfully
4bb5dd78ea4b util: check that a file has been closed before ~AutoFile() is called
8bb34f07df9a Explicitly close all AutoFiles that have been written
a69c4098b273 rpc: take ownership of the file by WriteUTXOSnapshot()
c7eaac326ac2 depends: capnp 1.2.0
afaaba69eddd test: refactor out same-txid-diff-wtxid tx to reuse in other tests
084eee029199 Merge bitcoin/bitcoin#32743: refactor: use `std::vector<std::byte>` for `BlockManager::ReadRawBlock()`
c48846ec4169 doc: add release notes for #32540
d7fca5c171f4 clusterlin: add big comment explaning the relation between tests
b64e61d2de65 clusterlin: abstract try-permutations into ExhaustiveLinearize function
1fa55a64ed18 clusterlin tests: verify that chunks are minimal
da23ecef29b7 clusterlin tests: support non-empty ReadTopologicalSubset()
94f3e17c33e6 clusterlin tests: compare with fuzz-provided linearizations
5f92ebee0d24 clusterlin tests: compare with fuzz-provided topological sets
6e37824ac390 clusterlin tests: optimize clusterlin_simple_linearize
98c1c88b6f8d clusterlin tests: separate testing of SimpleLinearize and Linearize
10e90f7aef9c clusterlin tests: make SimpleCandidateFinder always find connected
a38c38951e10 clusterlin tests: separate testing of Search- and SimpleCandidateFinder
77a432ee704b clusterlin tests: count SimpleCandidateFinder iterations better
a18e57232867 test: more template verification tests
10c908808fb8 test: move gbt proposal mode tests to new file
94959b8deedc Add checkBlock to Mining interface
6077157531c1 ipc: drop BlockValidationState special handling
74690f4ed82b validation: refactor TestBlockValidity
2def85847318 Merge bitcoin/bitcoin#32481: wallet, refactor: Remove Legacy wallet unused warnings and errors
287cd04a32df Merge bitcoin/bitcoin#32594: wallet, rpc: Return normalized descriptor in parent_descs
fd74d609bed9 Merge bitcoin/bitcoin#32620: wallet: Fix wallet interface detection of encrypted wallets
6ecb9fc65f9a chore: use `std::vector<std::byte>` for `BlockManager::ReadRawBlock()`
65b26507b84a Merge bitcoin/bitcoin#32746: test: remove unnecessary m_best_header setting hack in feature_assumeutxo.py
3e8168442692 Merge bitcoin/bitcoin#32739: tsan: remove note about dropping Qt wildcards
b8eb17792e0c Merge bitcoin/bitcoin#32175: fuzz: doc: add info about `afl-system-config` for macOS
206bc05e62c6 test: remove unnecessary m_best_header setting hack in feature_assumeutxo.py
272cd09b796a log: Use warning level while scanning wallet dir
17776443675d qa, wallet: Verify warning when failing to scan
893e51ffeb05 wallet: Correct dir iteration error handling
52e6e93c3f60 Merge bitcoin/bitcoin#32693: depends: fix cmake compatibility error for freetype
fa2f1c55b7da move-only util data to test/functional/data/util
faa18bf287fc test: Turn util/test_runner into functional test
fa955154c773 test: Add missing skip_if_no_bitcoin_tx
9341b5333ad5 blockstorage: make block read hash checks explicit
2371b9f4ee0b test/bench: verify hash in `ComputeFilter` reads
5d235d50d6dd net: assert block hash in `ProcessGetBlockData` and `ProcessMessage`
5db0a4a2db20 tsan: remove note about dropping Qt wildcards
d91c718a686a Merge bitcoin/bitcoin#32717: doc: Update Qt 6 packages on FreeBSD
fac9db6eb0c6 test: Add missing tx util to Binaries
fa91835ec6ad test: Use lowercase env var as attribute name
fac49094cdb1 test: Remove duplicate ConfigParser
9dfc61d95f00 test: detect no external signer connected
dd8447f70faf test: fix catchup loop in outbound eviction functional test
19765dca197a Merge bitcoin/bitcoin#32694: index: move disk read lookups to base class
8cc3ac6c2328 validation: Don't use IsValid() to filter for invalid blocks
86d98b94e546 test: verify that ancestors of a reconsidered block can become the chain tip
3c39a55e64be validation: Add ancestors of reconsiderblock to setBlockIndexCandidates
1df96f59316c doc: Update Qt 6 packages on FreeBSD
d7c37906e7b1 build: patch cmake min version on freetype
fa946520d229 refactor: Use structured binding for-loop
eeeec1579ec5 rpc: Use type-safe exception to pass RPC help
5757de4ddd37 Merge bitcoin/bitcoin#32673: clang-tidy: Apply modernize-deprecated-headers
1473f69924bc Merge bitcoin/bitcoin#32421: test: refactor: overhaul (w)txid determination for `CTransaction` objects
7c0cfce20df9 Merge bitcoin/bitcoin#31405: validation: stricter internal handling of invalid blocks
851f540d0e03 Merge bitcoin/bitcoin#32703: test: Explain how to reproduce zmq:: upstream race
5af5e9791dc9 Merge bitcoin/bitcoin#32690: depends: fix multiprocess build on OpenBSD (apply capnp patch, correct SHA256SUM command)
fed41b75fbfa Merge bitcoin/bitcoin#32431: deps: Bump lief to 0.16.6
578ea3eedb28 test: round difficulty and networkhashps
c8abd972818f Merge bitcoin/bitcoin#32719: doc, windows: CompanyName "Bitcoin" => "Bitcoin Core project"
029ba1a21d57 index: remove CBlockIndex access from CustomAppend()
91b7ab6c6926 refactor: index, simplify CopyHeightIndexToHashIndex to process single block
4f56c9145a60 refactor: contrib: Move FORTIFY check to BASE_ELF
f6d25e8a2dd3 contrib: Re-enable FORTIFY check for RISCV
765922d8022d deps: bump lief to 0.16.6
4ef625301767 test: avoid unneeded (w)txid hex -> integer conversions
472f3770aec8 scripted-diff: test: rename CTransaction `.getwtxid()` -> `wtxid_hex` for consistency
81af4334e8f9 test: rename CTransaction `.sha256` -> `.txid_int` for consistency
ce8392423712 test: rename CTransaction `.rehash()`/`.hash` -> `.txid_hex` for consistency
6efbd1e1dcdf refactor: CTransaction equality should consider witness data
cbf9b2dab1d8 mempool: codify existing assumption about duplicate txids during removal
c3fe85e2d6dd wallet, rpc, test: Remove deprecated getunconfirmedbalance
0ec255139be3 wallet, rpc: Remove deprecated balances from getwalletinfo
e9331cd6ab2c wallet: IsEquivalentTo should strip witness data in addition to scriptsigs
ce90f0c99fde rpc, wallet, refactor: Remove non-descriptor errors
573bcd75d7b6 wallet, refactor: Remove unused SetupGeneration
5431f2dc2159 wallet, refactor: Remove Legacy warnings and errors
6f1392cc42cd indexes, refactor: Remove remaining CBlockIndex* uses in index Rewind methods
0a248708dc9d indexes, refactor: Stop requiring CBlockIndex type to call IsBIP30Unspendable
28299ce77636 p2p: remove vestigial READ_STATUS_CHECKBLOCK_FAILED
bac9ee483066 p2p: Add witness mutation check inside FillBlock
4f10a57671c1 depends: Override host compilers for FreeBSD and OpenBSD
239fc4d62e73 doc, windows: CompanyName "Bitcoin" => "Bitcoin Core project"
e9cdaefb0a80 test: introduce and use CTransaction `.wtxid_int` property
9b3dce24a333 test: remove bare CTransaction `.rehash()`/`.calc_sha256()` calls
a2724e3ea392 test: remove txid caching in CTransaction class
fa0b766f43df test: Remove intermittent and presumed fixed tsan race suppressions
fa4b659dcd03 test: Explain how to reproduce zmq:: upstream race
d4e212e8a69e rest: fetch spent transaction outputs by blockhash
331a25cb1663 test: indexes, avoid creating threads when sync runs synchronously
95969bc58ae0 test: added fuzz coverage to consensus/merkle.cpp
f6b782f3aad4 doc: Improve m_best_header documentation
ee673b9aa015 validation: remove m_failed_blocks
ed764ea2b4ed validation: Add more checks to CheckBlockIndex()
9a70883002e1 validation: in invalidateblock, calculate m_best_header right away
8e39f2d20d09 validation: in invalidateblock, mark children as invalid right away
4c29326183ba validation: cache all headers with enough PoW in invalidateblock
15fa5b5a908d validation: call InvalidBlockFound also from AcceptBlock
8713e8060d50 depends: fix SHA256SUM command on OpenBSD (use GNU mode output)
2d938720bd67 depends: add patch to fix capnp build on OpenBSD
0a4ee93529d6 wallet: use PSBTError::EXTERNAL_SIGNER_NOT_FOUND
8ba2f9b7c8a6 refactor: use util::Result for GetExternalSigner()
130a92298077 wallet, interfaces: Use BERKELEY_RO in isEncrypted
fa9ca13f35be refactor: Sort includes of touched source files
facb152697b8 scripted-diff: Bump copyright headers after include changes
fae71d30f722 clang-tidy: Apply modernize-deprecated-headers
0def84d407fa test: Verify parent_desc in RPCs
b184f5c87c41 test: update BIP340 test vectors and implementation (variable-length messages)
b78990734621 wallet: migration, avoid creating spendable wallet from a watch-only legacy wallet
e86d71b749c0 wallet: refactor, dedup wallet re-loading code
1de423e0a08b wallet: introduce method to return all db created files
d04f6a97ba9a refactor: remove sqlite dir path back-and-forth conversion
2554cee988fb test: Enable default wallet for wallet_descriptor.py
3fc9d9f241a4 wallet, rpc: Push the normalized parent descriptor
47237cd19380 wallet, rpc: Output wallet flags in getwalletinfo
bc2a26b29623 wallet: Add GetWalletFlags
69f588a99a7a wallet: Set upgraded descriptor cache flag for newly created wallets
9f8e7b0b3b78 node: cap -dbcache to 1GiB on 32-bit architectures
2c43b6adebbf init: cap -maxmempool to 500 MB on 32-bit systems
aeea5f0ec112 thread-safety: add missing lock annotation
832c57a53410 thread-safety: modernize thread safety macros
61ea5f348da7 fuzz: doc: add info about `afl-system-config` for macOS
REVERT: dc54534648c5 Change kernel install directory temporarily
REVERT: 44c8782f9869 Add BlockReader functionality to kernel library
REVERT: ac993426a14c Add directory locking and read-only mode to BlockTreeStore
REVERT: 74c2b345ac2b Flush disk writes when not in initial block download
REVERT: 57a96f6cec20 Remove block_tree_db_in_memory parameter after flat-file migration
REVERT: d6408d938769 blockstorage: Remove BlockTreeDB dead code
REVERT: fc24cd8253c2 kernel: Add assumed header store to chainparams
REVERT: a644f2404b2d kernel: Remove block tree db params
REVERT: 39ddc770deeb blockstorage: Replace BlockTreeDB with BlockTreeStore
REVERT: a971f88ac714 fuzz: Use BlockTreeStore in block index fuzz test
REVERT: daacbff55c08 kernel: Add blocktreestorage module
REVERT: 1932c011baf8 kernel: Introduce initial kernel C header API
REVERT: 690a5dac223e kernel: Fix bitcoin-chainstate for windows
REVERT: 345d2ac84162 kernel: Add Purpose section to header documentation
REVERT: 790b2baa7ce2 kernel: Add pure kernel bitcoin-chainstate
REVERT: 78e4ca20aae6 kernel: Add functions to get the block hash from a block
REVERT: 4c0de2443d8a kernel: Add block index utility functions to C header
REVERT: d031c5871e47 kernel: Add function to read block undo data from disk to C header
REVERT: e10616b59b13 kernel: Add functions to read block from disk to C header
REVERT: 71e76017b8c4 kernel: Add function for copying block data to C header
REVERT: a015529dd449 kernel: Add functions for the block validation state to C header
REVERT: e5870b8253f8 kernel: Add validation interface to C header
REVERT: 24d56ecfbae4 kernel: Add interrupt function to C header
REVERT: 98710edc97ae kernel: Add import blocks function to C header
REVERT: 2b9382a5ebc2 kernel: Add chainstate load options for in-memory dbs in C header
REVERT: 15dff3f0b5d5 kernel: Add options for reindexing in C header
REVERT: f2faf1790484 kernel: Add block validation to C header
REVERT: 4cd4577fc82b kernel: Add chainstate loading when instantiating a ChainstateManager
REVERT: 7a40d4ddb23a kernel: Add chainstate manager option for setting worker threads
REVERT: 7bac421d186a kernel: Add chainstate manager object to C header
REVERT: fc83bef50833 kernel: Add notifications context option to C header
REVERT: 76a0c97e0df6 kernel: Add chain params context option to C header
REVERT: a3cc9ec2dc7d kernel: Add kernel library context object
REVERT: d7230ea9b9ee kernel: Add logging to kernel library C header
REVERT: 84680fe7ca33 kernel: Introduce initial kernel C header API

git-subtree-dir: libbitcoinkernel-sys/bitcoin
git-subtree-split: 62a253b372a6e1fea1e588d5534ca6be8451bbdc
alexanderwiederin added a commit to alexanderwiederin/rust-bitcoinkernel that referenced this pull request Jul 28, 2025
…dc7c69bf6b1

cdc7c69bf6b1 Change kernel install directory temporarily
1d9c6f53bdbd Add BlockReader functionality to kernel library
ac993426a14c Add directory locking and read-only mode to BlockTreeStore
74c2b345ac2b Flush disk writes when not in initial block download
57a96f6cec20 Remove block_tree_db_in_memory parameter after flat-file migration
d6408d938769 blockstorage: Remove BlockTreeDB dead code
fc24cd8253c2 kernel: Add assumed header store to chainparams
a644f2404b2d kernel: Remove block tree db params
39ddc770deeb blockstorage: Replace BlockTreeDB with BlockTreeStore
a971f88ac714 fuzz: Use BlockTreeStore in block index fuzz test
daacbff55c08 kernel: Add blocktreestorage module
1932c011baf8 kernel: Introduce initial kernel C header API
690a5dac223e kernel: Fix bitcoin-chainstate for windows
345d2ac84162 kernel: Add Purpose section to header documentation
790b2baa7ce2 kernel: Add pure kernel bitcoin-chainstate
78e4ca20aae6 kernel: Add functions to get the block hash from a block
4c0de2443d8a kernel: Add block index utility functions to C header
d031c5871e47 kernel: Add function to read block undo data from disk to C header
e10616b59b13 kernel: Add functions to read block from disk to C header
71e76017b8c4 kernel: Add function for copying block data to C header
a015529dd449 kernel: Add functions for the block validation state to C header
e5870b8253f8 kernel: Add validation interface to C header
24d56ecfbae4 kernel: Add interrupt function to C header
98710edc97ae kernel: Add import blocks function to C header
2b9382a5ebc2 kernel: Add chainstate load options for in-memory dbs in C header
15dff3f0b5d5 kernel: Add options for reindexing in C header
f2faf1790484 kernel: Add block validation to C header
4cd4577fc82b kernel: Add chainstate loading when instantiating a ChainstateManager
7a40d4ddb23a kernel: Add chainstate manager option for setting worker threads
7bac421d186a kernel: Add chainstate manager object to C header
fc83bef50833 kernel: Add notifications context option to C header
76a0c97e0df6 kernel: Add chain params context option to C header
a3cc9ec2dc7d kernel: Add kernel library context object
d7230ea9b9ee kernel: Add logging to kernel library C header
84680fe7ca33 kernel: Introduce initial kernel C header API
REVERT: 62a253b372a6 add kernel process new block headers
REVERT: 1ffc1c9d94b1 kernel: Fix bitcoin-chainstate for windows
REVERT: 686c4108cc1d kernel: Add Purpose section to header documentation
REVERT: 8d47a4073120 kernel: Add pure kernel bitcoin-chainstate
REVERT: ba84650882f1 kernel: Add functions to get the block hash from a block
REVERT: a4217273422b kernel: Add block index utility functions to C header
REVERT: aedbe73cf096 kernel: Add function to read block undo data from disk to C header
REVERT: 109dda0845d8 kernel: Add functions to read block from disk to C header
REVERT: 3e24c34ad481 kernel: Add function for copying block data to C header
REVERT: 9ab3d14c1d15 kernel: Add functions for the block validation state to C header
REVERT: 4408228f8556 kernel: Add validation interface to C header
REVERT: 0c3054ef4b6e kernel: Add interrupt function to C header
REVERT: 45895c4ac778 kernel: Add import blocks function to C header
REVERT: 994c869ba238 kernel: Add chainstate load options for in-memory dbs in C header
REVERT: b4ad47e31268 kernel: Add options for reindexing in C header
REVERT: 591b28d61548 kernel: Add block validation to C header
REVERT: a1fe6b4264bf kernel: Add chainstate loading when instantiating a ChainstateManager
REVERT: 0cf99f827e48 kernel: Add chainstate manager option for setting worker threads
REVERT: c18b35135c75 kernel: Add chainstate manager object to C header
REVERT: 1de2db7eacde kernel: Add notifications context option to C header
REVERT: b1e6a28d17c6 kernel: Add chain params context option to C header
REVERT: 369cfd3f6c4f kernel: Add kernel library context object
REVERT: f9e13dbb1ade kernel: Add logging to kernel library C header
REVERT: ce1288828783 kernel: Introduce initial kernel C header API
REVERT: 7566b40bd230 Merge bitcoin/bitcoin#32961: fix spelling in tor.md docs
REVERT: 84ef5524d5ab fix spelling in tor.md docs
REVERT: 6a13a6106e3c Merge bitcoin/bitcoin#32937: Enable `-Werror=dev` in CI & Guix
REVERT: 23e15d40b96a Merge bitcoin/bitcoin#32631: refactor: Convert GenTxid to `std::variant`
REVERT: 8ffbd7b77860 Merge bitcoin/bitcoin#32940: cmake: Use newer signature of `qt6_add_lrelease` when available
REVERT: 80ce5137663d Merge bitcoin/bitcoin#32933: log: Properly log warnings with warn loglevel in addrdb
REVERT: 8f766f39df3e ci: enable -Werror=dev
REVERT: 7b420ca8341a guix: configure with -Werror=dev
REVERT: 44097ddb1913 cmake: enable -Werror=dev in dev-mode preset
REVERT: 12fb00fd4228 Merge bitcoin/bitcoin#32927: fuzz: Add missing calls to `SetMockTime` for determinism
REVERT: 3c1418666bfa Merge bitcoin/bitcoin#32930: Resolve guix non-determinism with emplace_back instead of push_back
REVERT: bad998b7c040 Merge bitcoin/bitcoin#32921: test: less ambiguous error if bitcoind is missing
REVERT: 7f28e8032987 Merge bitcoin/bitcoin#32758: wallet: remove dead code in legacy wallet migration
REVERT: 5ef0d4897be4 Merge bitcoin/bitcoin#30605: Cluster linearization: separate tests from tests-of-tests
REVERT: f43571010e38 Resolve guix non-determinism with emplace_back instead of push_back
REVERT: 94931656b52f cmake: Use newer signature of `qt6_add_lrelease` when available
REVERT: b80ead8a7182 Merge bitcoin/bitcoin#32890: bench: Avoid tmp files in pwd
REVERT: c4f90900b55f Merge bitcoin/bitcoin#32932: test: Add missing convert_to_json_for_cli
REVERT: fa894b0f3e13 log: Properly log warnings with warn loglevel in addrdb
REVERT: 83ae7802fe14 Merge bitcoin/bitcoin#32881: test: Turn rpcauth.py test into functional test
REVERT: fa0528479d5e test: Add missing convert_to_json_for_cli
REVERT: a40e9536588c Merge bitcoin/bitcoin#30479: validation: Add eligible ancestors of reconsidered block to setBlockIndexCandidates
REVERT: 1ca62edd85b1 Merge bitcoin/bitcoin#32580: wallet, test: best block locator matches scan state follow-ups
REVERT: 2cad7226c2d0 Merge bitcoin/bitcoin#32799: mempool: use `FeeFrac` for ancestor/descendant score comparators
REVERT: 2d59977601ea Merge bitcoin/bitcoin#32604: log: Mitigate disk filling attacks by rate limiting LogPrintf, LogInfo, LogWarning, LogError
REVERT: 4c772cbd83e5 doc: add release notes for new rate limiting logging behavior
REVERT: d541409a64c6 log: Add rate limiting to LogPrintf, LogInfo, LogWarning, LogError, LogPrintLevel
REVERT: a6a35cc0c23d log: use std::source_location in place of __func__, __FILE__, __LINE__
REVERT: afb9e39ec555 log: introduce LogRateLimiter, LogLimitStats, Status
REVERT: df7972a6cfd9 test: Mark ~DebugLogHelper as noexcept(false)
REVERT: fa8862723c14 fuzz: CheckGlobals in init
REVERT: fa26bfde988b test: Avoid resetting mocktime in testing setup
REVERT: fa6b45fa8ec8 Add SetMockTime for time_point types
REVERT: a60f863d3e27 scripted-diff: Replace GenTxidVariant with GenTxid
REVERT: c8ba19959863 Remove old GenTxid class
REVERT: 072a198ea4bc Convert remaining instances of GenTxid to GenTxidVariant
REVERT: 1b528391c794 Convert `txrequest` to GenTxidVariant
REVERT: bde4579b0780 Convert `txdownloadman_impl` to GenTxidVariant
REVERT: c876a892ec0b Replace GenTxid with Txid/Wtxid overloads in `txmempool`
REVERT: de858ce2bea8 move-only: make GetInfo a private CTxMemPool member
REVERT: eee473d9f301 Convert `CompareInvMempoolOrder` to GenTxidVariant
REVERT: b7e9dc8e468b Merge bitcoin/bitcoin#32884: rest: replace `rf_names[0].rf` by `RESTResponseFormat::UNDEF`
REVERT: fa4d68cf97b6 Turn rpcauth.py test into functional test
REVERT: 83bb41455715 test: less ambiguous error if bitcoind is missing
REVERT: 150b5c99ca11 wallet: replace `reload_wallet` with inline functionality
REVERT: 927055e42afb Merge bitcoin/bitcoin#32893: doc: fix `BlockConnected` incorrect comment
REVERT: a8bff38236ac Merge bitcoin/bitcoin#32862: rpc: use CScheduler for relocking wallet and remove RPCTimer
REVERT: 21b42f3c5569 Merge bitcoin/bitcoin#32660: rpc: Use type-safe exception to pass RPC help
REVERT: 528f79f010d1 Merge bitcoin/bitcoin#32835: test: fix feature_init.py intermittencies
REVERT: fc543f94a9c3 Merge bitcoin/bitcoin#32385: test: refactor out same-txid-diff-wtxid tx to reuse in other tests
REVERT: 09add84fc5ad Merge bitcoin/bitcoin#32618: wallet: Remove ISMINE_WATCHONLY and watchonly from RPCs
REVERT: 87ab69155d94 Merge bitcoin/bitcoin#31553: cluster mempool: add TxGraph reorg functionality
REVERT: 4e69aa5701a2 doc: fix `BlockConnected` incorrect comment
REVERT: d33c111448ac Merge bitcoin/bitcoin#32829: threading: use correct mutex name in reverse_lock fatal error messages
REVERT: de4eef52d123 threading: use correct mutex name in reverse_lock fatal error messages
REVERT: fa2fbaa4a29f bench: Avoid tmp files in pwd
REVERT: 6d19815cd440 rest: replace `rf_names[0].rf` by `RESTResponseFormat::UNDEF` for code clarity
REVERT: 4207d9bf823b test: feature_init, ensure indexes are synced prior to perturbing files
REVERT: e3f416dbf763 Merge bitcoin/bitcoin#32463: test: fix an incorrect `feature_fee_estimation.py` subtest
REVERT: ea4285775e61 Merge bitcoin/bitcoin#29307: util: explicitly close all AutoFiles that have been written
REVERT: 51ccc71b1bf9 Merge bitcoin/bitcoin#32858: doc: Add workaround for vcpkg issue with paths with embedded spaces
REVERT: fcfd3db563e8 remove RPCTimerInterface and RPCRunLater
REVERT: 8a1765795fd3 use WalletContext scheduler for walletpassphrase callback
REVERT: 927e9b220f17 Merge bitcoin/bitcoin#32716: depends: Override host compilers for FreeBSD and OpenBSD
REVERT: c7fe8abb5f38 Merge bitcoin/bitcoin#31233: cmake: Improve Python robustness and test usability
REVERT: 625194944333 Merge bitcoin/bitcoin#32290: test: allow all functional tests to be run or skipped with --usecli
REVERT: 0f86da382d3f wallet: remove dead code in legacy wallet migration
REVERT: 49d5f1f2c6d2 Merge bitcoin/bitcoin#32850: test: check P2SH sigop count for coinbase tx
REVERT: abd07cf7332e test: feature_init, only init what's needed per perturbation/deletion round
REVERT: 192743235493 Merge bitcoin/bitcoin#32859: functional test: correctly detect nonstd TRUC tx vsize in feature_taproot
REVERT: 68ca13e1f96a Merge bitcoin/bitcoin#32823: test: Fix wait_for_getheaders() call in test_outbound_eviction_blocks_relay_only()
REVERT: 35cae56a9292 Merge bitcoin/bitcoin#31423: wallet: migration, avoid creating spendable wallet from a watch-only legacy wallet
REVERT: 1632fc104be8 txgraph: Track multiple potential would-be clusters in Trim (improvement)
REVERT: 4608df37e02a txgraph: add Trim benchmark (benchmark)
REVERT: 9c436ff01cff txgraph: add fuzz test scenario that avoids cycles inside Trim() (tests)
REVERT: 938e86f8fecd txgraph: add unit test for TxGraph::Trim (tests)
REVERT: a04e205ab03e txgraph: Add ability to trim oversized clusters (feature)
REVERT: eabcd0eb6fca txgraph: remove unnecessary m_group_oversized (simplification)
REVERT: 19b14e61eae7 txgraph: Permit transactions that exceed cluster size limit (feature)
REVERT: c4287b9b71c6 txgraph: Add ability to configure maximum cluster size/weight (feature)
REVERT: f0524cda3995 functional test: correctly detect nonstd TRUC tx vsize in feature_taproot
REVERT: 0a1af4418ed2 doc: Add workaround for vcpkg issue with paths with embedded spaces
REVERT: a92e8b10a5fb Merge bitcoin/bitcoin#32564: miniscript, refactor: Make `operator""_mst` `consteval` (re-take)
REVERT: bf75c9964fb2 Merge bitcoin/bitcoin#32828: build, docs: Fix Boost-related issues on NetBSD
REVERT: 7fa9b58bd907 Merge bitcoin/bitcoin#32841: feature_taproot: sample tx version border values more
REVERT: 1b5c545e82fe wallet, test: best block locator matches scan state follow-ups
REVERT: fa3359289883 Merge bitcoin/bitcoin#32723: Refactor: Redefine CTransaction equality to include witness data
REVERT: ce000c8ee02a Merge bitcoin/bitcoin#32219: test: enabling wallet migration functional test on windows
REVERT: f33154c464b3 Merge bitcoin/bitcoin#32432: wallet, rpc: Use `OUTPUT_TYPES` to describe the output types instead of hardcoding them
REVERT: fa9b1e354444 Merge bitcoin/bitcoin#32846: doc: clarify that the "-j N" goes after the "--build build" part
REVERT: b1a8ac07e91d doc: Release note for removed watchonly parameters and results
REVERT: 15710869e19e wallet: Remove ISMINE_WATCH_ONLY
REVERT: 4439bf4b41a6 wallet, spend: Remove fWatchOnly from CCoinControl
REVERT: 1337c72198a7 wallet, rpc: Remove watchonly from RPCs
REVERT: e81d95d43574 wallet: Remove watchonly balances
REVERT: d20dc9c6aae0 wallet: Wallets without private keys cannot grind R
REVERT: 9991f49c38c0 test: Watchonly wallets should estimate larger size
REVERT: d6aaffcb11ad test: check P2SH sigop count for coinbase tx
REVERT: b1821d8dd39f Merge bitcoin/bitcoin#27286: wallet: Keep track of the wallet's own transaction outputs in memory
REVERT: 0e9f409db3b7 doc: clarify that the "-j N" goes after the "--build build" part
REVERT: 67dc7523f3e1 cmake, test: Disable tests instead of ignoring them
REVERT: bb9157db5d39 cmake, refactor: Switch to `Python3::Interpreter` imported target
REVERT: ed7a841f82f9 Merge bitcoin/bitcoin#32816: contrib: correct variable name in p2p_monitor.py
REVERT: 2ae5154dd860 Merge bitcoin/bitcoin#32842: doc: add `/spenttxouts` to REST-interface.md
REVERT: 243553d59071 refactor: replace get_iter_from_wtxid with GetIter(const Wtxid&)
REVERT: fcf92fd640ea refactor: make CTxMemPool::GetIter strongly typed
REVERT: 23a00fcf571f Merge bitcoin/bitcoin#32783: doc: Add fetching single PRs from upstream to productivity.md
REVERT: dd99cedc0bfe doc: add `/spenttxouts` to REST-interface.md
REVERT: 4be81e9746e9 feature_taproot: sample tx version border values more
REVERT: 6e5b67a370bb Merge bitcoin/bitcoin#32697: test: Turn util/test_runner into functional test
REVERT: fb2c16cf7bfb Merge bitcoin/bitcoin#32826: p2p: add more bad ports
REVERT: f5f3e1f26328 Merge bitcoin/bitcoin#32646: p2p: Add witness mutation check inside FillBlock
REVERT: a763497b1d66 Merge bitcoin/bitcoin#32834: test: Use msg_generic in p2p_ping.py
REVERT: fa3f100010f1 test: Use msg_generic in p2p_ping.py
REVERT: 33480573cbd8 Merge bitcoin/bitcoin#32833: test: Add `msgtype` to `msg_generic` slots
REVERT: 9501738e1cbd Merge bitcoin/bitcoin#32825: rest: rename `strURIPart` to `uri_part`
REVERT: 5a5ddbd78922 build: Add workaround for NetBSD bug in `Boost::headers` target
REVERT: 6967e8e8abbc add more bad p2p ports
REVERT: 7dc43ea503a2 test: Add msgtype to msg_generic slots
REVERT: 4eb3cee919ed doc: Update NetBSD Build Guide
REVERT: 856f4235b1ae scripted-diff: rest: rename `strURIPart` -> `uri_part`
REVERT: b3bb4031ab32 Merge bitcoin/bitcoin#32540: rest: fetch spent transaction outputs by blockhash
REVERT: 3086c21df4a2 Merge bitcoin/bitcoin#32243: test: added fuzz coverage for consensus/merkle.cpp
REVERT: 319ff58bbd58 Merge bitcoin/bitcoin#32638: blocks: force hash validations on disk read
REVERT: ec004cdb86e6 test: Use rehash() in outbound eviction block-relay
REVERT: 26598ed21ea7 test: Clarify roles in outbound eviction comments
REVERT: 689318ccd9c2 Merge bitcoin/bitcoin#32667: build: Find Boost in config mode
REVERT: 4a3475a43e80 Merge bitcoin/bitcoin#32819: Add release note for #32530
REVERT: 558f0880a8f3 Add release note for #32530
REVERT: c43cc48aaaaa Merge bitcoin/bitcoin#32530: node: cap `-maxmempool` and `-dbcache` values for 32-bit
REVERT: 4145a9463a58 Merge bitcoin/bitcoin#32731: depends: Build `qt` package for FreeBSD hosts
REVERT: 14653b869b91 build: Find Boost in config mode
REVERT: 67ea4b9994e6 Merge bitcoin/bitcoin#32814: cmake: Explicitly specify `Boost_ROOT` for Homebrew's package
REVERT: 5170ec1ae35d Merge bitcoin/bitcoin#32665: depends: Bump boost to 1.88.0 and use new CMake buildsystem
REVERT: 8fafb81320dd Merge bitcoin/bitcoin#32805: cmake: Use `HINTS` instead of `PATHS` in `find_*` commands
REVERT: 6bb38bf37fd8 Update p2p_monitor.py
REVERT: 9b75cfda4d62 test: retain the intended behavior of `feature_fee_estimation.py` nodes
REVERT: 5c1236f04a24 test: fix incorrect subtest in `feature_fee_estimation.py`
REVERT: e5f9218b6afb Merge bitcoin/bitcoin#32742: test: fix catchup loop in outbound eviction functional test
REVERT: 11d28f21bb8f Implement GenTxid as a variant
REVERT: 215e5999e207 wallet: Remove unused CachedTxGet{Available,Immature}Credit
REVERT: 49675de035e7 wallet: Have GetDebit use the wallet's TXO set
REVERT: 17d453cb3a6f wallet: Recompute wallet TXOs after descriptor migration
REVERT: 764016eb2259 wallet: Retrieve TXO directly in FetchSelectedInputs
REVERT: c1801b78f1c1 wallet: Use wallet's TXO set in AvailableCoins
REVERT: dde7cbe105ba wallet: Change balance calculation to use m_txos
REVERT: 96e7a89c5e0b wallet: Recalculate the wallet's txos after any imports
REVERT: ae888c38d080 wallet: Exit IsTrustedTx early if wtx is already in trusted_parents
REVERT: ae0876ec4273 wallet: Keep track of transaction outputs owned by the wallet
REVERT: 0f269bc48c39 walletdb: Load Txs last
REVERT: 5cc32ee2a7ad test: Test for balance update due to untracked output becoming spendable
REVERT: 8222341d4f9c wallet: MarkDirty after AddWalletDescriptor
REVERT: e02f2d331ce6 bench: Have AvailableCoins benchmark include a lot of unrelated utxos
REVERT: f27898c8bfe3 Merge bitcoin/bitcoin#32721: wallet, rpc: Remove deprecated balances from getwalletinfo and getunconfirmedbalance
REVERT: 8578fabb95fa Merge bitcoin/bitcoin#32597: wallet: Always set descriptor cache upgraded flag for new wallets
REVERT: 941b8f54c0d3 ci: run get_previous_releases as part of test cross win job
REVERT: 5e2182140bcd test: increment mocked time for migrating wallet backups
REVERT: 5174565802f4 ci: disable feature_unsupported_utxo_db functional test
REVERT: 3dc90d69a64f test: remove mempool.dat before copying
REVERT: 67a6b20d5030 test: add windows support to get previous releases script
REVERT: 01f908195589 Merge bitcoin/bitcoin#32768: wallet: Remove `CWalletTx::fTimeReceivedIsTxTime`
REVERT: c1d8a542b46c Merge bitcoin/bitcoin#32727: doc: add release notes for #32425
REVERT: 1a1b478ca31b scripted-diff: rename tarball to archive
REVERT: 4f06dc848460 test: remove building from source from get prev releases script
REVERT: 45b1d3975766 doc: Add fetching single PRs from upstream
REVERT: 8800b5acc1ef cmake: Explicitly specify `Boost_ROOT` for Homebrew's package
REVERT: b9a2e8ee965d doc: add release notes for bitcoin/bitcoin#32425
REVERT: 6c2538d5bfea depends: Bump boost to 1.88.0 and use new CMake buildsystem
REVERT: 7d5a6d17398a Merge bitcoin/bitcoin#32798: build: add root dir to CMAKE_PREFIX_PATH in toolchain
REVERT: a34fb9ad6c6c miniscript: Make `operator""_mst` `consteval`
REVERT: 14052162b19a Revert "miniscript: make operator_mst consteval"
REVERT: ead44687483e cmake: Use `HINTS` instead of `PATHS` in `find_*` commands
REVERT: ad654a4807cd Merge bitcoin/bitcoin#32767: ci: Allow running CI in worktrees
REVERT: 67e6746dc87a Merge bitcoin/bitcoin#32780: lsan: add more Qt suppressions
REVERT: e27a94596f2a build: add root dir to CMAKE_PREFIX_PATH
REVERT: 173394d9511e depends: Build `qt` package for FreeBSD hosts
REVERT: 922adf66ac74 mempool: use `FeeFrac` for calculating regular score
REVERT: 3322b3a05954 mempool: use `FeeFrac` for calculating ancestor score
REVERT: ac9c113bd2a2 mempool: use `FeeFrac` for calculating descendant score
REVERT: e95bfc1d537e Merge bitcoin/bitcoin#32797: doc: archive 28.2 release notes
REVERT: 666016e56b28 ci: use --usecli in one of the CI jobs
REVERT: 7ea248a02099 test: Disable several (sub)tests with cli
REVERT: f420b6356b6f test: skip subtests that check for wrong types with cli
REVERT: 6530d0015b95 test: add function to convert to json for height_or_hash params
REVERT: 54d28722baea test: Don't send empty named args with cli
REVERT: cca422060e96 test: convert tuple to json for cli
REVERT: af34e980866e test: make rpc_psbt.py usable with --usecli
REVERT: 8f8ce9e1740d test: rename .rpc to ._rpc and remove unnecessary uses
REVERT: 5b0888598632 test: enable functional tests with large rpc args for cli
REVERT: 7d5352ac7373 test: use -stdin for large rpc commands
REVERT: 6c364e0c10de test: Enable various tests for usage with cli
REVERT: 907842363c64 doc: archive 28.2 release notes
REVERT: c5849663baa9 Merge bitcoin/bitcoin#32771: contrib: tracing: Fix read of `pmsg_type` in p2p_monitor.py
REVERT: 8a36a471e652 Merge bitcoin/bitcoin#32781: refactor: modernize deprecated ipc headers
REVERT: ed060e01e756 Merge bitcoin/bitcoin#32725: test: round difficulty and networkhashps
REVERT: daf393b3f15d Merge bitcoin/bitcoin#32642: test: update BIP340 test vectors and implementation (variable-length messages)
REVERT: 482d2553764e Merge bitcoin/bitcoin#32736: wallet: Correct dir iteration error handling
REVERT: 74b7e9c7dbf7 refactor: modernize deprecated ipc headers
REVERT: 154b98a7aaae Merge bitcoin/bitcoin#32772: fuzz: wallet: remove `FundTx` from `FuzzedWallet`
REVERT: fa183045a1ea Merge bitcoin/bitcoin#32765: test: Fix list index out of range error in feature_bip68_sequence.py
REVERT: 5be31b20e54e lsan: add more Qt suppressions
REVERT: e18322eff274 Merge bitcoin/bitcoin#32774: doc: Explain how to fetch commits directly
REVERT: b86141925416 Merge bitcoin/bitcoin#32777: doc: fix Transifex 404s
REVERT: 79afe6b7c092 Merge bitcoin/bitcoin#32776: doc: taproot became always active in v24.0 (doc/bips.md)
REVERT: 53a996f12266 doc: fix transifex 404s
REVERT: 8ee8a951c205 doc: taproot became always active in v24.0
REVERT: fa2163159511 test: Use self.log
REVERT: fa346f7797ae test: Move error string into exception
REVERT: fa1986181f24 test: Remove useless catch-throw
REVERT: fa94fd53c996 doc: Explain how to fetch commits directly
REVERT: 9a7eece5a4a1 Merge bitcoin/bitcoin#31981: Add checkBlock() to Mining interface
REVERT: 8cc9845b8ddf wallet, rpc: Use `OUTPUT_TYPES` to describe the output types instead of hardcoding them
REVERT: 3473986fe10e contrib: tracing: Correctly read msg type in p2p_monitor.py
REVERT: cd1ae1b4dfdb fuzz: wallet: remove FundTx from FuzzedWallet
REVERT: fa68dcb207c3 ci: Add missing errexit to lint CI install
REVERT: fa535a6de7a0 ci: Allow running CI in worktrees
REVERT: faf6a0459749 ci: Clean UID/GID mismatch
REVERT: 9eb2c82e7c91 walletdb: Remove unused upgraded_txs
REVERT: c66803370988 wallet: Remove unused fTimeReceivedIsTxTime
REVERT: 5e6dbfd14ea9 Merge bitcoin/bitcoin#32465: thread-safety: fix annotations with REVERSE_LOCK
REVERT: e285e691b7a3 test: Fix list index out of range error in feature_bip68_sequence.py
REVERT: 1be688f57515 Merge bitcoin/bitcoin#32682: wallet: have external signer use PSBT error code EXTERNAL_SIGNER_NOT_FOUND
REVERT: a201a99f8cf5 thread-safety: fix annotations with REVERSE_LOCK
REVERT: 26747d9f3e3f Merge bitcoin/bitcoin#32760: depends: capnp 1.2.0
REVERT: c10e382d2a3b flatfile: check whether the file has been closed successfully
REVERT: 4bb5dd78ea4b util: check that a file has been closed before ~AutoFile() is called
REVERT: 8bb34f07df9a Explicitly close all AutoFiles that have been written
REVERT: a69c4098b273 rpc: take ownership of the file by WriteUTXOSnapshot()
REVERT: c7eaac326ac2 depends: capnp 1.2.0
REVERT: afaaba69eddd test: refactor out same-txid-diff-wtxid tx to reuse in other tests
REVERT: 084eee029199 Merge bitcoin/bitcoin#32743: refactor: use `std::vector<std::byte>` for `BlockManager::ReadRawBlock()`
REVERT: c48846ec4169 doc: add release notes for #32540
REVERT: d7fca5c171f4 clusterlin: add big comment explaning the relation between tests
REVERT: b64e61d2de65 clusterlin: abstract try-permutations into ExhaustiveLinearize function
REVERT: 1fa55a64ed18 clusterlin tests: verify that chunks are minimal
REVERT: da23ecef29b7 clusterlin tests: support non-empty ReadTopologicalSubset()
REVERT: 94f3e17c33e6 clusterlin tests: compare with fuzz-provided linearizations
REVERT: 5f92ebee0d24 clusterlin tests: compare with fuzz-provided topological sets
REVERT: 6e37824ac390 clusterlin tests: optimize clusterlin_simple_linearize
REVERT: 98c1c88b6f8d clusterlin tests: separate testing of SimpleLinearize and Linearize
REVERT: 10e90f7aef9c clusterlin tests: make SimpleCandidateFinder always find connected
REVERT: a38c38951e10 clusterlin tests: separate testing of Search- and SimpleCandidateFinder
REVERT: 77a432ee704b clusterlin tests: count SimpleCandidateFinder iterations better
REVERT: a18e57232867 test: more template verification tests
REVERT: 10c908808fb8 test: move gbt proposal mode tests to new file
REVERT: 94959b8deedc Add checkBlock to Mining interface
REVERT: 6077157531c1 ipc: drop BlockValidationState special handling
REVERT: 74690f4ed82b validation: refactor TestBlockValidity
REVERT: 2def85847318 Merge bitcoin/bitcoin#32481: wallet, refactor: Remove Legacy wallet unused warnings and errors
REVERT: 287cd04a32df Merge bitcoin/bitcoin#32594: wallet, rpc: Return normalized descriptor in parent_descs
REVERT: fd74d609bed9 Merge bitcoin/bitcoin#32620: wallet: Fix wallet interface detection of encrypted wallets
REVERT: 6ecb9fc65f9a chore: use `std::vector<std::byte>` for `BlockManager::ReadRawBlock()`
REVERT: 65b26507b84a Merge bitcoin/bitcoin#32746: test: remove unnecessary m_best_header setting hack in feature_assumeutxo.py
REVERT: 3e8168442692 Merge bitcoin/bitcoin#32739: tsan: remove note about dropping Qt wildcards
REVERT: b8eb17792e0c Merge bitcoin/bitcoin#32175: fuzz: doc: add info about `afl-system-config` for macOS
REVERT: 206bc05e62c6 test: remove unnecessary m_best_header setting hack in feature_assumeutxo.py
REVERT: 272cd09b796a log: Use warning level while scanning wallet dir
REVERT: 17776443675d qa, wallet: Verify warning when failing to scan
REVERT: 893e51ffeb05 wallet: Correct dir iteration error handling
REVERT: 52e6e93c3f60 Merge bitcoin/bitcoin#32693: depends: fix cmake compatibility error for freetype
REVERT: fa2f1c55b7da move-only util data to test/functional/data/util
REVERT: faa18bf287fc test: Turn util/test_runner into functional test
REVERT: fa955154c773 test: Add missing skip_if_no_bitcoin_tx
REVERT: 9341b5333ad5 blockstorage: make block read hash checks explicit
REVERT: 2371b9f4ee0b test/bench: verify hash in `ComputeFilter` reads
REVERT: 5d235d50d6dd net: assert block hash in `ProcessGetBlockData` and `ProcessMessage`
REVERT: 5db0a4a2db20 tsan: remove note about dropping Qt wildcards
REVERT: d91c718a686a Merge bitcoin/bitcoin#32717: doc: Update Qt 6 packages on FreeBSD
REVERT: fac9db6eb0c6 test: Add missing tx util to Binaries
REVERT: fa91835ec6ad test: Use lowercase env var as attribute name
REVERT: fac49094cdb1 test: Remove duplicate ConfigParser
REVERT: 9dfc61d95f00 test: detect no external signer connected
REVERT: dd8447f70faf test: fix catchup loop in outbound eviction functional test
REVERT: 19765dca197a Merge bitcoin/bitcoin#32694: index: move disk read lookups to base class
REVERT: 8cc3ac6c2328 validation: Don't use IsValid() to filter for invalid blocks
REVERT: 86d98b94e546 test: verify that ancestors of a reconsidered block can become the chain tip
REVERT: 3c39a55e64be validation: Add ancestors of reconsiderblock to setBlockIndexCandidates
REVERT: 1df96f59316c doc: Update Qt 6 packages on FreeBSD
REVERT: d7c37906e7b1 build: patch cmake min version on freetype
REVERT: fa946520d229 refactor: Use structured binding for-loop
REVERT: eeeec1579ec5 rpc: Use type-safe exception to pass RPC help
REVERT: 5757de4ddd37 Merge bitcoin/bitcoin#32673: clang-tidy: Apply modernize-deprecated-headers
REVERT: 1473f69924bc Merge bitcoin/bitcoin#32421: test: refactor: overhaul (w)txid determination for `CTransaction` objects
REVERT: 7c0cfce20df9 Merge bitcoin/bitcoin#31405: validation: stricter internal handling of invalid blocks
REVERT: 851f540d0e03 Merge bitcoin/bitcoin#32703: test: Explain how to reproduce zmq:: upstream race
REVERT: 5af5e9791dc9 Merge bitcoin/bitcoin#32690: depends: fix multiprocess build on OpenBSD (apply capnp patch, correct SHA256SUM command)
REVERT: fed41b75fbfa Merge bitcoin/bitcoin#32431: deps: Bump lief to 0.16.6
REVERT: 578ea3eedb28 test: round difficulty and networkhashps
REVERT: c8abd972818f Merge bitcoin/bitcoin#32719: doc, windows: CompanyName "Bitcoin" => "Bitcoin Core project"
REVERT: 029ba1a21d57 index: remove CBlockIndex access from CustomAppend()
REVERT: 91b7ab6c6926 refactor: index, simplify CopyHeightIndexToHashIndex to process single block
REVERT: 4f56c9145a60 refactor: contrib: Move FORTIFY check to BASE_ELF
REVERT: f6d25e8a2dd3 contrib: Re-enable FORTIFY check for RISCV
REVERT: 765922d8022d deps: bump lief to 0.16.6
REVERT: 4ef625301767 test: avoid unneeded (w)txid hex -> integer conversions
REVERT: 472f3770aec8 scripted-diff: test: rename CTransaction `.getwtxid()` -> `wtxid_hex` for consistency
REVERT: 81af4334e8f9 test: rename CTransaction `.sha256` -> `.txid_int` for consistency
REVERT: ce8392423712 test: rename CTransaction `.rehash()`/`.hash` -> `.txid_hex` for consistency
REVERT: 6efbd1e1dcdf refactor: CTransaction equality should consider witness data
REVERT: cbf9b2dab1d8 mempool: codify existing assumption about duplicate txids during removal
REVERT: c3fe85e2d6dd wallet, rpc, test: Remove deprecated getunconfirmedbalance
REVERT: 0ec255139be3 wallet, rpc: Remove deprecated balances from getwalletinfo
REVERT: e9331cd6ab2c wallet: IsEquivalentTo should strip witness data in addition to scriptsigs
REVERT: ce90f0c99fde rpc, wallet, refactor: Remove non-descriptor errors
REVERT: 573bcd75d7b6 wallet, refactor: Remove unused SetupGeneration
REVERT: 5431f2dc2159 wallet, refactor: Remove Legacy warnings and errors
REVERT: 6f1392cc42cd indexes, refactor: Remove remaining CBlockIndex* uses in index Rewind methods
REVERT: 0a248708dc9d indexes, refactor: Stop requiring CBlockIndex type to call IsBIP30Unspendable
REVERT: 28299ce77636 p2p: remove vestigial READ_STATUS_CHECKBLOCK_FAILED
REVERT: bac9ee483066 p2p: Add witness mutation check inside FillBlock
REVERT: 4f10a57671c1 depends: Override host compilers for FreeBSD and OpenBSD
REVERT: 239fc4d62e73 doc, windows: CompanyName "Bitcoin" => "Bitcoin Core project"
REVERT: e9cdaefb0a80 test: introduce and use CTransaction `.wtxid_int` property
REVERT: 9b3dce24a333 test: remove bare CTransaction `.rehash()`/`.calc_sha256()` calls
REVERT: a2724e3ea392 test: remove txid caching in CTransaction class
REVERT: fa0b766f43df test: Remove intermittent and presumed fixed tsan race suppressions
REVERT: fa4b659dcd03 test: Explain how to reproduce zmq:: upstream race
REVERT: d4e212e8a69e rest: fetch spent transaction outputs by blockhash
REVERT: 331a25cb1663 test: indexes, avoid creating threads when sync runs synchronously
REVERT: 95969bc58ae0 test: added fuzz coverage to consensus/merkle.cpp
REVERT: f6b782f3aad4 doc: Improve m_best_header documentation
REVERT: ee673b9aa015 validation: remove m_failed_blocks
REVERT: ed764ea2b4ed validation: Add more checks to CheckBlockIndex()
REVERT: 9a70883002e1 validation: in invalidateblock, calculate m_best_header right away
REVERT: 8e39f2d20d09 validation: in invalidateblock, mark children as invalid right away
REVERT: 4c29326183ba validation: cache all headers with enough PoW in invalidateblock
REVERT: 15fa5b5a908d validation: call InvalidBlockFound also from AcceptBlock
REVERT: 8713e8060d50 depends: fix SHA256SUM command on OpenBSD (use GNU mode output)
REVERT: 2d938720bd67 depends: add patch to fix capnp build on OpenBSD
REVERT: 0a4ee93529d6 wallet: use PSBTError::EXTERNAL_SIGNER_NOT_FOUND
REVERT: 8ba2f9b7c8a6 refactor: use util::Result for GetExternalSigner()
REVERT: 130a92298077 wallet, interfaces: Use BERKELEY_RO in isEncrypted
REVERT: fa9ca13f35be refactor: Sort includes of touched source files
REVERT: facb152697b8 scripted-diff: Bump copyright headers after include changes
REVERT: fae71d30f722 clang-tidy: Apply modernize-deprecated-headers
REVERT: 0def84d407fa test: Verify parent_desc in RPCs
REVERT: b184f5c87c41 test: update BIP340 test vectors and implementation (variable-length messages)
REVERT: b78990734621 wallet: migration, avoid creating spendable wallet from a watch-only legacy wallet
REVERT: e86d71b749c0 wallet: refactor, dedup wallet re-loading code
REVERT: 1de423e0a08b wallet: introduce method to return all db created files
REVERT: d04f6a97ba9a refactor: remove sqlite dir path back-and-forth conversion
REVERT: 2554cee988fb test: Enable default wallet for wallet_descriptor.py
REVERT: 3fc9d9f241a4 wallet, rpc: Push the normalized parent descriptor
REVERT: 47237cd19380 wallet, rpc: Output wallet flags in getwalletinfo
REVERT: bc2a26b29623 wallet: Add GetWalletFlags
REVERT: 69f588a99a7a wallet: Set upgraded descriptor cache flag for newly created wallets
REVERT: 9f8e7b0b3b78 node: cap -dbcache to 1GiB on 32-bit architectures
REVERT: 2c43b6adebbf init: cap -maxmempool to 500 MB on 32-bit systems
REVERT: aeea5f0ec112 thread-safety: add missing lock annotation
REVERT: 832c57a53410 thread-safety: modernize thread safety macros
REVERT: 61ea5f348da7 fuzz: doc: add info about `afl-system-config` for macOS

git-subtree-dir: libbitcoinkernel-sys/bitcoin
git-subtree-split: cdc7c69bf6b1ec52eb1fddd68f81aa93af60777c
saikiran57 pushed a commit to saikiran57/bitcoin that referenced this pull request Jul 28, 2025
Co-authored-by: Jan B <608446+janb84@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Apparently CJDNS network does not work with Tor on mainnet.