Skip to content

Commit 4912c0c

Browse files
authored
Merge branch 'bitcoin:master' into master
2 parents 7cabf2b + cd8089c commit 4912c0c

File tree

276 files changed

+22899
-9412
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

276 files changed

+22899
-9412
lines changed

.github/workflows/ci.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ jobs:
171171
generate-options: '-DBUILD_GUI=ON -DWITH_BDB=ON -DWITH_ZMQ=ON -DBUILD_BENCH=ON -DWERROR=ON'
172172
job-name: 'Win64 native, VS 2022'
173173
- job-type: fuzz
174-
generate-options: '-DVCPKG_MANIFEST_NO_DEFAULT_FEATURES=ON -DVCPKG_MANIFEST_FEATURES="sqlite" -DBUILD_GUI=OFF -DBUILD_FOR_FUZZING=ON -DWERROR=ON'
174+
generate-options: '-DVCPKG_MANIFEST_NO_DEFAULT_FEATURES=ON -DVCPKG_MANIFEST_FEATURES="wallet" -DBUILD_GUI=OFF -DBUILD_FOR_FUZZING=ON -DWERROR=ON'
175175
job-name: 'Win64 native fuzz, VS 2022'
176176

177177
steps:
@@ -238,10 +238,10 @@ jobs:
238238
if: matrix.job-type == 'standard'
239239
working-directory: build
240240
env:
241-
BITCOIND: '${{ github.workspace }}\build\src\Release\bitcoind.exe'
242-
BITCOINCLI: '${{ github.workspace }}\build\src\Release\bitcoin-cli.exe'
243-
BITCOINUTIL: '${{ github.workspace }}\build\src\Release\bitcoin-util.exe'
244-
BITCOINWALLET: '${{ github.workspace }}\build\src\Release\bitcoin-wallet.exe'
241+
BITCOIND: '${{ github.workspace }}\build\bin\Release\bitcoind.exe'
242+
BITCOINCLI: '${{ github.workspace }}\build\bin\Release\bitcoin-cli.exe'
243+
BITCOINUTIL: '${{ github.workspace }}\build\bin\Release\bitcoin-util.exe'
244+
BITCOINWALLET: '${{ github.workspace }}\build\bin\Release\bitcoin-wallet.exe'
245245
TEST_RUNNER_EXTRA: ${{ github.event_name != 'pull_request' && '--extended' || '' }}
246246
shell: cmd
247247
run: py -3 test\functional\test_runner.py --jobs %NUMBER_OF_PROCESSORS% --ci --quiet --tmpdirprefix=%RUNNER_TEMP% --combinedlogslen=99999999 --timeout-factor=%TEST_RUNNER_TIMEOUT_FACTOR% %TEST_RUNNER_EXTRA%
@@ -258,7 +258,7 @@ jobs:
258258
if: matrix.job-type == 'fuzz'
259259
working-directory: build
260260
env:
261-
BITCOINFUZZ: '${{ github.workspace }}\build\src\test\fuzz\Release\fuzz.exe'
261+
BITCOINFUZZ: '${{ github.workspace }}\build\bin\Release\fuzz.exe'
262262
shell: cmd
263263
run: |
264264
py -3 test\fuzz\test_runner.py --par %NUMBER_OF_PROCESSORS% --loglevel DEBUG %RUNNER_TEMP%\qa-assets\fuzz_corpora

.gitignore

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
# Previous releases
1616
/releases
1717

18-
#build tests
19-
test/lint/test_runner/target/
18+
# cargo default target dir
19+
target/
2020

2121
/guix-build-*
2222

