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