elements/src
Andrew Poelstra 313f73d5b2 When validation is waiting for parent chain daemon, "stall".
Currently, if -validatepegin is given, and block validation can't proceed
because the parent chain is not synced, we mark the block invalid and put
it in a queue to be "revalidated" later. Unfortunately, marking a block
invalid has downstream consequences, in particular causing descendant blocks
to be marked invalid, which are not currently fixed by the queue.

Instead, we'll use a different strategy: if the mainchain daemon isn't
sufficiently synced to validate a block, we will "stall" connecting that
block to the chain, and have ActivateBestChain simply keep the tip at the
previous block until we're ready.

We can still download and validate (partly) blocks past this point while
we're waiting. They will be connected once the parent chain daemon catches
up.
2021-09-13 22:10:09 +00:00
..
bench Implement Bech32m encoding/decoding 2021-08-17 22:32:47 +00:00
compat net: Use C++11 member initialization in protocol 2020-05-20 08:27:07 -04:00
config
consensus Merge 2947ae6f85 into merged_master (Bitcoin PR #20035) 2020-12-01 04:33:11 +00:00
crc32c Import crc32c using subtree merge as as 'src/crc32c' 2020-01-28 17:00:01 +01:00
crypto Implement Streaming SHA256 opcodes 2021-08-26 20:28:01 +00:00
index Merge 0d9e14a646 into merged_master (Bitcoin PR #19733) 2020-11-28 02:20:12 +00:00
interfaces Merge db88db4727 into merged_master (Bitcoin PR #19339) 2020-11-30 15:50:18 +00:00
leveldb Update to leveldb upstream using subtree merge 2020-01-28 16:59:07 +01:00
logging Remove use of non-standard zero variadic macros 2020-04-30 18:02:04 +08:00
node Enable analyzepsbt 2021-06-22 14:42:38 -04:00
policy Merge 80e32e120e into merged_master (Bitcoin PR #20305) 2020-12-02 17:53:59 +00:00
primitives Output PSBTOutputs with aux info from ConstructTransaction 2021-06-22 14:42:19 -04:00
qt Fix display of outputs in PSBT ops dialog 2021-06-22 14:42:38 -04:00
rpc When validation is waiting for parent chain daemon, "stall". 2021-09-13 22:10:09 +00:00
script script: cache transaction weight per-transaction 2021-09-03 19:37:20 +00:00
secp256k1 Merge commit '196c993d1f' into 2021-07--secp-update 2021-07-28 23:11:33 +00:00
support Move Win32 defines to configure.ac to ensure they are globally defined 2020-08-20 17:55:06 +00:00
test Merge ElementsProject/elements#1025: Introduce blech32m format for v1+ witness programs 2021-08-30 18:59:25 +00:00
univalue Update univalue subtree 2020-02-09 07:44:29 -08:00
util util: Properly handle -noincludeconf on command line 2021-06-21 14:08:34 +00:00
wallet Merge ElementsProject/elements#1034: A couple minor PSET cleanups 2021-09-07 17:43:33 +00:00
zmq zmq: Append address to notify log output 2020-10-01 00:33:38 +02:00
.clang-format tools: clang-format 6 compatibility 2020-07-06 03:52:37 +02:00
addrdb.cpp p2p: Add ReadAnchors() 2020-10-09 14:29:04 +03:00
addrdb.h p2p: Add ReadAnchors() 2020-10-09 14:29:04 +03:00
addrman.cpp [addrman] Specify max addresses and pct when calling GetAddresses() 2020-08-12 09:22:07 +01:00
addrman.h addrman: ensure old versions don't parse peers.dat 2020-11-11 16:05:15 +01:00
amount.h
arith_uint256.cpp scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
arith_uint256.h scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
asset.cpp
asset.h Merge dcacea096e into merged_master (Bitcoin PR #19032) 2020-11-26 01:08:50 +00:00
assetsdir.cpp Merge 544709763e into merged_master (Bitcoin PR #18571) 2020-11-26 01:08:20 +00:00
assetsdir.h Merge 544709763e into merged_master (Bitcoin PR #18571) 2020-11-26 01:08:20 +00:00
attributes.h
banman.cpp Ignore incorrectly-serialized banlist.dat entries 2020-10-12 15:35:08 -07:00
banman.h Clean up separated ban/discourage interface 2020-07-03 20:43:55 -07:00
base58.cpp Merge #19739: refactor: remove c-string interfaces for DecodeBase58{Check} 2020-08-28 16:50:57 +02:00
base58.h Merge #19739: refactor: remove c-string interfaces for DecodeBase58{Check} 2020-08-28 16:50:57 +02:00
bech32.cpp naming nits 2021-08-17 22:32:47 +00:00
bech32.h naming nits 2021-08-17 22:32:47 +00:00
bitcoin-cli-res.rc
bitcoin-cli.cpp Merge 2e24197117 into merged_master (Bitcoin PR #20115) 2020-12-01 19:06:05 +00:00
bitcoin-tx-res.rc
bitcoin-tx.cpp bitcoin-tx: add ASSET to the help text of some option 2021-04-15 17:33:44 +00:00
bitcoin-wallet-res.rc
bitcoin-wallet.cpp Merge f1fcbdea25 into merged_master (Bitcoin PR #20271) 2020-12-01 21:16:07 +00:00
bitcoind-res.rc
bitcoind.cpp Merge 8219893825 into merged_master (Bitcoin PR #19993) 2020-11-29 18:52:06 +00:00
blech32.cpp blech32: add blech32m format and use it to decode witness v1+ addresses 2021-08-18 15:54:20 +00:00
blech32.h blech32: add blech32m format and use it to decode witness v1+ addresses 2021-08-18 15:54:20 +00:00
blind.cpp Merge ElementsProject/elements#1014: Fix crash when creating large inputs 2021-08-30 20:56:31 +00:00
blind.h Use a constant for maximum surjection targets 2021-06-22 14:42:38 -04:00
blindpsbt.cpp Use a constant for maximum surjection targets 2021-06-22 14:42:38 -04:00
blindpsbt.h Return better errors for BlindingStatus 2021-06-22 14:42:19 -04:00
block_proof.cpp Dynafed blocks must have sighash byte 2019-09-27 14:43:50 -04:00
block_proof.h Refactor block_proof to support dynafed 2019-09-03 10:50:16 -04:00
blockencodings.cpp Merge 082a417abc into merged_master (Bitcoin PR #18635) 2020-11-26 01:08:51 +00:00
blockencodings.h Merge 082a417abc into merged_master (Bitcoin PR #18635) 2020-11-26 01:08:51 +00:00
blockfilter.cpp Make CHash256/CHash160 output to Span 2020-07-30 13:57:54 -07:00
blockfilter.h [indexes] Fix default [de]serialization of BlockFilter. 2020-05-26 17:27:15 -04:00
bloom.cpp scripted-diff: TxoutType C++11 scoped enum class 2020-06-21 06:41:55 -04:00
bloom.h Merge #18317: Serialization improvements step 6 (all except wallet/gui) 2020-05-20 07:30:29 -04:00
chain.cpp Merge 99813a9745 into merged_master (Bitcoin PR #17829) 2020-11-14 16:52:02 +00:00
chain.h Merge 4326515f01 into merged_master (Bitcoin PR #19822) 2020-11-28 15:13:09 +00:00
chainparams.cpp Fix compilation errors after rebase onto master 2021-04-29 15:00:54 -07:00
chainparams.h Expose only blockchain hash twice in header 2021-07-01 17:56:44 +00:00
chainparamsbase.cpp Merge ElementsProject/elements#986: Undo default signalling behavior for dynafed unless enabled 2021-05-10 12:05:59 +02:00
chainparamsbase.h Add liquidv1test chainparams. 2021-04-07 15:59:22 -07:00
chainparamsseeds.h Merge 95bde34a71 into merged_master (Bitcoin PR #20237) 2020-12-02 02:03:47 +00:00
checkqueue.h ci: fix benchmarks, fuzztests and unit tests 2021-03-26 17:33:05 +00:00
clientversion.cpp Merge fc895d7700 into merged_master (Bitcoin PR #18616) 2020-11-26 01:08:43 +00:00
clientversion.h
coins.cpp Merge 2f71a1ea35 into merged_master (Bitcoin PR #18637) 2020-11-26 20:30:20 +00:00
coins.h Merge 2f71a1ea35 into merged_master (Bitcoin PR #18637) 2020-11-26 20:30:20 +00:00
compat.h Move Win32 defines to configure.ac to ensure they are globally defined 2020-08-20 17:55:06 +00:00
compressor.cpp scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
compressor.h Merge 54f812d9d2 into merged_master (Bitcoin PR #18673) 2020-11-26 01:08:23 +00:00
confidential_validation.cpp Make it clear that the CRangeCheck is not called on explicit values 2021-02-18 11:12:59 +00:00
confidential_validation.h Merge 219c55da75 into merged_master (Bitcoin PR #16710) 2020-11-26 01:08:42 +00:00
core_io.h Merge 99813a9745 into merged_master (Bitcoin PR #17829) 2020-11-14 16:52:02 +00:00
core_memusage.h
core_read.cpp Allow specifying SIGHASH_RANGEPROOF 2021-06-22 14:42:38 -04:00
core_write.cpp Merge 81a19e7253 into merged_master (Bitcoin PR #19852) 2020-11-28 23:16:39 +00:00
cuckoocache.h tests: Add fuzzing harness for classes/functions in cuckoocache.h 2020-04-08 14:45:27 +00:00
dbwrapper.cpp scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
dbwrapper.h Drop unused CDBWrapper methods 2020-07-08 14:26:14 +03:00
dummywallet.cpp wallet: Remove -upgradewallet from dummywallet 2020-11-04 12:16:57 -05:00
dynafed.cpp Merge 34eb236258 into merged_master (Bitcoin PR #19326) 2020-11-27 00:39:12 +00:00
dynafed.h Add description of NextBlockIsParameterTransition 2019-09-05 10:51:09 -04:00
flatfile.cpp
flatfile.h Merge #18317: Serialization improvements step 6 (all except wallet/gui) 2020-05-20 07:30:29 -04:00
fs.cpp Add missing includes to fix compile errors 2020-06-16 15:15:46 -04:00
fs.h scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
hash.cpp Add TaggedHash function (BIP 340) 2020-10-12 02:06:32 -07:00
hash.h Squashed 'src/secp256k1/' changes from 0129b77767e..90580edcc98 2021-07-28 22:05:08 +00:00
httprpc.cpp Merge #18740: Remove g_rpc_node global 2020-05-21 06:53:39 -04:00
httprpc.h refactor: Pass NodeContext to RPC and REST methods through util::Ref 2020-05-13 16:20:13 -04:00
httpserver.cpp ci: various linter / CI compiler error fixes 2021-03-26 17:33:04 +00:00
httpserver.h scripted-diff: Bump copyright headers 2020-04-16 13:33:09 -04:00
indirectmap.h scripted-diff: Bump copyright headers 2020-04-16 13:33:09 -04:00
init.cpp When validation is waiting for parent chain daemon, "stall". 2021-09-13 22:10:09 +00:00
init.h refactor: Create interfaces earlier during initialization 2020-08-27 14:33:00 -04:00
issuance.cpp Move GetNumIssuances to issuance.cpp 2020-03-31 12:28:34 +01:00
issuance.h Move GetNumIssuances to issuance.cpp 2020-03-31 12:28:34 +01:00
key.cpp Merge 61b8c04d78 into merged_master (Bitcoin PR #19379) 2020-11-28 18:11:17 +00:00
key.h Merge 99813a9745 into merged_master (Bitcoin PR #17829) 2020-11-14 16:52:02 +00:00
key_io.cpp blech32: add blech32m format and use it to decode witness v1+ addresses 2021-08-18 15:54:20 +00:00
key_io.h Better error messages for invalid addresses 2021-08-17 22:32:47 +00:00
logging.cpp log: remove deprecated db log category 2020-06-07 17:03:49 +02:00
logging.h refactor: Rename LockGuard to StdLockGuard for consistency with StdMutex 2020-05-28 09:54:24 +03:00
mainchainrpc.cpp When validation is waiting for parent chain daemon, "stall". 2021-09-13 22:10:09 +00:00
mainchainrpc.h
Makefile.am Implement BlindPSBT 2021-06-22 14:42:19 -04:00
Makefile.bench.include Add libsqlite3 2020-10-14 11:18:12 -04:00
Makefile.crc32c.include build: CRC32C build system integration 2020-01-28 17:01:48 +01:00
Makefile.leveldb.include build: Enable -Wsuggest-override 2020-05-12 18:03:39 +03:00
Makefile.qt.include build: drop the rendered icon stuff 2021-03-26 17:33:05 +00:00
Makefile.qt_locale.include qt: Pre-splitoff translations update 2020-10-27 19:40:44 +01:00
Makefile.qttest.include Merge 8ed37f6c84 into merged_master (Bitcoin PR #19077) 2020-11-30 20:20:56 +00:00
Makefile.test.include fuzz: add fuzz test for segwitv0 and tapscript script interpreters 2021-08-27 19:31:34 +00:00
Makefile.test_fuzz.include build: create test_fuzz library from src/test/fuzz/fuzz.cpp 2020-04-05 01:01:13 +02:00
Makefile.test_util.include test: Mock IBD in net_processing fuzzers 2020-11-07 07:50:59 +01:00
memusage.h scripted-diff: Bump copyright headers 2020-04-16 13:33:09 -04:00
merkleblock.cpp Make Hash[160] consume range-like objects 2020-07-30 13:57:54 -07:00
merkleblock.h Convert merkleblock to new serialization 2020-03-30 16:09:51 -07:00
miner.cpp Merge 2aaff4813c into merged_master (Bitcoin PR #19283) 2020-11-26 01:09:22 +00:00
miner.h Merge 2583966130 into merged_master (Bitcoin PR #19478) 2020-11-29 01:52:23 +00:00
net.cpp Make it easier to reason about node eviction by removing unused NodeEvictionCandidate::addr (CAddress) 2020-11-04 12:22:06 +00:00
net.h Refactor test for existing peer connection into own function 2020-10-27 11:15:21 -04:00
net_permissions.cpp Reduce MAX_PEER_TX_ANNOUNCEMENTS for non-PF_RELAY peers 2020-10-12 12:14:53 -07:00
net_permissions.h Reduce MAX_PEER_TX_ANNOUNCEMENTS for non-PF_RELAY peers 2020-10-12 12:14:53 -07:00
net_processing.cpp Merge #20212: net: fix output of peer address in version message 2020-11-04 13:41:52 +01:00
net_processing.h Avoid calling CAddrMan::Connected() on block-relay-only peer addresses 2020-10-27 11:14:58 -04:00
net_types.h refactor: Remove addrdb.h dependency from node.h 2019-10-29 11:30:12 +02:00
netaddress.cpp Break circuit earlier 2020-11-16 15:54:24 -03:00
netaddress.h Merge #20033: refactor: minor whitespace fixups, s/const/constexpr/ and remove template (followup to #19845) 2020-11-16 07:57:34 +01:00
netbase.cpp net: update GetNetworkName() with all enum Network cases 2020-10-15 19:21:38 +02:00
netbase.h net: Avoid using C-style NUL-terminated strings as arguments in the netbase interface 2020-01-08 12:35:59 +00:00
netmessagemaker.h refactor: s/command/msg_type/ in CNetMsgMaker and CSerializedNetMsg 2020-05-11 00:20:57 +02:00
noui.cpp scripted-diff: Move ui_interface to the node lib 2020-06-27 11:49:28 -04:00
noui.h Make ThreadSafe{MessageBox|Question} bilingual 2020-05-05 04:45:59 +03:00
optional.h scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
outputtype.cpp Merge 7173a3c73b into merged_master (Bitcoin PR #19396) 2020-11-26 01:09:18 +00:00
outputtype.h Merge 735d6b57e7 into merged_master (Bitcoin PR #16227) 2020-11-09 03:58:21 +00:00
pegins.cpp When validation is waiting for parent chain daemon, "stall". 2021-09-13 22:10:09 +00:00
pegins.h When validation is waiting for parent chain daemon, "stall". 2021-09-13 22:10:09 +00:00
pow.cpp
pow.h
prevector.h prevector: Avoid unnamed struct, which is a GNU extension 2020-04-30 18:02:03 +08:00
protocol.cpp Merge 0b2abaa666 into merged_master (Bitcoin PR #19954) 2020-11-30 17:12:23 +00:00
protocol.h Merge 0b2abaa666 into merged_master (Bitcoin PR #19954) 2020-11-30 17:12:23 +00:00
psbt.cpp Enable analyzepsbt 2021-06-22 14:42:38 -04:00
psbt.h Check elements blinding field constraints during deser 2021-06-22 14:42:38 -04:00
pubkey.cpp Add XOnlyPubKey::CreateTapTweak 2021-08-27 19:31:32 +00:00
pubkey.h Add XOnlyPubKey::CreateTapTweak 2021-08-27 19:31:32 +00:00
random.cpp Merge #17563: lib: fix a compiler warning: unused GetDevURandom() 2020-08-10 21:30:42 +08:00
random.h Add templated GetRandomDuration<> 2020-04-30 09:19:14 -04:00
randomenv.cpp random: fixes read buffer resizing in RandAddSeedPerfmon 2020-10-07 20:46:49 -04:00
randomenv.h [MOVEONLY] Move perfmon data gathering to new randomenv module 2019-11-12 14:50:44 -08:00
rest.cpp Merge d692d192cd into merged_master (Bitcoin PR #19849) 2020-11-29 17:58:59 +00:00
reverse_iterator.h
scheduler.cpp clang-format scheduler 2020-06-21 06:02:59 -04:00
scheduler.h clang-format scheduler 2020-06-21 06:02:59 -04:00
serialize.h Implement PSBTv2 fields de/ser 2021-06-22 13:54:50 -04:00
shutdown.cpp
shutdown.h
signet.cpp Merge 8219893825 into merged_master (Bitcoin PR #19993) 2020-11-29 18:52:06 +00:00
signet.h refactor: Remove SignetTxs::m_valid and use optional instead 2020-09-22 22:31:31 +02:00
span.h Add MakeUCharSpan, to help constructing Span<[const] unsigned char> 2020-07-30 13:57:09 -07:00
streams.h Merge 0b2abaa666 into merged_master (Bitcoin PR #19954) 2020-11-30 17:12:23 +00:00
sync.cpp sync.h: Make runtime lock checks require compile-time lock checks 2020-08-29 20:46:47 +03:00
sync.h Remove unused LockAssertion struct 2020-09-19 18:02:42 +03:00
threadinterrupt.cpp
threadinterrupt.h scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
threadsafety.h Drop deprecated and unused GUARDED_VAR and PT_GUARDED_VAR annotations 2020-08-18 10:46:53 +03:00
timedata.cpp Avoid the use of abs64 in timedata 2020-10-12 19:50:16 -07:00
timedata.h
tinyformat.h util: Update tinyformat to upstream 2019-12-06 10:02:08 +01:00
torcontrol.cpp Merge #19954: Complete the BIP155 implementation and upgrade to TORv3 2020-10-11 08:51:57 +08:00
torcontrol.h net: Pass onion service target to Tor controller 2020-10-01 19:00:07 +03:00
txdb.cpp When validation is waiting for parent chain daemon, "stall". 2021-09-13 22:10:09 +00:00
txdb.h When validation is waiting for parent chain daemon, "stall". 2021-09-13 22:10:09 +00:00
txmempool.cpp Merge 9e217f5a6f into merged_master (Bitcoin PR #19572) 2020-11-29 19:44:31 +00:00
txmempool.h ci: eliminate a bunch of build warnings 2021-03-26 17:33:05 +00:00
txrequest.cpp p2p: declare Announcement::m_state as uint8_t, add getter/setter 2020-10-16 23:33:44 +02:00
txrequest.h Report and verify expirations 2020-10-12 12:14:53 -07:00
uint256.cpp taproot: feed genesis hash and parent pegged asset to sighash function 2021-07-01 17:56:44 +00:00
uint256.h Make XOnlyPubKey act like byte container 2021-08-27 19:24:07 +00:00
undo.h scripted-diff: Bump copyright headers 2020-04-16 13:33:09 -04:00
validation.cpp When validation is waiting for parent chain daemon, "stall". 2021-09-13 22:10:09 +00:00
validation.h When validation is waiting for parent chain daemon, "stall". 2021-09-13 22:10:09 +00:00
validationinterface.cpp Add 'sequence' zmq publisher to track all block (dis)connects, mempool deltas 2020-09-22 11:34:30 -04:00
validationinterface.h Add 'sequence' zmq publisher to track all block (dis)connects, mempool deltas 2020-09-22 11:34:30 -04:00
version.h net: CNetAddr: add support to (un)serialize as ADDRv2 2020-09-17 22:17:17 +02:00
versionbits.cpp Merge 99813a9745 into merged_master (Bitcoin PR #17829) 2020-11-14 16:52:02 +00:00
versionbits.h Merge 99813a9745 into merged_master (Bitcoin PR #17829) 2020-11-14 16:52:02 +00:00
versionbitsinfo.cpp Merge 3caee16946 into merged_master (Bitcoin PR #19953) 2020-12-01 02:54:57 +00:00
versionbitsinfo.h
walletinitinterface.h refactor: add unused ArgsManager to replace gArgs 2020-07-29 16:36:44 +07:00
warnings.cpp Make SetMiscWarning() accept bilingual_str argument 2020-06-10 15:01:20 +03:00
warnings.h Make SetMiscWarning() accept bilingual_str argument 2020-06-10 15:01:20 +03:00