diff --git a/.cirrus.yml b/.cirrus.yml index 0ec1a209aa..e1102be446 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -175,14 +175,14 @@ task: task: name: 'ARM [unit tests, no functional tests] [bullseye]' << : *GLOBAL_TASK_TEMPLATE - arm_container: + container: image: debian:bullseye - cpu: 2 - memory: 8G + docker_arguments: + CI_IMAGE_NAME_TAG: debian:bullseye + << : *CREDITS_TEMPLATE env: << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV FILE_ENV: "./ci/test/00_setup_env_arm.sh" - QEMU_USER_CMD: "" # Disable qemu and run the test natively task: name: 'Win64 [unit tests, no gui tests, no boost::process, no functional tests] [jammy]' @@ -271,13 +271,13 @@ task: FILE_ENV: "./ci/test/00_setup_env_i686_multiprocess.sh" task: - name: '[no wallet, libbitcoinkernel] [bionic]' + name: '[no wallet] [bionic]' << : *GLOBAL_TASK_TEMPLATE container: image: ubuntu:bionic env: << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV - FILE_ENV: "./ci/test/00_setup_env_native_nowallet_libbitcoinkernel.sh" + FILE_ENV: "./ci/test/00_setup_env_native_nowallet.sh" task: name: 'macOS 10.15 [gui, no tests] [focal]' diff --git a/.gitignore b/.gitignore index fcb8fddf63..905ea6dd7d 100644 --- a/.gitignore +++ b/.gitignore @@ -9,7 +9,6 @@ src/elements-gui src/elements-node src/elements-tx src/elements-util -src/elements-chainstate src/elements-wallet src/test/fuzz/fuzz src/test/test_bitcoin diff --git a/build_msvc/common.init.vcxproj b/build_msvc/common.init.vcxproj index 0cbe2effd5..48baefd84f 100644 --- a/build_msvc/common.init.vcxproj +++ b/build_msvc/common.init.vcxproj @@ -90,7 +90,7 @@ /utf-8 /Zc:__cplusplus /std:c++17 %(AdditionalOptions) 4018;4244;4267;4334;4715;4805;4834 true - _SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING;_SILENCE_CXX17_OLD_ALLOCATOR_MEMBERS_DEPRECATION_WARNING;ZMQ_STATIC;NOMINMAX;WIN32;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;_CONSOLE;_WIN32_WINNT=0x0601;_WIN32_IE=0x0501;WIN32_LEAN_AND_MEAN;%(PreprocessorDefinitions) + _SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING;SECP256K1_STATIC;_SILENCE_CXX17_OLD_ALLOCATOR_MEMBERS_DEPRECATION_WARNING;ZMQ_STATIC;NOMINMAX;WIN32;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;_CONSOLE;_WIN32_WINNT=0x0601;_WIN32_IE=0x0501;WIN32_LEAN_AND_MEAN;%(PreprocessorDefinitions) ..\..\src;..\..\src\minisketch\include;..\..\src\univalue\include;..\..\src\secp256k1\include;..\..\src\leveldb\include;..\..\src\leveldb\helpers\memenv;%(AdditionalIncludeDirectories) diff --git a/build_msvc/libbitcoin_common/libbitcoin_common.vcxproj.in b/build_msvc/libbitcoin_common/libbitcoin_common.vcxproj.in index b47d62b295..9ad4ef07c4 100644 --- a/build_msvc/libbitcoin_common/libbitcoin_common.vcxproj.in +++ b/build_msvc/libbitcoin_common/libbitcoin_common.vcxproj.in @@ -8,8 +8,17 @@ StaticLibrary + + + + @SOURCE_FILES@ + + + {bb493552-3b8c-4a8c-bf69-a6e7a51d2ea6} + + diff --git a/build_msvc/libbitcoin_node/libbitcoin_node.vcxproj.in b/build_msvc/libbitcoin_node/libbitcoin_node.vcxproj.in index 58e90dbaeb..e8478a5968 100644 --- a/build_msvc/libbitcoin_node/libbitcoin_node.vcxproj.in +++ b/build_msvc/libbitcoin_node/libbitcoin_node.vcxproj.in @@ -8,11 +8,18 @@ StaticLibrary + + @SOURCE_FILES@ $(IntDir)wallet_init.obj + + + {bb493552-3b8c-4a8c-bf69-a6e7a51d2ea6} + + diff --git a/build_msvc/libbitcoin_wallet/libbitcoin_wallet.vcxproj.in b/build_msvc/libbitcoin_wallet/libbitcoin_wallet.vcxproj.in index 613d5c7199..39bb696c78 100644 --- a/build_msvc/libbitcoin_wallet/libbitcoin_wallet.vcxproj.in +++ b/build_msvc/libbitcoin_wallet/libbitcoin_wallet.vcxproj.in @@ -8,11 +8,35 @@ StaticLibrary + + + + + + + + + + + + + + + + + + + @SOURCE_FILES@ + + + {bb493552-3b8c-4a8c-bf69-a6e7a51d2ea6} + + diff --git a/build_msvc/libbitcoinconsensus/libbitcoinconsensus.vcxproj b/build_msvc/libbitcoinconsensus/libbitcoinconsensus.vcxproj index 4cb0bdc902..47ba9a75c1 100644 --- a/build_msvc/libbitcoinconsensus/libbitcoinconsensus.vcxproj +++ b/build_msvc/libbitcoinconsensus/libbitcoinconsensus.vcxproj @@ -9,6 +9,7 @@ + @@ -22,7 +23,9 @@ + + diff --git a/build_msvc/libsecp256k1/libsecp256k1.vcxproj b/build_msvc/libsecp256k1/libsecp256k1.vcxproj index c42918d6e1..32b6e3c3da 100644 --- a/build_msvc/libsecp256k1/libsecp256k1.vcxproj +++ b/build_msvc/libsecp256k1/libsecp256k1.vcxproj @@ -8,15 +8,18 @@ StaticLibrary + + - + - ENABLE_MODULE_ECDH;ENABLE_MODULE_RECOVERY;ENABLE_MODULE_EXTRAKEYS;ENABLE_MODULE_SCHNORRSIG;%(PreprocessorDefinitions) - ..\..\src\secp256k1;%(AdditionalIncludeDirectories) - + ENABLE_MODULE_GENERATOR;ENABLE_MODULE_RANGEPROOF;ENABLE_MODULE_SURJECTIONPROOF;ECMULT_WINDOW_SIZE=15;ECMULT_GEN_PREC_BITS=8;ENABLE_MODULE_WHITELIST;ENABLE_MODULE_ECDH;ENABLE_MODULE_ECDSA_ADAPTOR;ENABLE_MODULE_ECDSA_S2C;ENABLE_MODULE_RECOVERY;ENABLE_MODULE_EXTRAKEYS;ENABLE_MODULE_SCHNORRSIG;%(PreprocessorDefinitions) + ..\..\src\secp256k1;%(AdditionalIncludeDirectories) + 4005;4146;4244;4267;4334 + - \ No newline at end of file + diff --git a/build_msvc/test_bitcoin-qt/test_bitcoin-qt.vcxproj b/build_msvc/test_bitcoin-qt/test_bitcoin-qt.vcxproj index ec572b4f2e..b3ca45fbee 100644 --- a/build_msvc/test_bitcoin-qt/test_bitcoin-qt.vcxproj +++ b/build_msvc/test_bitcoin-qt/test_bitcoin-qt.vcxproj @@ -25,6 +25,7 @@ + diff --git a/build_msvc/test_bitcoin/test_bitcoin.vcxproj b/build_msvc/test_bitcoin/test_bitcoin.vcxproj index 4182448ec3..9414b30273 100644 --- a/build_msvc/test_bitcoin/test_bitcoin.vcxproj +++ b/build_msvc/test_bitcoin/test_bitcoin.vcxproj @@ -17,6 +17,7 @@ + diff --git a/ci/test/00_setup_env_native_nowallet_libbitcoinkernel.sh b/ci/test/00_setup_env_native_nowallet.sh similarity index 84% rename from ci/test/00_setup_env_native_nowallet_libbitcoinkernel.sh rename to ci/test/00_setup_env_native_nowallet.sh index 89d6256298..d80a7f9633 100755 --- a/ci/test/00_setup_env_native_nowallet_libbitcoinkernel.sh +++ b/ci/test/00_setup_env_native_nowallet.sh @@ -6,9 +6,9 @@ export LC_ALL=C.UTF-8 -export CONTAINER_NAME=ci_native_nowallet_libbitcoinkernel +export CONTAINER_NAME=ci_native_nowallet export DOCKER_NAME_TAG=ubuntu:18.04 # Use bionic to have one config run the tests in python3.6, see doc/dependencies.md export PACKAGES="python3-zmq clang-7 llvm-7 libc++abi-7-dev libc++-7-dev" # Use clang-7 to test C++17 compatibility, see doc/dependencies.md export DEP_OPTS="NO_WALLET=1 CC=clang-7 CXX='clang++-7 -stdlib=libc++'" export GOAL="install" -export BITCOIN_CONFIG="--enable-reduce-exports CC=clang-7 CXX='clang++-7 -stdlib=libc++' --enable-experimental-util-chainstate" +export BITCOIN_CONFIG="--enable-reduce-exports CC=clang-7 CXX='clang++-7 -stdlib=libc++'" diff --git a/configure.ac b/configure.ac index 33ecd77f83..287efda2c7 100644 --- a/configure.ac +++ b/configure.ac @@ -24,7 +24,6 @@ BITCOIN_GUI_NAME=elements-qt BITCOIN_CLI_NAME=elements-cli BITCOIN_TX_NAME=elements-tx BITCOIN_UTIL_NAME=elements-util -BITCOIN_CHAINSTATE_NAME=elements-chainstate BITCOIN_WALLET_TOOL_NAME=elements-wallet dnl Multi Process BITCOIN_MP_NODE_NAME=elements-node @@ -655,12 +654,6 @@ AC_ARG_ENABLE([util-util], [build_bitcoin_util=$enableval], [build_bitcoin_util=$build_bitcoin_utils]) -AC_ARG_ENABLE([experimental-util-chainstate], - [AS_HELP_STRING([--enable-experimental-util-chainstate], - [build experimental bitcoin-chainstate executable (default=no)])], - [build_bitcoin_chainstate=$enableval], - [build_bitcoin_chainstate=no]) - AC_ARG_WITH([libs], [AS_HELP_STRING([--with-libs], [build libraries (default=yes)])], @@ -1283,7 +1276,6 @@ if test "$enable_fuzz" = "yes"; then build_bitcoin_cli=no build_bitcoin_tx=no build_bitcoin_util=no - build_bitcoin_chainstate=no build_bitcoin_wallet=no build_bitcoind=no build_bitcoin_libs=no @@ -1648,10 +1640,6 @@ AC_MSG_CHECKING([whether to build bitcoin-util]) AM_CONDITIONAL([BUILD_BITCOIN_UTIL], [test $build_bitcoin_util = "yes"]) AC_MSG_RESULT($build_bitcoin_util) -AC_MSG_CHECKING([whether to build experimental bitcoin-chainstate]) -AM_CONDITIONAL([BUILD_BITCOIN_CHAINSTATE], [test $build_bitcoin_chainstate = "yes"]) -AC_MSG_RESULT($build_bitcoin_chainstate) - AC_MSG_CHECKING([whether to build libraries]) AM_CONDITIONAL([BUILD_BITCOIN_LIBS], [test $build_bitcoin_libs = "yes"]) if test "$build_bitcoin_libs" = "yes"; then @@ -1872,7 +1860,6 @@ AC_SUBST(BITCOIN_GUI_NAME) AC_SUBST(BITCOIN_CLI_NAME) AC_SUBST(BITCOIN_TX_NAME) AC_SUBST(BITCOIN_UTIL_NAME) -AC_SUBST(BITCOIN_CHAINSTATE_NAME) AC_SUBST(BITCOIN_WALLET_TOOL_NAME) AC_SUBST(BITCOIN_MP_NODE_NAME) AC_SUBST(BITCOIN_MP_GUI_NAME) diff --git a/src/Makefile.am b/src/Makefile.am index 7a8e53cc34..3bcecf55dd 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -106,10 +106,6 @@ if BUILD_BITCOIN_UTIL bin_PROGRAMS += elements-util endif -if BUILD_BITCOIN_CHAINSTATE - bin_PROGRAMS += bitcoin-chainstate -endif - .PHONY: FORCE check-symbols check-security # bitcoin core # BITCOIN_CORE_H = \ @@ -820,132 +816,6 @@ elements_util_LDADD = \ $(LIBSECP256K1) # -# bitcoin-chainstate binary # -bitcoin_chainstate_SOURCES = \ - bitcoin-chainstate.cpp \ - arith_uint256.cpp \ - blockfilter.cpp \ - chain.cpp \ - chainparamsbase.cpp \ - chainparams.cpp \ - clientversion.cpp \ - coins.cpp \ - compat/glibcxx_sanity.cpp \ - compressor.cpp \ - consensus/merkle.cpp \ - consensus/tx_check.cpp \ - consensus/tx_verify.cpp \ - core_read.cpp \ - dbwrapper.cpp \ - deploymentinfo.cpp \ - deploymentstatus.cpp \ - flatfile.cpp \ - fs.cpp \ - hash.cpp \ - index/base.cpp \ - index/blockfilterindex.cpp \ - index/coinstatsindex.cpp \ - init/common.cpp \ - key.cpp \ - logging.cpp \ - netaddress.cpp \ - node/blockstorage.cpp \ - node/chainstate.cpp \ - node/coinstats.cpp \ - node/ui_interface.cpp \ - policy/feerate.cpp \ - policy/fees.cpp \ - policy/packages.cpp \ - policy/policy.cpp \ - policy/rbf.cpp \ - policy/settings.cpp \ - pow.cpp \ - primitives/block.cpp \ - primitives/transaction.cpp \ - pubkey.cpp \ - random.cpp \ - randomenv.cpp \ - scheduler.cpp \ - script/interpreter.cpp \ - script/script.cpp \ - script/script_error.cpp \ - script/sigcache.cpp \ - script/standard.cpp \ - shutdown.cpp \ - signet.cpp \ - support/cleanse.cpp \ - support/lockedpool.cpp \ - sync.cpp \ - threadinterrupt.cpp \ - timedata.cpp \ - txdb.cpp \ - txmempool.cpp \ - uint256.cpp \ - util/asmap.cpp \ - util/bytevectorhash.cpp \ - util/getuniquepath.cpp \ - util/hasher.cpp \ - util/moneystr.cpp \ - util/rbf.cpp \ - util/serfloat.cpp \ - util/settings.cpp \ - util/strencodings.cpp \ - util/syscall_sandbox.cpp \ - util/system.cpp \ - util/thread.cpp \ - util/threadnames.cpp \ - util/time.cpp \ - util/tokenpipe.cpp \ - validation.cpp \ - validationinterface.cpp \ - versionbits.cpp \ - warnings.cpp -# ELEMENTS: additional sources for chainstate -bitcoin_chainstate_SOURCES += \ - asset.cpp \ - blind.cpp \ - blindpsbt.cpp \ - block_proof.cpp \ - common/bloom.cpp \ - confidential_validation.cpp \ - dynafed.cpp \ - issuance.cpp \ - mainchainrpc.cpp \ - merkleblock.cpp \ - pegins.cpp \ - primitives/bitcoin/block.cpp \ - primitives/bitcoin/merkleblock.cpp \ - primitives/bitcoin/transaction.cpp \ - primitives/confidential.cpp \ - primitives/pak.cpp \ - primitives/txwitness.cpp \ - psbt.cpp \ - rpc/request.cpp \ - script/pegins.cpp \ - script/sign.cpp \ - script/signingprovider.cpp \ - support/events.h \ - util/url.cpp - -bitcoin_chainstate_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) -bitcoin_chainstate_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) -bitcoin_chainstate_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) $(PTHREAD_FLAGS) -bitcoin_chainstate_LDADD = \ - $(LIBBITCOIN_CRYPTO) \ - $(LIBUNIVALUE) \ - $(LIBSECP256K1) \ - $(LIBLEVELDB) \ - $(LIBLEVELDB_SSE42) \ - $(LIBMEMENV) -# ELEMENTS: -bitcoin_chainstate_LDADD += \ - $(EVENT_LIBS) - -# Required for obj/build.h to be generated first. -# More details: https://www.gnu.org/software/automake/manual/html_node/Built-Sources-Example.html -bitcoin_chainstate-clientversion.$(OBJEXT): obj/build.h -# - # bitcoinconsensus library # if BUILD_BITCOIN_LIBS include_HEADERS = script/bitcoinconsensus.h diff --git a/src/bitcoin-chainstate.cpp b/src/bitcoin-chainstate.cpp deleted file mode 100644 index f93197350d..0000000000 --- a/src/bitcoin-chainstate.cpp +++ /dev/null @@ -1,262 +0,0 @@ -// Copyright (c) 2022 The Bitcoin Core developers -// Distributed under the MIT software license, see the accompanying -// file COPYING or http://www.opensource.org/licenses/mit-license.php. -// -// The bitcoin-chainstate executable serves to surface the dependencies required -// by a program wishing to use Bitcoin Core's consensus engine as it is right -// now. -// -// DEVELOPER NOTE: Since this is a "demo-only", experimental, etc. executable, -// it may diverge from Bitcoin Core's coding style. -// -// It is part of the libbitcoinkernel project. - -#include -#include -#include -#include -#include -#include -#include -#include