CMakeLists.txt

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ endif()
2323
# Project / Package metadata
2424
#=============================
2525
set(CLIENT_NAME "Bitcoin Core")
26-
set(CLIENT_VERSION_MAJOR 28)
26+
set(CLIENT_VERSION_MAJOR 29)
2727
set(CLIENT_VERSION_MINOR 99)
2828
set(CLIENT_VERSION_BUILD 0)
2929
set(CLIENT_VERSION_RC 0)
@@ -102,15 +102,13 @@ option(BUILD_UTIL_CHAINSTATE "Build experimental bitcoin-chainstate executable."
102102
option(BUILD_KERNEL_LIB "Build experimental bitcoinkernel library." ${BUILD_UTIL_CHAINSTATE})
103103

104104
option(ENABLE_WALLET "Enable wallet." ON)
105-
option(WITH_SQLITE "Enable SQLite wallet support." ${ENABLE_WALLET})
106-
if(WITH_SQLITE)
105+
if(ENABLE_WALLET)
107106
if(VCPKG_TARGET_TRIPLET)
108107
# Use of the `unofficial::` namespace is a vcpkg package manager convention.
109108
find_package(unofficial-sqlite3 CONFIG REQUIRED)
110109
else()
111110
find_package(SQLite3 3.7.17 REQUIRED)
112111
endif()
113-
set(USE_SQLITE ON)
114112
endif()
115113
option(WITH_BDB "Enable Berkeley DB (BDB) wallet support." OFF)
116114
cmake_dependent_option(WARN_INCOMPATIBLE_BDB "Warn when using a Berkeley DB (BDB) version other than 4.8." ON "WITH_BDB" OFF)
@@ -615,9 +613,6 @@ endif()
615613
add_subdirectory(test)
616614
add_subdirectory(doc)
617615

618-
include(cmake/crc32c.cmake)
619-
include(cmake/leveldb.cmake)
620-
include(cmake/minisketch.cmake)
621616
add_subdirectory(src)
622617

623618
include(cmake/tests.cmake)
@@ -655,7 +650,6 @@ message(" libbitcoinkernel (experimental) ..... ${BUILD_KERNEL_LIB}")
655650
message("Optional features:")
656651
message(" wallet support ...................... ${ENABLE_WALLET}")
657652
if(ENABLE_WALLET)
658-
message(" - descriptor wallets (SQLite) ...... ${WITH_SQLITE}")
659653
message(" - legacy wallets (Berkeley DB) ..... ${WITH_BDB}")
660654
endif()
661655
message(" external signer ..................... ${ENABLE_EXTERNAL_SIGNER}")

CMakePresets.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,6 @@
8383
"WITH_BDB": "ON",
8484
"WITH_MULTIPROCESS": "ON",
8585
"WITH_QRENCODE": "ON",
86-
"WITH_SQLITE": "ON",
8786
"WITH_USDT": "ON",
8887
"WITH_ZMQ": "ON"
8988
}

ci/test/02_run_container.sh

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -94,16 +94,11 @@ if [ -z "$DANGER_RUN_CI_ON_HOST" ]; then
9494
fi
9595

9696
if [ "$DANGER_CI_ON_HOST_CCACHE_FOLDER" ]; then
97-
# Temporary exclusion for https://github.com/bitcoin/bitcoin/issues/31108
98-
# to allow CI configs and envs generated in the past to work for a bit longer.
99-
# Can be removed in March 2025.
100-
if [ "${CCACHE_DIR}" != "/tmp/ccache_dir" ]; then
10197
if [ ! -d "${CCACHE_DIR}" ]; then
10298
echo "Error: Directory '${CCACHE_DIR}' must be created in advance."
10399
exit 1
104100
fi
105101
CI_CCACHE_MOUNT="type=bind,src=${CCACHE_DIR},dst=${CCACHE_DIR}"
106-
fi # End temporary exclusion
107102
fi
108103

109104
docker network create --ipv6 --subnet 1111:1111::/112 ci-ip6net || true

cmake/bitcoin-build-config.h.in

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,4 @@
144144
/* Define if QR support should be compiled in */
145145
#cmakedefine USE_QRCODE 1
146146

147-
/* Define if sqlite support should be compiled in */
148-
#cmakedefine USE_SQLITE 1
149-
150147
#endif //BITCOIN_CONFIG_H

cmake/module/Maintenance.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ function(add_macos_deploy_target)
8383
COMMAND ${CMAKE_COMMAND} --install ${PROJECT_BINARY_DIR} --config $<CONFIG> --component bitcoin-qt --prefix ${macos_app}/Contents/MacOS --strip
8484
COMMAND ${CMAKE_COMMAND} -E rename ${macos_app}/Contents/MacOS/bin/$<TARGET_FILE_NAME:bitcoin-qt> ${macos_app}/Contents/MacOS/Bitcoin-Qt
8585
COMMAND ${CMAKE_COMMAND} -E rm -rf ${macos_app}/Contents/MacOS/bin
86+
COMMAND ${CMAKE_COMMAND} -E rm -rf ${macos_app}/Contents/MacOS/share
8687
VERBATIM
8788
)
8889

