Skip to content

Commit 7dbb4c1

Browse files
fanquakeknst
authored andcommitted
Merge bitcoin#21467: Move external signer out of wallet module
88d4d5f rpc: add help for enumeratesigners and walletdisplayaddress (Sjors Provoost) b0db187 ci: use --enable-external-signer instead of --with-boost-process (Sjors Provoost) b54b2e7 Move external signer out of wallet module (Sjors Provoost) Pull request description: In addition, this PR enables external signer testing on CI. This PR moves the ExternalSigner class and RPC methods out of the wallet module. The `enumeratesigners` RPC can be used without a wallet since bitcoin#21417. With additional modifications external signers could be used without a wallet in general, e.g. via `signrawtransaction`. The `signerdisplayaddress` RPC is ranamed to `walletdisplayaddress` because it requires wallet context. A future `displayaddress` RPC call without wallet context could take a descriptor argument. This commit fixes a `rpc_help.py` failure when configured with `--disable-wallet`. ACKs for top commit: ryanofsky: Code review ACK 88d4d5f fanquake: ACK 88d4d5f Tree-SHA512: 3242a24e22313aed97eee32a520bfcb1c17495ba32a2b8e06a5e151e2611320e2da5ef35b572d84623af0a49a210d2f9377a2531250868d1a0ccf3e144352a97
1 parent 6373ba7 commit 7dbb4c1

28 files changed

+235
-205
lines changed

ci/test/00_setup_env_arm.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,4 @@ export RUN_FUNCTIONAL_TESTS=false
2525
export GOAL="install"
2626
# -Wno-psabi is to disable ABI warnings: "note: parameter passing for argument of type ... changed in GCC 7.1"
2727
# This could be removed once the ABI change warning does not show up by default
28-
export BITCOIN_CONFIG="--enable-reduce-exports CXXFLAGS=-Wno-psabi --with-boost-process"
28+
export BITCOIN_CONFIG="--enable-reduce-exports CXXFLAGS=-Wno-psabi --enable_external-signer"

ci/test/00_setup_env_mac.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,4 @@ export XCODE_BUILD_ID=15A240d
1414
export RUN_UNIT_TESTS=false
1515
export RUN_FUNCTIONAL_TESTS=false
1616
export GOAL="all deploy"
17-
export BITCOIN_CONFIG="--with-gui --enable-reduce-exports --disable-miner --with-boost-process"
17+
export BITCOIN_CONFIG="--with-gui --enable-reduce-exports --disable-miner --enable-external-signer"

ci/test/00_setup_env_mac_native_x86_64.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ export CONTAINER_NAME=ci_macos
1010
export HOST=x86_64-apple-darwin
1111
export PIP_PACKAGES="zmq lief"
1212
export GOAL="install"
13-
export BITCOIN_CONFIG="--with-gui --enable-reduce-exports --disable-miner --with-boost-process"
13+
export BITCOIN_CONFIG="--with-gui --enable-reduce-exports --disable-miner --enable-external-signer"
1414
export CI_OS_NAME="macos"
1515
export NO_DEPENDS=1
1616
export OSX_SDK=""

ci/test/00_setup_env_native_asan.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@ export TEST_RUNNER_EXTRA="--timeout-factor=4" # Increase timeout because saniti
1212
export FUNCTIONAL_TESTS_CONFIG="--exclude wallet_multiwallet.py" # Temporarily suppress ASan heap-use-after-free (see issue #14163)
1313
export RUN_BENCH=true
1414
export GOAL="install"
15-
export BITCOIN_CONFIG="--enable-zmq --with-incompatible-bdb --with-gui=qt5 CPPFLAGS=-DDEBUG_LOCKORDER --with-sanitizers=address,integer,undefined CC=clang CXX=clang++ --with-boost-process"
15+
export BITCOIN_CONFIG="--enable-zmq --with-incompatible-bdb --with-gui=qt5 CPPFLAGS=-DDEBUG_LOCKORDER --with-sanitizers=address,integer,undefined CC=clang CXX=clang++ --enable-external-signer"

