bitcoin/src
MarcoFalke 5ec19df687
Merge #19277: util: Add Assert identity function
fab80fef61 refactor: Remove unused EnsureChainman (MarcoFalke)
fa34587f1c scripted-diff: Replace EnsureChainman with Assert in unit tests (MarcoFalke)
fa6ef701ad util: Add Assert identity function (MarcoFalke)
fa457fbd33 move-only: Move NDEBUG compile time check to util/check (MarcoFalke)

Pull request description:

  The utility function is primarily useful to dereference pointer types, which are known to be not null at that time.

  For example, the ArgsManager is known to exist when the wallets are started: https://github.com/bitcoin/bitcoin/pull/18923/files#diff-fdb2a1a1d8bc790fcddeb6cf5a42ac55R503 . Instead of silently relying on that assumption, `Assert` can be used to abort the program and avoid UB should the assumption ever be violated.

ACKs for top commit:
  promag:
    Tested ACK fab80fef61.
  ryanofsky:
    Code review ACK fab80fef61

Tree-SHA512: 830fba10152ba17d47c4dd42809c7e26f9fe6d38e17a2d5b3f054fd644a5c4c9841286ac421ec9bb28cea9f5faeb659740fcf00de6cc589d423fee7694c42d16
2020-07-04 08:44:45 -04:00
..
bench scripted-diff: Replace WalletDatabase::Create* with CreateWalletDatabase 2020-06-17 14:12:41 -04:00
compat net: Use C++11 member initialization in protocol 2020-05-20 08:27:07 -04:00
config
consensus refactor: replace pointers by references within tx_verify.{h,cpp} 2020-05-26 16:05:51 +02:00
crc32c Import crc32c using subtree merge as as 'src/crc32c' 2020-01-28 17:00:01 +01:00
crypto build: improve builtin_clz* detection 2020-06-29 11:31:17 +08:00
index scripted-diff: Move ui_interface to the node lib 2020-06-27 11:49:28 -04:00
interfaces Merge #19396: refactor: Remove confusing OutputType::CHANGE_AUTO 2020-07-02 16:10:49 +02: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 Merge #19277: util: Add Assert identity function 2020-07-04 08:44:45 -04:00
policy Merge #19114: scripted-diff: TxoutType C++11 scoped enum class 2020-06-28 14:20:00 -04:00
primitives Merge #18317: Serialization improvements step 6 (all except wallet/gui) 2020-05-20 07:30:29 -04:00
qt Merge bitcoin-core/gui#17: doc: Remove outdated comment in TransactionTablePriv 2020-07-01 19:27:56 -04:00
rpc Merge #19277: util: Add Assert identity function 2020-07-04 08:44:45 -04:00
script script: Fix boost/C++17 compile failure 2020-07-01 17:24:46 -04:00
secp256k1 Update src/secp256k1 subtree 2020-06-09 13:39:09 -07:00
support Limit scope of all global std::once_flag 2020-05-29 17:22:07 -04:00
test Merge #19277: util: Add Assert identity function 2020-07-04 08:44:45 -04:00
univalue Update univalue subtree 2020-02-09 07:44:29 -08:00
util Merge #19277: util: Add Assert identity function 2020-07-04 08:44:45 -04:00
wallet Merge #19277: util: Add Assert identity function 2020-07-04 08:44:45 -04:00
zmq scripted-diff: Bump copyright headers 2020-04-16 13:33:09 -04:00
.clang-format [tools] Update clang-format config 2020-05-28 13:26:18 -04:00
addrdb.cpp scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
addrdb.h Convert addrdb/addrman to new serialization 2020-01-02 11:05:36 -08:00
addrman.cpp Merge #18512: Improve asmap checks and add sanity check 2020-05-06 14:59:28 +02:00
addrman.h logging: asmap logging and #include fixups 2020-03-04 14:24:19 +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
attributes.h
banman.cpp scripted-diff: Move ui_interface to the node lib 2020-06-27 11:49:28 -04:00
banman.h refactor: move DUMP_BANS_INTERVAL to banman.h 2020-03-10 09:52:53 -04:00
base58.cpp scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
base58.h scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
bech32.cpp Add some general std::vector utility functions 2019-10-16 08:56:57 -07:00
bech32.h Assert that the HRP is lowercase in Bech32::Encode 2019-09-05 13:25:11 +12:00
bitcoin-cli-res.rc
bitcoin-cli.cpp cli: add multiwallet capability to GetNewAddress and -generate 2020-06-02 08:50:51 +02:00
bitcoin-tx-res.rc
bitcoin-tx.cpp scripted-diff: Bump copyright headers 2020-04-16 13:33:09 -04:00
bitcoin-wallet-res.rc
bitcoin-wallet.cpp wallettool: Add a salvage command 2020-05-25 12:36:48 -04:00
bitcoind-res.rc
bitcoind.cpp scripted-diff: Move ui_interface to the node lib 2020-06-27 11:49:28 -04:00
blockencodings.cpp Get rid of -Wthread-safety-precise warnings 2020-05-28 09:55:39 +03:00
blockencodings.h Get rid of -Wthread-safety-precise warnings 2020-05-28 09:55:39 +03:00
blockfilter.cpp tests: Add fuzzing harness for Golomb-Rice coding (GolombRiceEncode/GolombRiceDecode) 2020-04-20 14:57:48 +00: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 scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
chain.h scripted-diff: Bump copyright headers 2020-04-16 13:33:09 -04:00
chainparams.cpp [net] Add seed.bitcoin.wiz.biz to DNS seeds 2020-06-15 18:22:52 +09:00
chainparams.h scripted-diff: Bump copyright headers 2020-04-16 13:33:09 -04:00
chainparamsbase.cpp scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
chainparamsbase.h scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
chainparamsseeds.h net: Hardcoded seeds update for 0.20 2020-04-03 16:29:26 +02:00
checkqueue.h scripted-diff: Bump copyright headers 2020-04-16 13:33:09 -04:00
clientversion.cpp Drop unused GIT_COMMIT_DATE macro 2020-05-04 19:53:58 +03:00
clientversion.h
coins.cpp Remove CCoinsViewCache::GetValueIn(...) 2020-05-03 18:42:14 +00:00
coins.h Merge #18854: doc: Fix typo in Coin doxygen comment 2020-05-06 13:15:28 +02:00
compat.h
compressor.cpp scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
compressor.h scripted-diff: Bump copyright headers 2020-04-16 13:33:09 -04:00
core_io.h scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
core_memusage.h
core_read.cpp refactor: Replace const char* to std::string 2020-05-22 01:40:31 +09:00
core_write.cpp Merge #19114: scripted-diff: TxoutType C++11 scoped enum class 2020-06-28 14:20:00 -04: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 scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
dummywallet.cpp wallet: Avoid translating RPC errors when loading wallets 2020-05-01 07:39:00 -04:00
flatfile.cpp Style cleanup. 2019-02-22 17:38:45 -08:00
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
hash.h Squashed 'src/secp256k1/' changes from 0b70241850..b19c000063 2019-03-31 11:41:05 -07: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 scripted-diff: Move ui_interface to the node lib 2020-06-27 11:49:28 -04: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 Merge #19277: util: Add Assert identity function 2020-07-04 08:44:45 -04:00
init.h refactor: Pass NodeContext to RPC and REST methods through util::Ref 2020-05-13 16:20:13 -04:00
key.cpp scripted-diff: rename privkey with seckey in secp256k1 interface 2020-06-10 18:29:33 -07:00
key.h scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
key_io.cpp scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
key_io.h
limitedmap.h
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
Makefile.am build: Sort Makefile.am after renaming file 2020-06-27 11:49:35 -04:00
Makefile.bench.include Add Hash Padding Microbenchmarks 2020-04-29 00:31:41 -07: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] Remove unused RES_IMAGES 2020-06-29 05:48:44 +01:00
Makefile.qt_locale.include qt: Translations update pre-branch 2020-04-01 12:49:15 +02:00
Makefile.qttest.include build: Create test utility library from src/test/util/ 2019-11-21 21:13:08 +01:00
Makefile.test.include Merge #19204: p2p: Reduce inv traffic during IBD 2020-06-29 09:45:56 -04: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 fuzz: Add process_messages harness 2020-04-05 10:46:24 +08:00
memusage.h scripted-diff: Bump copyright headers 2020-04-16 13:33:09 -04:00
merkleblock.cpp Convert merkleblock to new serialization 2020-03-30 16:09:51 -07:00
merkleblock.h Convert merkleblock to new serialization 2020-03-30 16:09:51 -07:00
miner.cpp scripted-diff: Bump copyright headers 2020-04-16 13:33:09 -04:00
miner.h scripted-diff: Bump copyright headers 2020-04-16 13:33:09 -04:00
net.cpp scripted-diff: Move ui_interface to the node lib 2020-06-27 11:49:28 -04:00
net.h Merge #18937: refactor: s/command/msg_type/ in CNetMsgMaker and CSerializedNetMsg 2020-06-19 06:54:24 -04:00
net_permissions.cpp refactor: PutTryParsePermissionFlags in anonymous namespace 2020-06-09 15:39:44 +02:00
net_permissions.h refactor: Error message bilingual_str consistency 2020-06-09 15:39:44 +02:00
net_processing.cpp Merge #19277: util: Add Assert identity function 2020-07-04 08:44:45 -04:00
net_processing.h refactor: replace CNode pointers by references within net_processing.{h,cpp} 2020-06-02 01:42:55 +02:00
net_types.h refactor: Remove addrdb.h dependency from node.h 2019-10-29 11:30:12 +02:00
netaddress.cpp Merge #18512: Improve asmap checks and add sanity check 2020-05-06 14:59:28 +02:00
netaddress.h Merge #18317: Serialization improvements step 6 (all except wallet/gui) 2020-05-20 07:30:29 -04:00
netbase.cpp refactor: Replace RecursiveMutex with Mutex in netbase.cpp 2020-06-06 17:19:52 +03: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 Enable Wswitch for OutputType 2020-07-01 18:03:12 -04:00
outputtype.h Remove confusing OutputType::CHANGE_AUTO 2020-07-01 18:02:38 -04: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 #19112: rpc: Remove special case for unknown service flags 2020-06-04 17:16:49 +02:00
protocol.h Merge #19044: net processing: Add support for getcfilters 2020-05-31 18:20:17 -04:00
psbt.cpp psbt: always put a non_witness_utxo and don't remove it 2020-06-24 16:32:19 -04:00
psbt.h psbt: always put a non_witness_utxo and don't remove it 2020-06-24 16:32:19 -04:00
pubkey.cpp scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
pubkey.h Check size after Unserializing CPubKey 2020-06-10 17:35:43 +03:00
random.cpp Merge #18781: Add templated GetRandDuration<> 2020-05-15 08:58:49 -04:00
random.h Add templated GetRandomDuration<> 2020-04-30 09:19:14 -04:00
randomenv.cpp scripted-diff: Bump copyright headers 2020-04-16 13:33:09 -04:00
randomenv.h [MOVEONLY] Move perfmon data gathering to new randomenv module 2019-11-12 14:50:44 -08:00
rest.cpp refactor: Replace HexStr(o.begin(), o.end()) with HexStr(o) 2020-06-24 18:41:45 +02: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 Remove old serialization primitives 2020-05-24 10:35:00 -07:00
shutdown.cpp
shutdown.h
span.h doc: Document Span pitfalls 2020-06-26 13:49:52 -07:00
streams.h scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
sync.cpp Use template function instead of void* parameter 2020-05-28 09:55:04 +03:00
sync.h Add means to handle negative capabilities in thread safety annotations 2020-06-11 15:49:39 +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 Add means to handle negative capabilities in thread safety annotations 2020-06-11 15:49:39 +03:00
timedata.cpp scripted-diff: Move ui_interface to the node lib 2020-06-27 11:49:28 -04:00
timedata.h
tinyformat.h util: Update tinyformat to upstream 2019-12-06 10:02:08 +01:00
torcontrol.cpp net: Avoid using C-style NUL-terminated strings as arguments in the netbase interface 2020-01-08 12:35:59 +00:00
torcontrol.h scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
txdb.cpp scripted-diff: Move ui_interface to the node lib 2020-06-27 11:49:28 -04:00
txdb.h scripted-diff: Bump copyright of files changed in 2020 2020-01-15 02:18:00 +07:00
txmempool.cpp wallet: Minimal fix to restore conflicted transaction notifications 2020-05-15 09:23:55 -04:00
txmempool.h [trivial/doc] Fix comment type 2020-05-25 11:27:07 -07:00
uint256.cpp refactor: define a UINT256_ONE global constant 2020-01-23 16:35:08 -05:00
uint256.h refactor: define a UINT256_ONE global constant 2020-01-23 16:35:08 -05:00
undo.h scripted-diff: Bump copyright headers 2020-04-16 13:33:09 -04:00
validation.cpp Merge #19277: util: Add Assert identity function 2020-07-04 08:44:45 -04:00
validation.h refactor: Remove confusing BlockIndex global 2020-06-29 20:28:47 -04:00
validationinterface.cpp trivial: Suggested cleanups to surrounding code 2020-05-22 16:30:07 -04:00
validationinterface.h trivial: Suggested cleanups to surrounding code 2020-05-22 16:30:07 -04:00
version.h
versionbits.cpp scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
versionbits.h scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
versionbitsinfo.cpp scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
versionbitsinfo.h
walletinitinterface.h scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13: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