Commit Graph

39848 Commits

Author SHA1 Message Date
fanquake
3e691258d8
Merge bitcoin/bitcoin#28349: build: Require C++20 compiler
fa6e50d6c7 fuzz: Use C++20 starts_with in rpc.cpp (MarcoFalke)
faa48388bc Revert "tracepoints: Disables `-Wgnu-zero-variadic-macro-arguments` to compile without warnings" (MarcoFalke)
fae3b77a87 refactor: Drop unused _Pragma to ignore -Wgnu-zero-variadic-macro-arguments (MarcoFalke)
fa02fc0a86 refactor: modernize-use-default-member-init for bit-fields (C++20) (MarcoFalke)
fa67f096bd build: Require C++20 compiler (MarcoFalke)

Pull request description:

  C++20 allows to write safer code, because it allows to enforce more stuff at compile time (`constinit`, `conteval`, `constexpr`, `std::span`, ...).

  Also, it allows to write less verbose and easier to understand code (C++ 20 Concepts).

  See https://github.com/bitcoin/bitcoin/issues/23363 and https://en.cppreference.com/w/cpp/compiler_support#cpp20

  With g++-10 (https://github.com/bitcoin/bitcoin/pull/28348) and clang-13 (https://github.com/bitcoin/bitcoin/pull/28210), there is broad support for almost all features of C++20.

  It should be fine to require a C++20 compiler for Bitcoin Core 27.0 in 2024 (next year), not the soon upcoming 26.0 next month.

  This pull request includes three small cleanups to make use of C++20 features. If any issues are detected before or after merge, this should be easy to revert. If no issues arise, it should be fine to make use of more involved C++20 features later on.

ACKs for top commit:
  fanquake:
    ACK fa6e50d6c7

Tree-SHA512: 244d79bfb0b750a4bdd713f40573b9ca33816fb84b6c84a58f027b9d7d4bb0cc4f18642959e4cf3d094808a69e5b8a327ca8521d7c0c08af27dacb5da3e78e71
2023-12-08 12:10:16 +00:00
fanquake
03042fb6bb
Merge bitcoin/bitcoin#29006: test: fix v2 transport intermittent test failure (#29002)
00e0658e77 test: fix v2 transport intermittent test failure (#29002) (Sebastian Falbesoner)

Pull request description:

  This PR improves the following fragile construct for detection of a new connection to the node under test in `p2p_v2_transport.py`:
  6d5790956f/test/functional/p2p_v2_transport.py (L154-L156)
  Only relying on the number of peers for that suffers from race conditions, as unrelated previous peers could disconnect at anytime in-between. In the test run in #29002, the following happens:

  - `getpeerinfo()` is called the first time -> assigned to `num_peers`
  - **previous peer disconnects**, the node's peer count is now `num_peers - 1` (in most test runs, this happens before the first getpeerinfo call)
  - new peer connects, the node's peer count is now `num_peers`
  - the condition that the node's peer count is `num_peers + 1` is never true, test fails

  Use the more robust approach of watching for an increased highest peer id instead (again using the `getpeerinfo` RPC call), with a newly introduced context manager method `TestNode.wait_for_new_peer()`. Note that for the opposite case of a disconnect, no new method is introduced; this is currently used only once in the test and is also simpler.

  Still happy to take suggestions for alternative solutions.

  Fixes #29002.

ACKs for top commit:
  kevkevinpal:
    Concept ACK [00e0658](00e0658e77)
  maflcko:
    Ok, lgtm ACK 00e0658e77
  stratospher:
    ACK 00e0658.

Tree-SHA512: 0118b87f54ea5e6e080ff44f29d6af6674c757a588534b3add040da435f4359e71bf85bc0a5eb7170f99cc9956e1a03c35cce653d642d31eed41bbed1f94f44f
2023-12-08 11:33:27 +00:00
fanquake
1f352cf2fd
Merge bitcoin/bitcoin#28485: test: Extends MEMPOOL msg functional test
97c0dfa894 test: Extends MEMPOOL msg functional test (Sergi Delgado Segura)

Pull request description:

  Currently, p2p_filter.py::test_msg_mempool is not testing much. This extends the tests so the interaction between sending `MEMPOOL` messages with a filter that does not include all transactions in the mempool reacts, plus how it interacts with `INV` messages, especially after the changes introduced by #27675

ACKs for top commit:
  instagibbs:
    ACK 97c0dfa894
  theStack:
    re-ACK 97c0dfa894

Tree-SHA512: 746fdc867630f40509e6341f484a238dd855ae6d1be5eca121974491e4ca272dee88af4b90dda55ea9a5a19cbff198fa91ffa0c5bf1ddf0232b2c1b215b05b9a
2023-12-08 11:28:59 +00:00
fanquake
a7f4f1a09c
Merge bitcoin/bitcoin#28894: wallet: batch all individual spkms setup db writes in a single db txn
f053024273 wallet: batch external signer descriptor import (Sjors Provoost)
1f65241b73 wallet: descriptors setup, batch db operations (furszy)
3eb769f150 wallet: batch legacy spkm TopUp (furszy)
075aa44ceb wallet: batch descriptor spkm TopUp (furszy)
bb4554c81e bench: add benchmark for wallet creation procedure (furszy)

Pull request description:

  Work decoupled from #28574.

  Instead of performing multiple single write operations per spkm
  setup call, this PR batches them all within a single atomic db txn.

  Speeding up the process and preventing the wallet from entering
  an inconsistent state if any of the intermediate transactions fail
  (which shouldn't happen but.. if it does, it is better to not store
  any spkm rather than storing them partially).

  To compare the changes, added benchmark in the first commit.

ACKs for top commit:
  Sjors:
    re-utACK f053024273
  achow101:
    ACK f053024273
  BrandonOdiwuor:
    ACK f053024273
  theStack:
    Code-review ACK f053024273

Tree-SHA512: aead8548473e17d4d53e8e7039bbaf5e8bf2fe83f33b33f81cdedefe8a31b7003ceb6d5379b1bad1ca2692e909492009a21284ec8338eede078df3d19046ab5a
2023-12-08 11:25:01 +00:00
fanquake
14d1732602
Merge bitcoin/bitcoin#29025: doc: Add link to needs-release-notes label
fa88953d6f doc: Add link to needs-release-notes label (MarcoFalke)

Pull request description:

  This makes it easier to spot and not forget. C.f. https://github.com/bitcoin/bitcoin/pull/28597#issuecomment-1845299642

ACKs for top commit:
  kristapsk:
    ACK fa88953d6f
  TheCharlatan:
    ACK fa88953d6f

Tree-SHA512: 28336cde36d62622d1b6627497291cbd4644bf1e4e6f17dc9cde39f254e7094dd02484da754e45558e59facb20941dd0c049ce7b33dcc62bfec6c26c16516cdf
2023-12-08 10:25:33 +00:00
brunoerg
e1281f1bbd wallet: fix key parsing check for miniscript expressions in ParseScript 2023-12-08 06:54:00 -03:00
furszy
0c5755761c
wallet: create tx, log resulting coin selection info
Useful for understanding what is going on internally
when the software is running. Debug issues, and provide
more accurate feedback to users.
2023-12-07 21:47:20 -03:00
Murch
5cea25ba79
wallet: skip BnB when SFFO is active
Co-authored-by: furszy <matiasfurszyfer@protonmail.com>
2023-12-07 21:47:20 -03:00
Andrew Chow
1d9da8da30
Merge bitcoin/bitcoin#29023: doc: add historical release notes for 26.0
ca5937553b doc: Missing additions to 26.0 release notes (fanquake)
7d4e47d184 doc: add historical release notes for 26.0 (fanquake)
8df4aaabbe doc: add minimum required Linux Kernel to release-notes (fanquake)

Pull request description:

  Bins are now up, used for GH release etc.

ACKs for top commit:
  willcl-ark:
    ACK ca5937553b
  achow101:
    ACK ca5937553b

Tree-SHA512: 1fefd857092412231215dc72b5d79b2a7828a8c74aa6cb19a7dbc3c3b77feace3ce7fa89d517b4ce25ea41ed84e7ca4ba840d0923b97bf8f6b40b27ad96affa9
2023-12-07 14:52:11 -05:00
fanquake
fcdb39d3ee
Merge bitcoin/bitcoin#28924: refactor: Remove unused and fragile string interface from arith_uint256
fa63f16018 test: Add uint256 string parse tests (MarcoFalke)
facf629ce8 refactor: Remove unused and fragile string interface from arith_uint256 (MarcoFalke)

Pull request description:

  The string interface (`base_uint(const std::string&)`, as well as `base_uint::SetHex`) is problematic for many reasons:

  * It is unused (except in test-only code).
  * It is redundant with the `uint256` string interface: `std::string -> uint256 -> UintToArith256`.
  * It is brittle, because it inherits the brittle `uint256` string interface, which is brittle due to the use of `c_str()` (embedded null will be treated as end-of string), etc ...

  Instead of fixing the interface, remove it since it is unused and redundant with `UintToArith256`.

ACKs for top commit:
  ajtowns:
    ACK fa63f16018
  TheCharlatan:
    ACK fa63f16018

Tree-SHA512: a95d5b938ffd0473361336bbf6be093d01265a626c50be1345ce2c5e582c0f3f73eb11af5fd1884019f59d7ba27e670ecffdb41d2c624ffb9aa63bd52b780e62
2023-12-07 16:02:05 +00:00
fanquake
ca5937553b
doc: Missing additions to 26.0 release notes 2023-12-07 15:35:44 +00:00
MarcoFalke
fa88953d6f
doc: Add link to needs-release-notes label 2023-12-07 15:56:39 +01:00
fanquake
7d4e47d184
doc: add historical release notes for 26.0 2023-12-07 13:53:42 +00:00
fanquake
8df4aaabbe
doc: add minimum required Linux Kernel to release-notes 2023-12-07 13:53:41 +00:00
MarcoFalke
fa5989d514
refactor: rpc: Pass CBlockIndex by reference instead of pointer
All functions assume that the pointer is never null, so pass by
reference, to avoid accidental segfaults at runtime, or at least make
them more obvious.

Also, remove unused c-style casts in touched lines.

Also, add CHECK_NONFATAL checks, to turn segfault crashes into an
recoverable runtime error with debug information.
2023-12-07 12:05:21 +01:00
MarcoFalke
fa604eb6cf
refactor: Use reference instead of pointer in IsBlockPruned
This makes it harder to pass nullptr and cause issues such as
dde7ac5c70
2023-12-07 12:02:54 +01:00
MarcoFalke
fa6e50d6c7
fuzz: Use C++20 starts_with in rpc.cpp 2023-12-07 11:06:16 +01:00
MarcoFalke
faa48388bc
Revert "tracepoints: Disables -Wgnu-zero-variadic-macro-arguments to compile without warnings"
This reverts commit 5197660e94.
2023-12-07 11:06:13 +01:00
MarcoFalke
fae3b77a87
refactor: Drop unused _Pragma to ignore -Wgnu-zero-variadic-macro-arguments 2023-12-07 11:06:05 +01:00
MarcoFalke
fa02fc0a86
refactor: modernize-use-default-member-init for bit-fields (C++20) 2023-12-07 11:06:01 +01:00
MarcoFalke
fa67f096bd
build: Require C++20 compiler 2023-12-07 11:05:33 +01:00
fanquake
dce1dfbc47
Merge bitcoin/bitcoin#28622: build: use macOS 14 SDK (Xcode 15.0)
8ea45e626e build: use macOS 14 SDK (Xcode 15.0) (fanquake)
51c97ffb69 build: patch boost process for macOS 14 SDK (fanquake)
423949a13b depends: add -platform_version to macOS build flags (fanquake)

Pull request description:

  This fixes: https://github.com/bitcoin/bitcoin/pull/28349#issuecomment-1748515277 (cross-compiling with C++20 for macOS). See https://developer.apple.com/xcode/cpp/#c++20 for C++20 support in Apples libc++, some features landed with Xcode 14.3, although many more landed with Xcode 15.0.

ACKs for top commit:
  hebasto:
    ACK 8ea45e626e.
  TheCharlatan:
    ACK 8ea45e626e

Tree-SHA512: 274ce2c9b9f8e4d755c07b8d0d4897a7f92708ac64e6afb7a3f75bdb485e863fc7f40badf3a88b129ce36f6cca72f768dc2ed7fba2bdf0bb6da2bf0c8fedee10
2023-12-07 10:00:47 +00:00
Sergi Delgado Segura
97c0dfa894 test: Extends MEMPOOL msg functional test
Currently, p2p_filter.py::test_msg_mempool is not testing much.
This extends the tests so the interaction between sending MEMPOOL messages with
a filter that does not include all transactions in the mempool reacts, plus how
it interacts with INV messages
2023-12-06 13:21:58 -05:00
fanquake
2e8ec6b338
Merge bitcoin/bitcoin#29012: fuzz: Avoid timeout in bitdeque
fad1903b8a fuzz: Avoid timeout in bitdeque (MarcoFalke)

Pull request description:

  Avoid timeouts such as https://github.com/bitcoin/bitcoin/issues/28812#issuecomment-1842914664

  This is done by:

  * Limiting the maximum number of iterations if the maximum size of the container is "large" (see the magic numbers in the code).
  * Check the equality only once. This should be fine, because if a crash were to happen in the equality check, but the crash doesn't happen if further iterations were run, the fuzz engine should eventually find the crash by truncating the fuzz input.

ACKs for top commit:
  sipa:
    utACK fad1903b8a
  dergoegge:
    utACK fad1903b8a
  brunoerg:
    crACK fad1903b8a

Tree-SHA512: d3d83acb3e736b8fcaf5d17ce225ac82a9f9a2efea048512d2fed594ba6c76c25bae72eb0fab3276d4db37baec0752e5367cecfb18161301b921fed09693045e
2023-12-06 17:16:17 +00:00
Andrew Chow
c46cc8d3c1
Merge bitcoin/bitcoin#27581: net: Continuous ASMap health check
3ea54e5db7 net: Add continuous ASMap health check logging (Fabian Jahr)
28d7e55dff test: Add tests for unfiltered GetAddr usage (Fabian Jahr)
b8843d37ae fuzz: Let fuzzers use filter options in GetAddr/GetAddresses (Fabian Jahr)
e16f420547 net: Optionally include terrible addresses in GetAddr results (Fabian Jahr)

Pull request description:

  There are certain statistics we can collect by running all our known clearnet addresses against the ASMap file. This could show issues with a maliciously manipulated file or with an old file that has decayed with time.

  This is just a proof of concept for now. My idea currently is to run the analysis once per day and print the results to logs if an ASMap file is used.

ACKs for top commit:
  achow101:
    ACK 3ea54e5db7
  mzumsande:
    ACK 3ea54e5db7
  brunoerg:
    crACK 3ea54e5db7

Tree-SHA512: 777acbfac43cc43ce4a0a3612434e4ddbc65f59ae8ffc9e24f21de09011bccb297f0599cbaa82bcf40ef68e5af582c4e98556379db7ceff7d9f97574a1cf8e09
2023-12-06 11:22:42 -05:00
dergoegge
9f265d8825 fuzz: Detect deadlocks in process_message 2023-12-06 16:04:21 +00:00
Andrew Chow
25d23e6b18
Merge bitcoin/bitcoin#28980: rpc: encryptwallet help, mention HD seed rotation and backup requirement
ca09415e63 rpc, doc: encryptwallet, mention HD seed rotation and new backup (furszy)

Pull request description:

  Small and simple PR, updating the `encryptwallet` help message.

  Better to notify users about the HD seed rotation and the new
  backup requirement before executing the encryption process.
  Ensuring they are prepared to update previous backups and
  securely safeguard the updated wallet file.

ACKs for top commit:
  S3RK:
    ACK ca09415e63
  achow101:
    ACK ca09415e63

Tree-SHA512: f0ee65f5cea66450566e3a85e066d4c06b3293dd0e0b2ed5fafdb7fb11da0a2cd94407299a3c57a0706c2ed782f8eabb73443e85d8099a62a3fb10a02636ab46
2023-12-06 10:44:18 -05:00
Andrew Chow
9693cfa0a4
Merge bitcoin/bitcoin#28989: test: Fix test by checking the actual exception instance
55e3dc3e03 test: Fix test by checking the actual exception instance (Hennadii Stepanov)

Pull request description:

  The `system_tests/run_command` test is broken because it passes even with the diff as follows:
  ```diff
  --- a/src/test/system_tests.cpp
  +++ b/src/test/system_tests.cpp
  @@ -90,7 +90,7 @@ BOOST_AUTO_TEST_CASE(run_command)
           });
       }
       {
  -        BOOST_REQUIRE_THROW(RunCommandParseJSON("echo \"{\""), std::runtime_error); // Unable to parse JSON
  +        BOOST_REQUIRE_THROW(RunCommandParseJSON("invalid_command \"{\""), std::runtime_error); // Unable to parse JSON
       }
       // Test std::in, except for Windows
   #ifndef WIN32
  ```

  The reason of such fragility is that the [`BOOST_REQUIRE_THROW`](https://www.boost.org/doc/libs/1_83_0/libs/test/doc/html/boost_test/utf_reference/testing_tool_ref/assertion_boost_level_throw.html) macro passes even if the command raises an exception in the underlying subprocess implementation, which might have a type derived from `std::runtime_error`.

ACKs for top commit:
  maflcko:
    lgtm ACK 55e3dc3e03
  achow101:
    ACK 55e3dc3e03
  furszy:
    Non-Windows code ACK 55e3dc3e
  pablomartin4btc:
    ACK 55e3dc3e03

Tree-SHA512: 32f49421bdcc94744c81e82dc10cfa02e3f8ed111974edf1c2a47bdaeb56d7baec1bede67301cc89464fba613029ecb131dedc6bc5948777ab52f0f12df8bfe9
2023-12-06 10:33:29 -05:00
MarcoFalke
fad1903b8a
fuzz: Avoid timeout in bitdeque 2023-12-06 15:44:38 +01:00
fanquake
dde7ac5c70
Merge bitcoin/bitcoin#29003: rpc: fix getrawtransaction segfault
9075a44646 test: add regression test for the getrawtransaction segfault (Martin Zumsande)
494a926d05 rpc: fix getrawtransaction segfault (Martin Zumsande)

Pull request description:

  The crash, reported in #28986, happens when calling `getrawtransaction` for any mempool transaction with `verbosity=2`, while pruning, because the rpc calls `IsBlockPruned(const CBlockIndex* pblockindex)`, which dereferences `pblockindex` without a check.

  For ease of backporting this PR fixes it just locally in `rpc/rawtransaction.cpp` by moving the check for`!blockindex` up so that `IsBlockPruned()` will not be called with a `nullptr`. We might also want to change `IsBlockPruned()` so it doesn't crash when called with a `nullptr`, but I didn't do that here.

  Fixes #28986

ACKs for top commit:
  maflcko:
    lgtm test-was-added ACK 9075a44646
  theStack:
    Tested ACK 9075a44646

Tree-SHA512: 0f7ed52579487196c206e16b45582b64e4b02ecf2a2eb0a31d2f3b52415bc9c64278cb94259314ef14ab7fb393c6195f79b3027d6de471d67614e51474498b11
2023-12-06 14:43:45 +00:00
fanquake
d854914043
Merge bitcoin/bitcoin#28992: ci: Use Ubuntu 24.04 Noble for asan,tsan,tidy,fuzz
fad2392c58 ci: Use Ubuntu 24.04 Noble for asan (MarcoFalke)
fa83b65ef8 ci: Use Ubuntu 24.04 Noble for tsan,tidy,fuzz (MarcoFalke)

Pull request description:

  23.10 will be EOL mid next year, so a bump is needed before then for the `master` branch (and possibly the `26.x` branch).

  Doing the bump now is fine, because the clang version is pinned to 17 inside the CI tasks. So a default clang version change in the system image should not affect the tasks. Once clang-18 is available and the default in April next year (https://discourse.ubuntu.com/t/noble-numbat-release-schedule/35649#planned-and-potentially-disruptive-archive-wide-activities-2), the pinned version could be bumped (for CI tasks that require a pin, like tidy), or the pin can be removed (for CI tasks that usually do not require a pin, like fuzz or the sanitizers).

ACKs for top commit:
  fanquake:
    ACK fad2392c58

Tree-SHA512: c40aede4e2281a5d539d5f65d2c08a57bf92e4a00b4f45a4260b57b7443a63d1a0603115da4a3bbd100ac5f6ade3f2eda0916e4b565573741162a76294ec0ac5
2023-12-06 14:13:42 +00:00
ismaelsadeeq
562664d263 test: wait for fee estimator to catch up before estimating fees 2023-12-06 15:01:54 +01:00
MarcoFalke
fae1e7e012
fuzz: p2p: Detect peer deadlocks 2023-12-06 13:11:38 +01:00
Sebastian Falbesoner
00e0658e77 test: fix v2 transport intermittent test failure (#29002)
Only relying on the number of peers for detecting a new connection
suffers from race conditions, as unrelated previous peers could
disconnect at anytime in-between. Use the more robust approach of
watching for an increased highest peer id instead (again using the
`getpeerinfo` RPC call), with a newly introduced context manager
method `TestNode.wait_for_new_peer()`.

Fixes #29009.
2023-12-06 00:28:28 +01:00
Martin Zumsande
9075a44646 test: add regression test for the getrawtransaction segfault
This fails on master without the previous commit.
2023-12-05 17:12:56 -05:00
furszy
1ce45baed7
rpc: getwalletinfo, return wallet 'birthtime'
And add coverage for it
2023-12-05 18:55:35 -03:00
furszy
83c66444d0
test: coverage for wallet birth time interaction with -reindex
Verifying the wallet updates the birth time accordingly when it
detects a transaction with a time older than the oldest descriptor
timestamp.
This could happen when the user blindly imports a descriptor with
'timestamp=now'.
2023-12-05 18:55:35 -03:00
furszy
6f497377aa
wallet: fix legacy spkm default birth time
To avoid scanning blocks, as assumed by a wallet with no
generated keys or imported scripts, the default value for
the birth time needs to be set to the maximum int64_t value.

Once the first key is generated or the first script is imported,
the legacy SPKM will update the birth time automatically.
2023-12-05 18:55:35 -03:00
furszy
ca09415e63
rpc, doc: encryptwallet, mention HD seed rotation and new backup
Better to notify users about the HD seed rotation and the new
backup requirement before executing the encryption process.
Ensuring they are prepared to update previous backups and
securely safeguard the updated wallet file.

Co-authored-by: jonatack <jon@atack.com>
2023-12-05 18:46:58 -03:00
Andrew Chow
406b71abcb wallet: Migrate entire address book entries 2023-12-05 13:35:55 -05:00
Martin Zumsande
494a926d05 rpc: fix getrawtransaction segfault
The crash would happen when querying a mempool transaction with verbosity=2, while pruning.
2023-12-05 13:11:02 -05:00
MarcoFalke
fa8adbe7c1
build: Enable -Wunreachable-code 2023-12-05 15:36:08 +01:00
fanquake
6d5790956f
Merge bitcoin/bitcoin#28856: depends: Build the native_capnp and capnp packages with CMake
11d797e3a0 depends: Build `native_capnp` package with CMake (Hennadii Stepanov)
90389c95e9 depends: Build `capnp` package with CMake (Hennadii Stepanov)

Pull request description:

  The first commit fixes two bugs when cross-compiling the `capnp` package on the master branch @ 160d23677a:
  - for `x86_64-w64-mingw32` (see https://github.com/bitcoin/bitcoin/pull/28735#issuecomment-1790406668):
  ```
  libtool: link: x86_64-w64-mingw32-g++-posix -shared -nostdlib /usr/lib/gcc/x86_64-w64-mingw32/12-posix/../../../../x86_64-w64-mingw32/lib/dllcrt2.o /usr/lib/gcc/x86_64-w64-mingw32/12-posix/crtbegin.o  src/kj/.libs/cidr.o src/kj/.libs/common.o src/kj/.libs/units.o src/kj/.libs/memory.o src/kj/.libs/refcount.o src/kj/.libs/array.o src/kj/.libs/list.o src/kj/.libs/string.o src/kj/.libs/string-tree.o src/kj/.libs/source-location.o src/kj/.libs/hash.o src/kj/.libs/table.o src/kj/.libs/encoding.o src/kj/.libs/exception.o src/kj/.libs/debug.o src/kj/.libs/arena.o src/kj/.libs/io.o src/kj/.libs/mutex.o src/kj/.libs/thread.o src/kj/.libs/time.o src/kj/.libs/filesystem.o src/kj/.libs/filesystem-disk-unix.o src/kj/.libs/filesystem-disk-win32.o src/kj/.libs/test-helpers.o src/kj/.libs/main.o src/kj/parse/.libs/char.o   -L/home/hebasto/git/bitcoin/depends/x86_64-w64-mingw32/lib -L/usr/lib/gcc/x86_64-w64-mingw32/12-posix -L/usr/lib/gcc/x86_64-w64-mingw32/12-posix/../../../../x86_64-w64-mingw32/lib -lstdc++ -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -lkernel32 -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -lkernel32 /usr/lib/gcc/x86_64-w64-mingw32/12-posix/crtend.o  -mthreads -O2 -mthreads   -mthreads -o .libs/libkj-1-0-1.dll -Wl,--enable-auto-image-base -Xlinker --out-implib -Xlinker .libs/libkj.dll.a
  /usr/bin/x86_64-w64-mingw32-ld: src/kj/.libs/cidr.o:cidr.c++:(.text+0x1dc): undefined reference to `__imp_inet_ntop'
  /usr/bin/x86_64-w64-mingw32-ld: src/kj/.libs/cidr.o:cidr.c++:(.text+0x44b): undefined reference to `__imp_inet_pton'
  collect2: error: ld returned 1 exit status
  ```
  - for `arm64-apple-darwin`:
  ```
  checking build system type... x86_64-pc-linux-gnu
  checking host system type... Invalid configuration `arm64-apple-darwin': machine `arm64-apple' not recognized
  configure: error: /bin/bash build-aux/config.sub arm64-apple-darwin failed
  ```

  The second commit applies the same changes for the `native_capnp` package for [consistency](https://github.com/bitcoin/bitcoin/pull/28856#issuecomment-1807936546).

ACKs for top commit:
  ryanofsky:
    Code review ACK 11d797e3a0. Since last review arm64-apple-darwin platform is now mentioned in the commit message, and the change to `depends/packages/libmultiprocess.mk` in d1604d4b1d1ee8df279a1776303e167cc3d06193 which was unrelated (but probably still a good optimization) was reverted.

Tree-SHA512: c636e53073ce6fcda9724723bc59f3990fa9629a3b2f73d93dbc102a5a1badfbe8f4c5fef841f03588ebcad5cd4883f3ce32b128afcd75f6bc21eb801796a586
2023-12-05 13:28:08 +00:00
fanquake
b3ab0c3819
Merge bitcoin/bitcoin#28997: fuzz: txorphan check wtxids using GenTxid::Wtxid not GenTxid::Txid
38816ff64e fuzz: txorphan check wtxids using GenTxid::Wtxid not GenTxid::Txid (Greg Sanders)

Pull request description:

  Fixes the bugs in the fuzz test with no more changes as an alternative to https://github.com/bitcoin/bitcoin/pull/28658

ACKs for top commit:
  naumenkogs:
    ACK 38816ff64e
  dergoegge:
    ACK 38816ff64e

Tree-SHA512: 5e46a83f2b2a2ac0672a63eb6200b019e01089ab1aa80c4ab869b6fcf27ccf2e84a064e96397f1a1869ccfa43b0c9638cbae681a27c4ca3c96ac71f41262601e
2023-12-05 10:56:07 +00:00
fanquake
8ea45e626e
build: use macOS 14 SDK (Xcode 15.0) 2023-12-05 09:55:01 +00:00
fanquake
51c97ffb69
build: patch boost process for macOS 14 SDK 2023-12-05 09:55:01 +00:00
fanquake
423949a13b
depends: add -platform_version to macOS build flags
```bash
-platform_version platform min_version sdk_version
    This is set to indicate the platform, oldest supported version
    of that platform that output is to be used on, and the SDK that
    the output was built against.
```
2023-12-05 09:35:32 +00:00
Ryan Ofsky
1c8893bd1c
Merge bitcoin/bitcoin#28852: script, assumeutxo: Enhance validations in utxo_snapshot.sh
11b7269d83 script: Enhance validations in utxo_snapshot.sh (pablomartin4btc)

Pull request description:

  This PR resolves #27841 and some more:

  - Ensure that the snapshot height is higher than the pruned block height when the node is pruned (Suggested by @Sjors [here](https://github.com/bitcoin/bitcoin/pull/28553#issuecomment-1804941396)).

  - Validate the correctness of the file path and check if the file already exists (@hazeycode's [#27845](https://github.com/bitcoin/bitcoin/pull/27845)).

  - Make network activity disablement optional for the user (Suggested by @Sjors [here](https://github.com/bitcoin/bitcoin/pull/16899#discussion_r342735815) and [here](https://github.com/bitcoin/bitcoin/pull/16899#issuecomment-536520911)).

  - Ensure the `reconsiderblock` command is triggered on exit (@hazeycode's same PR as above), even in the case of user interruption (Ctrl-C).

  In order to perform some testing please follow the instructions in the description of previous @hazeycode's PR #27845.

ACKs for top commit:
  Sjors:
    tACK 11b7269d83
  ryanofsky:
    Code review ACK 11b7269d83

Tree-SHA512: 2b699894c6f732ad5104f5a2bcf5dc86ed31edcc9d664690cab55b94a8ab00e2ca5bde901ee1d63acddca7ea80ad1734d8cfe78f9c02f8470f264fe93a2af759
2023-12-04 17:07:14 -05:00
Kashif Smith
c2b836b119 bitcoin-tx: Make replaceable value optional 2023-12-04 16:14:00 -05:00
Greg Sanders
38816ff64e fuzz: txorphan check wtxids using GenTxid::Wtxid not GenTxid::Txid 2023-12-04 14:42:13 -05:00