ci/test/00_setup_env_native_fuzz.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,4 @@ export RUN_UNIT_TESTS=false
1515
export RUN_FUNCTIONAL_TESTS=false
1616
export RUN_FUZZ_TESTS=true
1717
export GOAL="install"
18-
export BITCOIN_CONFIG="--enable-zmq --disable-ccache --enable-fuzz --with-sanitizers=fuzzer,address,undefined,integer CC='clang-19 -ftrivial-auto-var-init=pattern' CXX='clang++-19 -ftrivial-auto-var-init=pattern' --with-boost-process"
18+
export BITCOIN_CONFIG="--enable-zmq --disable-ccache --enable-fuzz --with-sanitizers=fuzzer,address,undefined,integer CC='clang-19 -ftrivial-auto-var-init=pattern' CXX='clang++-19 -ftrivial-auto-var-init=pattern' --enable-external-signer"

ci/test/00_setup_env_native_multiprocess.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ export DEP_OPTS="MULTIPROCESS=1 CC=clang-19 CXX=clang++-19"
1313
export RUN_TIDY=true
1414
export GOAL="install"
1515
export TEST_RUNNER_EXTRA="--v2transport"
16-
export BITCOIN_CONFIG="--with-boost-process --enable-debug CC=clang-19 CXX=clang++-19" # Use clang to avoid OOM
16+
export BITCOIN_CONFIG="--enable-external-signer ---enable-debug CC=clang-19 CXX=clang++-19" # Use clang to avoid OOM
1717
# Additional flags for RUN_TIDY
1818
export BITCOIN_CONFIG="${BITCOIN_CONFIG} --disable-hardening CFLAGS='-O0 -g0' CXXFLAGS='-O0 -g0 -Wno-error=documentation'"
1919
export BITCOIND=dash-node # Used in functional tests

ci/test/00_setup_env_native_nowallet.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@ export HOST=x86_64-pc-linux-gnu
1111
export PACKAGES="python3-zmq"
1212
export DEP_OPTS="NO_WALLET=1 CC=gcc-14 CXX=g++-14"
1313
export GOAL="install"
14-
export BITCOIN_CONFIG="--enable-reduce-exports --with-boost-process CC=gcc-14 CXX=g++-14"
14+
export BITCOIN_CONFIG="--enable-reduce-exports --enable_external-signer CC=gcc-14 CXX=g++-14"

ci/test/00_setup_env_native_qt5.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,4 @@ export RUN_UNIT_TESTS_SEQUENTIAL="true"
1515
export RUN_UNIT_TESTS="false"
1616
export GOAL="install"
1717
export DOWNLOAD_PREVIOUS_RELEASES="true"
18-
export BITCOIN_CONFIG="--enable-zmq --with-libs=no --enable-reduce-exports LDFLAGS=-static-libstdc++ --with-boost-process"
18+
export BITCOIN_CONFIG="--enable-zmq --with-libs=no --enable-reduce-exports LDFLAGS=-static-libstdc++ --enable_external-signer"

ci/test/00_setup_env_native_tsan.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,6 @@ export DEP_OPTS="CC=clang-19 CXX='clang++-19 -stdlib=libc++'"
1212
export TEST_RUNNER_EXTRA="--extended --exclude feature_pruning,feature_dbcrash,wallet_multiwallet.py" # Temporarily suppress ASan heap-use-after-free (see issue #14163)
1313
export TEST_RUNNER_EXTRA="${TEST_RUNNER_EXTRA} --timeout-factor=4" # Increase timeout because sanitizers slow down
1414
export GOAL="install"
15-
export BITCOIN_CONFIG="--enable-zmq --with-sanitizers=thread CC=clang-19 CXX=clang++-19 CXXFLAGS='-g' --with-boost-process"
15+
export BITCOIN_CONFIG="--enable-zmq --with-sanitizers=thread CC=clang-19 CXX=clang++-19 CXXFLAGS='-g' --enable-external-signer"
1616
export CPPFLAGS="-DARENA_DEBUG -DDEBUG_LOCKORDER -DDEBUG_LOCKCONTENTION"
1717
export PYZMQ=true

ci/test/00_setup_env_s390x.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,4 @@ export RUN_UNIT_TESTS=true
2222
export TEST_RUNNER_EXTRA="--exclude rpc_bind,feature_bind_extra" # Excluded for now, see https://github.com/bitcoin/bitcoin/issues/17765#issuecomment-602068547
2323
export RUN_FUNCTIONAL_TESTS=true
2424
export GOAL="install"
25-
export BITCOIN_CONFIG="--enable-reduce-exports --with-boost-process"
25+
export BITCOIN_CONFIG="--enable-reduce-exports --enable_external-signer"

0 commit comments

Comments
 (0)