contrib/devtools/README.md

Lines changed: 31 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,39 @@ A tool to check for non-determinism in fuzz coverage. To get the help, run:
1111
RUST_BACKTRACE=1 cargo run --manifest-path ./contrib/devtools/deterministic-fuzz-coverage/Cargo.toml -- --help
1212
```
1313

14-
To execute the tool, compilation has to be done with the build options
15-
`-DCMAKE_C_COMPILER='clang' -DCMAKE_CXX_COMPILER='clang++'
16-
-DBUILD_FOR_FUZZING=ON -DCMAKE_CXX_FLAGS='-fPIC -fprofile-instr-generate
17-
-fcoverage-mapping'`. Both llvm-profdata and llvm-cov must be installed. Also,
18-
the qa-assets repository must have been cloned. Finally, a fuzz target has to
19-
be picked before running the tool:
14+
To execute the tool, compilation has to be done with the build options:
2015

2116
```
22-
RUST_BACKTRACE=1 cargo run --manifest-path ./contrib/devtools/deterministic-fuzz-coverage/Cargo.toml -- $PWD/build_dir $PWD/qa-assets/corpora-dir fuzz_target_name
17+
-DCMAKE_C_COMPILER='clang' -DCMAKE_CXX_COMPILER='clang++' -DBUILD_FOR_FUZZING=ON -DCMAKE_CXX_FLAGS='-fprofile-instr-generate -fcoverage-mapping'
18+
```
19+
20+
Both llvm-profdata and llvm-cov must be installed. Also, the qa-assets
21+
repository must have been cloned. Finally, a fuzz target has to be picked
22+
before running the tool:
23+
24+
```
25+
RUST_BACKTRACE=1 cargo run --manifest-path ./contrib/devtools/deterministic-fuzz-coverage/Cargo.toml -- $PWD/build_dir $PWD/qa-assets/fuzz_corpora fuzz_target_name
26+
```
27+
28+
deterministic-unittest-coverage
29+
===========================
30+
31+
A tool to check for non-determinism in unit-test coverage. To get the help, run:
32+
33+
```
34+
RUST_BACKTRACE=1 cargo run --manifest-path ./contrib/devtools/deterministic-unittest-coverage/Cargo.toml -- --help
35+
```
36+
37+
To execute the tool, compilation has to be done with the build options:
38+
39+
```
40+
-DCMAKE_C_COMPILER='clang' -DCMAKE_CXX_COMPILER='clang++' -DCMAKE_CXX_FLAGS='-fprofile-instr-generate -fcoverage-mapping'
41+
```
42+
43+
Both llvm-profdata and llvm-cov must be installed.
44+
45+
```
46+
RUST_BACKTRACE=1 cargo run --manifest-path ./contrib/devtools/deterministic-unittest-coverage/Cargo.toml -- $PWD/build_dir <boost unittest filter>
2347
```
2448

2549
clang-format-diff.py

contrib/devtools/check-deps.sh

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ declare -A LIBS
88
LIBS[cli]="libbitcoin_cli.a"
99
LIBS[common]="libbitcoin_common.a"
1010
LIBS[consensus]="libbitcoin_consensus.a"
11-
LIBS[crypto]="crypto/libbitcoin_crypto.a"
11+
LIBS[crypto]="libbitcoin_crypto.a"
1212
LIBS[node]="libbitcoin_node.a"
13-
LIBS[util]="util/libbitcoin_util.a"
14-
LIBS[wallet]="wallet/libbitcoin_wallet.a"
13+
LIBS[util]="libbitcoin_util.a"
14+
LIBS[wallet]="libbitcoin_wallet.a"
1515

1616
# Declare allowed dependencies "X Y" where X is allowed to depend on Y. This
1717
# list is taken from doc/design/libraries.md.
@@ -187,7 +187,7 @@ fi
187187
# shellcheck disable=SC2046
188188
cmake --build "$BUILD_DIR" -j"$(nproc)" -t $(lib_targets)
189189
TEMP_DIR="$(mktemp -d)"
190-
cd "$BUILD_DIR/src"
190+
cd "$BUILD_DIR/lib"
191191
extract_symbols "$TEMP_DIR"
192192
if check_libraries "$TEMP_DIR"; then
193193
echo "Success! No unexpected dependencies were detected."

contrib/devtools/deterministic-fuzz-coverage/Cargo.lock

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)