Changelog for
libnamecoinconsensus0-devel-25.1.0-1.23.x86_64.rpm :
* Sat Nov 04 2023 marecAATTdetebe.org- Update to version 25.1.0:
* doc: update release notes for 25.1
* doc: update manual pages for 25.1
* build: bump version to 25.1 final
* doc: add release notes for 25.1rc1
* doc: update manual pages for 25.1rc1
* build: Bump version to 25.1rc1
* doc: add 25.0 release notes
* http: bugfix: track closed connection
* http: log connection instead of request count
* http: refactor: use encapsulated HTTPRequestTracker
* gui: macOS, make appMenuBar part of the main app window
* gui: macOS, do not process dock icon actions during shutdown
* depends: fix unusable memory_resource in macos qt build
* build, macos: Fix `qt` package build with new Xcode 15 linker
* test: Test loading wallets with conflicts without a chain
* wallet: Check last block and conflict height are valid in MarkConflicted
* ci: Nuke Android APK task, Use credits for tsan
* test: ensure old fee_estimate.dat not read on restart and flushed
* tx fees, policy: read stale fee estimates with a regtest-only option
* tx fees, policy: do not read estimates of old fee_estimates.dat
* tx fees, policy: periodically flush fee estimates to fee_estimates.dat
* test: wallet, verify migration doesn\'t crash for an invalid script
* wallet: disallow migration of invalid or not-watched scripts
* Do not use std::vector = {} to release memory
* qt: 25.1rc1 translations update
* depends: xcb-proto 1.15.2
* test: wallet, add coverage for watch-only raw sh script migration
* descriptor: InferScript, do not return top-level only func as sub descriptor
* test: wallet, add coverage for addressbook migration
* wallet: migration bugfix, persist empty labels
* wallet: migration bugfix, clone \'send\' record label to all wallets
* Unconditionally return when compact block status == READ_STATUS_FAILED
* Add tests for parallel compact block downloads
* Support up to 3 parallel compact block txn fetchings
* Only request full blocks from the peer we thought had the block in-flight
* Convert mapBlocksInFlight to a multimap
* Remove nBlocksInFlight
* alias BlockDownloadMap for mapBlocksInFlight
* ci: Switch to `amd64` container in \"ARM\" task
* test: add coverage for `/deploymentinfo` passing a blockhash
* rest: bugfix, fix crash error when calling `/deploymentinfo`
* ci: Use podman stop over podman kill
* ci: Use podman for persistent workers
* ci: Prune dangling images on RESTART_CI_DOCKER_BEFORE_RUN
* build: disable boost multi index safe mode
* rpc: Fix invalid bech32 handling
* Mon May 29 2023 marecAATTdetebe.org- Update to version 25.0.0:
* doc: update release notes for 25.0
* doc: update manual pages for 25.0
* build: bump version to v25.0 final
* doc: update manual pages for v25.0rc2
* build: bump version to v25.0rc2
* net_processing: Boost inv trickle rate
* txmempool: have CompareDepthAndScore sort missing txs first
* p2p: Avoid prematurely clearing download state for other peers
* qt: 25.0rc2 translations update
* doc: generate example bitcoin.conf for v25.0rc1
* doc: generate manual pages for v25.0rc1
* doc: point release-notes.md to the dev wiki
* doc: update version number in bips.md to v25.0
* build: bump version to v25.0rc1
* doc: Remove 25.0 release note fragments
* build: Bump to 25.99
* p2p: update hardcoded mainnet seeds for 25.x
* contrib: make-seeds updates for 25.x
* p2p: update manual tor/i2p/cjdns mainnet seeds for 25.x
* ci: build libc++ with assertions in MSAN jobs
* ci: build libc++ in DEBUG mode in MSAN jobs
* doc: remove outdated version number usage from release-process
* kernel: update m_assumed_
* chain params for 25.x
* kernel: update chainTxData for 25.x
* kernel: update nMinimumChainWork & defaultAssumeValid for 25.x
* doc: update references to kernel/chainparams.cpp
* depends: add _LIBCPP_ENABLE_ASSERTIONS to DEBUG mode
* depends: Remove _LIBCPP_DEBUG from depends DEBUG mode
* test: add regression tests for #27468 (invalid URI segfaults)
* bugfix: rest: avoid segfault for invalid URI
* depends: fix compiling bdb with clang-16 on aarch64
* Don\'t return OutputType::UNKNOWN in ParseOutputType
* test: fix bumpfee \'spend_one_input\' occasional failure
* Update developer-notes.md
* Respect and update FILES_ARGS in test/lint/lint-python.py
* Disable Python lint in src/secp256k1
* Squashed \'src/secp256k1/\' changes from bdf39000b9..4258c54f4e
* verify-commits: error and exit cleanly when git is too old.
* qt: Register `wallet::AddressPurpose` type
* ci: explicitly install libclang-rt-dev in valgrind jobs
* valgrind: update supps for Debian Bookworm.
* ci: use Debian Bookworm and Valgrind 3.19 in Valgrind jobs
* doc: update OpenBSD build docs for 7.3 (external signer support available)
* doc: Release note for purpose string restriction
* wallet: Replace use of purpose strings with an enum
* wallet: add AddressPurpose enum to replace string values
* wallet: Add wallet/types.h for simple public enum and struct types
* ci: Bump nowallet_libbitcoinkernel task to ubuntu:focal
* ci: Use credits in more tasks
* ci: Use Cirrus CI dockerfile env
* test: fix importmulti/importdescriptors assertion
* rpc: move WALLET_FLAG_CAVEATS to the compilation unit of its caller
* doc: release note for wallet RPCs \"warning\" field deprecation
* test: createwallet \"warning\" field deprecation test
* rpc: deprecate \"warning\" field in {create,load,unload,restore}wallet
* test: add test coverage for \"warnings\" field in createwallet
* rpc: add \"warnings\" field to RPCs {create,load,unload,restore}wallet
* rpc: extract wallet \"warnings\" fields to a util helper
* doc: fix/improve warning helps in {create,load,unload,restore}wallet
* tests: Make sure that bumpfee feerate checks work when replacing outputs
* bumpfee: Check the correct feerate when replacing outputs
* test: LLVM/Clang 16 for MSAN jobs
* contrib: minor doc improvements in verify-binaries
* contrib: fixup verifybinaries example docs
* doc: correct sqlite & qrencode versions used in depenendencies.md
* contrib: move verify scripts to verify-binaries
* doc: update DataDirectoryGroupReadable 1 in tor.md
* verifybinaries: fix argument type error pointed out by mypy
* verifybinaries: catch the correct exception
* verifybinaries: fix OS download filter
* verifybinaries: use recommended keyserver by default
* verifybinaries: remove unreachable code
* verifybinaries: Don\'t delete shasums file
* verifybinaries: README cleanups
* verifybinaries: remove awkward bitcoin-core prefix handling
* verifybinaries: move all current examples to the pub subcommand
* p2p: skip netgroup diversity of new connections for tor/i2p/cjdns networks
* ci: Run base install at most once
* Fixes compile errors in MSVC build #27332
* ci: fix git dubious permissions error
* ci: use clang-16 in tidy task
* build: remove ancient unused define
* test: Remove windows workaround in authproxy
* depends: add NO_HARDEN option
* test,gui: add coverage for PSBT creation on legacy watch-only wallets
* test,gui: decouple widgets and model into a MiniGui struct
* test,gui: decouple chain and wallet initialization from test case
* gui: \'getAvailableBalance\', include watch only balance
* test: add coverage for \'useAvailableBalance\' functionality
* gui: bugfix, getAvailableBalance skips selected coins
* refactor: don\'t avoid sys/types.h on when building for Windows
* test: refactor: replace unnecessary `BytesIO` uses
* depends, doc: Document `NO_USDT` option
* miniscript: explicit cast instead of comparing integers of different signs
* test: Remove python3.5 workaround in authproxy
* qt: Update translation source file
* qt: Adjust plural forms for translations
* GUI: Send: Make feerates translatable
* Bugfix: GUI: Send/PSBT: Correct virtual size unit and make translatable
* Bugfix: GUI: transactiondesc: Translate outlier \"own address\" and \"watch-only\"
* GUI: Use translated external signer errors for messagebox text
* GUI: Make messages for copying unsigned PSBTs translatable
* Bugfix: GUI: Debug info: Use correct \"kB\" case for small mempool sizes, and make translation-friendly
* GUI: PSBTOperationsDialog: Support translating window title
* GUI: Intro: Support translating caption of data directory chooser
* GUI: Support translating peer network names
* GUI: Support translating address type dropdown entries
* [net processing] Pass TxRelay to FindTxForGetData instead of Peer
* [net processin] Don\'t take cs_main in FindTxForGetData
* ci: Remove second user account
* sanitizers: remove GetRNGState lsan suppression
* scripted-diff: Rename nUnconnectingHeaders and fPreferHeaders
* [net processing] Move m_recently_announced_invs from CNodeState to Peer
* [net processing] Annotate m_recently_announced_invs as guarded by g_msgproc_mutex
* [net processing] Move fPreferHeaders from CNodeState to Peer
* [net processing] Annotate fPreferHeaders as guarded by g_msgproc_mutex
* [net processing] Move m_headers_sync_timeout from CNodeState to Peer
* [net processing] Annotate m_headers_sync_timeout as guarded by g_msgproc_mutex
* [net processing] Move nUnconnectingHeaders from CNodeState to Peer
* [net processing] Annotate nUnconnectingHeaders as guarded by g_msgproc_mutex
* [validation] Annotate ChainstateManager::m_best_header as guarded by cs_main
* refactor: Drop no longer used `CNetMsgMaker` instances
* ci: use LLVM/clang-16 in native_fuzz (ASAN) job
* guix: use python-minimal (3.9)
* contrib: Use machine parseable GPG output in verifybinaries
* contrib: Add verifybinaries command for specifying files to verify
* contrib: Specify to GPG the SHA256SUMS file that is detached signed
* contrib: Refactor verifbinaries to support subcommands
* contrib: verifybinaries: allow multisig verification
* test: dedup package limit checks via decorator in mempool_package_limits.py
* test: refactor: use Satoshis for fees in mempool_package_limits.py
* refactor: use address_to_scriptpubkey to retrieve addresses scriptpubkey
* refactor: move address_to_scriptpubkey to address.py
* ci: Use TSan new runtime (llvm-16, take 3)
* test: Fix intermittent failure in ChainStateManager tests
* ci: cleanup of CI_EXEC & CI_EXEC_ROOT (refs #27321)
* depends: make fontconfig build under clang-16
* fuzz: Remove legacy int parse fuzz tests
* guix: use gcc tool wrappers
* [net] Pass nRecvFloodSize to CNode
* [net] Remove trivial GetConnectionType() getter
* [net] Delete CNetMessage copy constructor/assignment op
* clang-tidy: Exclude `performance-
*` checks rather including them
* clang-tidy: Add `performance-type-promotion-in-math-fn` check
* clang-tidy: Add `performance-inefficient-vector-operation` check
* clang-tidy: Add `performance-faster-string-find` check
* depends: fix osx build with clang 16
* guix: combine and document enable_werror
* ci: Cache more stuff in the ci images: msan, iwyu, pip, sdks
* test: wallet_create_tx.py fix race
* Check that the Timestamp String is valid
* build, qt: Fix handling of `CXX=clang++` when building `qt` package
* refactor: Move fs.
* to util/fs.
*
* Add missing fs.h includes
* Add missing cstddef include in assumptions.h
* refactor: Extract util/fs_helpers from util/system
* test: add bech32 decoding support to address_to_scriptpubkey()
* test: test_bech32_decode in address.py
* depends: qrencode 4.1.1
* ci: Use clang-15 in \"tidy\" task
* [net] Remove CNode friends
* [net] Add CNode helper for send byte accounting
* scripted-diff: [net] Rename CNode process queue members
* [net] Make cs_vProcessMsg a non-recursive mutex
* [net] Make CNode msg process queue members private
* [net] Encapsulate CNode message polling
* test: Remove unused Check
* default constructors
* guix: use cmake-minimal for python-lief
* guix: import LIEF from upstream (0.12.3)
* test: Default initialize `should_freeze` to `true`
* refactor: Drop no longer used `swap` member functions
* clang-tidy: Fix modernize-use-default-member-init in `CScriptCheck`
* refactor: Drop no longer used `CScriptCheck()` default constructor
* refactor: Use move semantics in `CCheckQueue::Loop`
* clang-tidy, test: Fix bugprone-use-after-move in `Correct_Queue_range()`
* refactor: Make move semantics explicit for callers
* refactor: Use move semantics in `CCheckQueue::Add`
* test, refactor: Avoid `CScriptCheck::swap` in `transaction_tests`
* consensus, refactor: Avoid `CScriptCheck::swap` in `CheckInputScripts`
* Refactor: Remove unused FlatFilePos::SetNull
* test: Replace threading with concurrent.futures
* log: on new valid header
* Add mempool tracepoints
* log: net: new header over cmpctblock
* refactor: remove unused param from legacy pubkey
* test: Fix TypeError in wait_for_debug_log
* [net] Deduplicate marking received message for processing
* [net] Add connection type getter to CNode
* test: Make the unlikely race in p2p_invalid_messages impossible
* Fix fund transaction case at 0-value, 0-fee
* [net processing] Use TxRelay::m_relay_txs over CNode::m_relays_txs
* test: fix race condition in encrypted wallet rescan tests
* test: check that sigop limit also affects ancestor/descendant size
* refactor: Don\'t use global chainparams in chainstatemanager method
* Split non/kernel chainparams
* Add factory functions for Main/Test/Sig/Reg chainparams
* Remove UpdateVersionBitsParameters
* Decouple RegTestChainParams from ArgsManager
* Decouple SigNetChainParams from ArgsManager
* refactor: Add and use PRUNE_TARGET_MANUAL constexpr
* Move ::fImporting to BlockManager
* Pass fImporting to ImportingNow helper class
* Move ::fPruneMode into BlockManager
* p2p: Account for MANUAL conns when diversifying persistent outbound conns
* p2p: Diversify connections only w.r.t
*persistent
* outbound peers
* Move ::nPruneTarget into BlockManager
* refactor: Move error() from util/system.h to logging.h
* refactor: Extract util/exception from util/system
* [test] Add manual prune startup test case
* guix: use osslsigncode 2.5
* qt: mask values on transactions view
* doc: add release note for 26899
* p2p: set `-dnsseed` and `-listen` false if `maxconnections=0`
* refactor: Consistently use args over gArgs in init.cpp
* refactor: Consistently use context args over gArgs in node/interfaces
* doc: Show how less noisy clang-tidy output can be achieved
* [util] Avoid integer overflow in CheckDiskSpace
* test: add wallet too-long-mempool-chain error coverage
* wallet: return error msg for too-long-mempool-chain failure
* rpc: Add submit option to generateblock
* refactor: Replace block_hash with block_out
* util: fix argsman dupe key error
* refactor: Replace GetTimeMicros by SystemClock
* Use string interpolation for default value of -listen
* Squashed \'src/secp256k1/\' changes from 21ffe4b22a9..bdf39000b9c
* wallet: remove coin control arg from AutomaticCoinSelection
* doc: update broken links
* wallet: remove unused methods
* wallet: GroupOutput, remove unneeded \"spendable\" check
* wallet: OutputGroup, remove unused effective_feerate member
* wallet: APS, don\'t create empty groups
* wallet: do not make two COutputs, use shared_ptr
* test: Use self.wait_until over wait_until_helper
* docs: update assumeutxo.md
* test: add snapshot completion unittests
* refactor: make MempoolMutex() public
* log: add LoadBlockIndex() message for assumedvalid blocks
* validation: add ChainMan logic for completing UTXO snapshot validation
* doc: improve -debuglogfile help to be a bit clearer
* bench: document expected results in logging benchmarks
* bench: add LogPrintfCategory and LogPrintLevel benchmarks
* test: Flatten miniwallet array and remove random fee in longpoll
* bench: order the logging benchmark code by output
* bench: update logging benchmark naming for clarity
* test: Default timeout factor to 4 under --valgrind
* util: Work around ParseHex gcc cross compiler bug
* test: add coverage for sigop limit policy (`-bytespersigop` setting)
* bench: allow logging benchmarks to be order-independent
* doc: remove \'omitted...\' doc for rpc getrawtransaction when verbose is 2
* Expand scantxoutset help text to cover tr() and miniscript
* gui: fix comments for BanTableModel and BanTablePriv::refreshBanlist()
* gui: use the stored CSubNet entry when unbanning
* wallet: single output groups filtering and grouping process
* wallet: unify outputs grouping process
* test: coinselector_tests refactor, use CoinsResult instead of plain std::vector
* wallet: decouple outputs grouping process from each ChooseSelectionResult
* refactor: make OutputGroup::m_outputs field a vector of shared_ptr
* test: wallet, add coverage for outputs grouping process
* test: psbt: check non-witness UTXO removal for segwit v1 input
* test: speedup rpc_psbt.py by whitelisting peers (immediate tx relay)
* test: PSBT: eliminate magic numbers for global unsigned tx key (0)
* util: add missing include and fix function signature
* Fixed a couple of typos in comments to make linter happy
* wallet: make OutputGroup \"positive_only\" filter explicit
* Use steady clock in FlushStateToDisk
* Use steady clock in SeedStrengthen and FindBestImplementation
* guix: pass --enable-initfini-array to release GCC
* doc: Update Transifex links and slug format in Release Process
* doc: DummySignInput mention external signer
* Deduplicate bitcoind and bitcoin-qt init code
* Add InitError(error, details) overload
* Extend bilingual_str support for tinyformat
* scripted-diff: Remove double newlines after some init errors
* [ci] change lint to bookworm for git v2.38
* Make miniscript fuzzers avoid script size limit
* Make miniscript fuzzers avoid ops limit
* Enforce type consistency in miniscript_stable fuzz test
* Simplify miniscript fuzzer NodeInfo struct
* Do base type propagation in miniscript_stable fuzzer
* docs: GetDataDirNet and GetDataDirBase don\'t create datadir
* guix: use cmake-minimal over cmake
* guix: use coreutils-minimal over coreutils
* guix: use bash-minimal over bash
* valgrind: remove libsecp256k1 suppression
* refactor: Stop using gArgs global in system.cpp
* refactor: Use new GetConfigFilePath function
* qt: Update translation source file
* qt: Bump Transifex slug for 25.x
* qt: Periodic translation updates from Transifex
* util: Return empty vector on invalid hex encoding
* test: Add hex parse unit tests
* doc: add explanation for fail_on_insufficient_dbcache
* init: Return more fitting ChainStateLoadStatus if verification was interrupted
* doc: mention sanitizer suppressions in developer docs
* util: Remove duplicate include
* wallet: skip R-value grinding for external signers
* wallet: annotate bools in descriptor SPKM FillPSBT()
* util: make GetDataDir read-only & create datadir..
* util: add ArgsManager datadir helper functions
* build: allow libitcoinkernel dll builds now that exports are fixed
* build: always build bitcoin-chainstate against static libbitcoinkernel
* build: fix bitcoin-chainstate when libbitcoinkernel is static
* build: don\'t define DLL_EXPORT for windows
* docs: add ramdisk guide for running tests on OSX
* move-only-ish: init: factor out chainstate initialization
* add Chainstate::HasCoinsViews()
* validation: add CChainState::m_disabled and ChainMan::isUsable
* add ChainstateManager.GetSnapshot{BaseHeight,BaseBlock}()
* kernel: add missing include
* test: Replace 0xC0 constant
* verify-commits: Mention git v2.38.0 requirement
* wallet, rpc: Update migratewallet help text for encrypted wallets
* tests: Tests for migrating wallets by name, and providing passphrase
* Detailed error message for passphrases with null chars
* doc: Release notes for 27068
* Test case for passphrases with null characters
* Pass all characters to SecureString including nulls
* Raise PRNG seed log to INFO.
* Revert \"[contrib] verify-commits: Add MarcoFalke fingerprint\"
* github: Switch to yaml issue templates
* Add release note for PR#25943
* Add test for unspendable transactions and parameter \'maxburnamount\' to sendrawtransaction.
* depends: use FORTIFY_SOURCE=3 with libevent
* test: fix intermittent issue in `p2p_disconnect_ban`
* rpc: fix successful broadcast count in `submitpackage` error msg
* lint: enable E722 do not use bare except
* test: fix test abort for high timeout values (and `--timeout-factor 0`)
* BIP341 txdata cannot be precomputed without spent outputs
* random: consolidate WIN32 #ifdefs
* random: remove compat.h include
* random: use int for MAX_TRIES
* fuzz: avoid redundant dup key checks when creating Miniscript nodes
* build: use _FORTIFY_SOURCE=3
* doc: add release note for #25574
* validation: report if pruning prevents completion of verification
* init, validation: Improve handling if VerifyDB() fails due to insufficient dbcache
* validation: return VerifyDBResult::INTERRUPTED if verification was interrupted
* validation: Change return value of VerifyDB to enum type
* wallet: Be able to unlock the wallet for migration
* rpc: Allow users to specify wallet name for migratewallet
* wallet: Allow MigrateLegacyToDescriptor to take a wallet name
* verify-commits: Skip checks for commits older than trusted roots
* verify-commits: Use merge-tree in clean merge check
* verify-commits: Remove all allowed commit exceptions
* verify-commits: Move trusted-keys valid sig check into verify-commits itself
* tests: decodescript can infer descriptors for scripts >520 bytes
* rpc: Use FlatSigningProvider in decodescript
* doc: remove mention of \"proper signing key\"
* script: remove out-of-date snprintf TODO
* net: remove orphaned CSubNet::SanityCheck()
* refactor: remove
include from wallet.h
* refactor: wallet, remove global \'ArgsManager\' access
* wallet: set \'-walletnotify\' script instead of access global args manager
* wallet: set keypool_size instead of access global args manager
* wallet: reuse change dest when recreating TX with avoidpartialspends
* update the freebsd build doc to reflect recent changes to DB4 install process
* test: test rescanning encrypted wallets
* wallet: ensure that the passphrase is not deleted from memory when being used to rescan
* wallet: keep track of when the passphrase is needed when rescanning
* refactor: Disable unused special members functions in `UnlockContext`
* descriptors: fix docstring (param [in] vs [out])
* Modernize rpcauth.py and its tests
* test: Fix intermittent sync issue in wallet_pruning
* psbt: support externally provided preimages for Miniscript satisfaction
* guix: combine glibc hardening options into hardened-glibc
* guix: remove no-longer needed powerpc workaround
* guix: use glibc 2.27 for all Linux builds
* qa: add a \"smart\" Miniscript fuzz target
* qa: add a fuzz target generating random nodes from a binary encoding
* qa: functional test Miniscript signing with key and timelocks
* refactor: make descriptors in Miniscript functional test more readable
* wallet: check solvability using descriptor in AvailableCoins
* script/sign: signing support for Miniscripts with hash preimage challenges
* script/sign: signing support for Miniscript with timelocks
* script/sign: basic signing support for Miniscript descriptors
* Align \'e\' property of or_d and andor with website spec
* Various additional explanations of the satisfaction logic from Pieter
* miniscript: satisfaction support
* Zero out wallet master key upon lock
* test: Reduce extended timeout on abortnode test
* http: Release server before waiting for event base loop exit
* http: Track active requests and wait for last to finish
* verify-commits: Bump trusted git root to after most recent laanwj merge
* doc: Update ci docs
* doc: Remove unused REVIEWERS file
* refactor, validation: Add ChainstateManagerOpts db options
* refactor, txdb: Use DBParams struct in CBlockTreeDB
* refactor, txdb: Add CoinsViewOptions struct
* refactor, dbwrapper: Add DBParams and DBOptions structs
* De-duplicate add_coin methods to a test util helper
* Create InsecureRandMoneyAmount() test util helper
* test: p2p: check that headers message with invalid proof-of-work disconnects peer
* ci: Fix `fingerprint_script` for `depends` subdir caches
* net: add `Ensure{any}Banman`
* ci: Inline `MACOS_NATIVE_TASK_TEMPLATE`
* ci: Re-introduce `depends_built` cache back in macOS and Android tasks
* test: Fix intermittent sync issue in wallet_pruning
* build: set boost cppflags with --enable-fuzz
* ci: Use the latest Ubuntu LTS for \"ARM64 Android APK\" task
* doc: Document affected gcc versions for -fstack-reuse=none workaround
* ci: Cache stuff in volumes, not host folders
* doc: use arch agnostic clang path in fuzzing doc (macOS)
* Remove reindex special case from the progress bar label
* Remove laanwj from trusted-keys
* Move random test util code from setup_common to random
* test: Add test for file system permissions
* Apply default umask in `SetupEnvironment()`
* Remove `-sysperms` option
* Remove use of snprintf and simplify
* doc: release notes for #27037
* rpc: decode Miniscript descriptor when possible in decodescript
* test: simplify and speedup mempool_updatefromblock.py by using MiniWallet
* Exercise non-DIRTY spent coins in caches in fuzz test
* Update nanobench to version v4.3.10
* cli: include local (\"unreachable\") peers in -netinfo table
* ci: Remove unused EXPECTED_TESTS_DURATION_IN_SECONDS env var
* Add deterministic mode to CCoinsViewCache
* Add CCoinsViewCache::SanityCheck() and use it in fuzz test
* Add simulation-based CCoinsViewCache fuzzer
* mapport: require miniupnpc API version 17 or later
* ci: avoid using -Werror for older compilers
* addrman: Use std::nullopt instead of {}
* test: Remove AddrMan unit test that fails consistency checks
* ci: Print iwyu patch in git diff format
* Fix clang-tidy readability-const-return-type violations
* refactor: use `Hash` helper for double-SHA256 calculations
* Use steady clock for logging timer
* log: Log VerifyDB Progress over multiple lines
* validation: Skip VerifyDB checks of level >=3 if dbcache is too small
* refactor: Move calculation logic out from `CheckSequenceLocksAtTip()`
* refactor: Add `CalculateLockPointsAtTip()` function
* clang-tidy: Force to check all headers
* clang-tidy: Fix `modernize-use-default-member-init` in headers
* test: Use std::unique_ptr over manual delete in coins_tests
* Add unit test for ChaCha20\'s new caching
* Improve test vectors for ChaCha20
* Inline ChaCha20 32-byte specific constants
* Only support 32-byte keys in ChaCha20{,Aligned}
* Use ChaCha20Aligned in MuHash3072 code
* Use ChaCha20 caching in FastRandomContext
* Add fuzz test for testing that ChaCha20 works as a stream
* Add xoroshiro128++ PRNG
* Make unrestricted ChaCha20 cipher not waste keystream bytes
* Rename ChaCha20::Seek -> Seek64 to clarify multiple of 64
* Split ChaCha20 into aligned/unaligned variants
* Add assertions that BatchWrite(erase=true) erases
* Avoid unclear {it = ++it;}
* Follow coding style for named arguments
* Make test/fuzz/coins_view exercise CCoinsViewCache::Sync()
* depends: ensure we are appending to sqlite cflags
* s/transcation/transaction/
* depends: define `__BSD_VISIBLE` for FreeBSD bdb build
* refactor: Remove unused CDataStream SerializeMany constructor
* doc: NetPermissionFlags for tx relay in blocksonly
* doc: Fix comment syntax error
* net: simplify the call to vProcessMsg.splice()
* net_processing: simplify logging statement
* test: refactor: introduce `replace_in_config` helper
* build: Avoid `BOOST_NO_CXX98_FUNCTION_BASE` macro redefinition
* ci: Cache package manager install step
* doc: add release notes for 26896
* build: remove --enable-upnp-default from configure
* build: remove --enable-natpmp-default from configure
* Remove configure-time setting of DEFAULT_UPNP
* Remove configure-time setting of DEFAULT_NATPMP
* test: fix intermittent errors in p2p_ibd_stalling.py
* Fix comment about how wallet txs are sorted
* ci: Fetch no git history, unless lint
* test, build: Separate `read_json` function into its own module
* addrman, refactor: combine two size functions
* addrman, refactor: move count increment into Create()
* net: Load fixed seeds from reachable networks for which we don\'t have addresses
* addrman: add function to return size by network and table
* refactor: Extract RIPEMD160
* Correctly limit overview transaction list
* refactor: rpc: set TxToJSON default verbosity to SHOW_DETAILS
* Remove unused CDataStream::SetType
* Use DataStream where possible
* test: fix immediate tx relay in wallet_groups.py
* refactor: Remove stray cs_main redundant declaration
* doc: Export threadsafety.h from sync.h
* net_processing: indicate more work to do when orphans are ready to reconsider
* net_processing: Don\'t process tx after processing orphans
* net_processing: only process orphans before messages
* txorphange: Drop redundant originator arg from GetTxToReconsider
* ci: Fix APPEND_APT_SOURCES_LIST trying to modify the host system
* streams: Add DataStream without ser-type and ser-version
* refactor: Remove c_str from util/check
* qt: Persist Mask Values option
* init: Remove sensitive flag from rpcbind
* depends: systemtap: remove variadic params that trigger compiler warnings
* build: fix usage of -Wloop-analysis
* Restore RPCTypeCheckObj calls in Namecoin code.
* [fuzz] Assert that omitting missing transactions always fails block reconstruction
* [fuzz] Add PartiallyDownloadedBlock target
* [block encodings] Avoid fuzz blocking asserts in PartiallyDownloadedBlock
* [block encodings] Make CheckBlock mockable for PartiallyDownloadedBlock
* test: Avoid rpc timeout in p2p_headers_sync_with_minchainwork
* wallet: permit mintxfee=0
* build: pass --enable-debug to sqlite when DEBUG=1
* build: use more recommended sqlite3 compile options
* depends: systemtap 4.8
* depends: fix systemtap download URL
* doc: improve doc for RPCArg::Optional::OMITTED
* scripted-diff: use RPCArg::Optional::OMITTED over OMITTED_NAMED_ARG
* test: Fix intermittent feature_rbf issue
* test: add test for coins view flush behavior using Sync()
* test: add use of Sync() to coins tests
* test: refactor: clarify the coins simulation
* coins: add Sync() method to allow flush without cacheCoins drop
* Add unit test for ComputeTapleafHash
* doc: release note on mempool size in -blocksonly
* doc: Update blocksonly behaviour in reduce-memory
* mempool: Don\'t share mempool with dbcache in blocksonly
* rpc: Throw more user friendly arg type check error
* [fuzz] Actually use mocked mempool in tx_pool target
* RPC: make RPCResult::MatchesType return useful errors
* Add missing includes to fix gcc-13 compile error
* test: refactor: simplify p2p_eviction.py by using MiniWallet
* test: refactor: simplify p2p_tx_download.py by using MiniWallet
* doc: add release note for #25957 (fast wallet rescan)
* refactor: use string_view for RPC named argument values
* refactor: reduce unnecessary complexity in ParseNonRFCJSONValue
* contrib: remove install_db4.sh
* doc: add new NO_
* options from #26833
* wallet: migrate wallet, exit early if no legacy data exist
* clang-tidy: Fix `performance-no-automatic-move` in headers
* clang-tidy: Fix `performance-move-const-arg` in headers
* lint: specify the right commit range when running locally
* test: add an easy way to run linters locally
* test: add cases to JSON parsing
* scripted-diff: Use new python 3.7 keywords
* Revert \"contrib: Fix capture_output in getcoins.py\"
* Bump minimum python version to 3.7
* doc: Clarify debian copyright comment
* ci: Bump --combinedlogslen to debug intermittent issues
* addrdb: Only call Serialize() once
* hash: add HashedSourceWriter
* ci: Add missing lint dependency
* Improve address decoding errors
* refactor: Remove duplication of clang-tidy\'s check names
* doc: Properly report optional RPC args
* refactor: Introduce is_top_level_arg
* refactor: Remove const to fix performance-move-const-arg clang-tidy errors
* doc: Fix incorrect sendmany RPC doc
* test: Add test for missing and omitted required arg
* test: add tests for `outputs` argument to `bumpfee`/`psbtbumpfee`
* wallet: add `outputs` arguments to `bumpfee` and `psbtbumpfee`
* wallet: extract and reuse RPC argument format definition for outputs
* build: move rpc/request from util lib to common
* test: Run mempool_packages.py with MiniWallet
* test: Return fee from MiniWallet
* test: Return chain of MiniWallet txs from MiniWallet chain method
* test: Refactor MiniWallet sign_tx
* test: Return wtxid from create_self_transfer_multi
* miner: don\'t re-apply default Options value if argument is unset
* refactor: avoid duplicating BlockAssembler::Options members
* test: simplify tests by using the pre-mined chain
* test: remove redundant blocks generation logic
* test: add `rescan_utxos` in MiniWallet\'s initialization
* Add BlockManager::IsPruneMode()
* Add BlockManager::GetPruneTarget()
* Add BlockManager::LoadingBlocks()
* ci: Bump lint task image to Ubuntu Jammy
* ci: Use pyenv\'s `python-build` to install Python in lint task
* test: Remove redundant function call
* test: refactor: simplify p2p_permissions.py by using MiniWallet
* build: allow NO_LIBEVENT=1 in depends
* build: allow NO_BOOST=1 in depends
* test: wallet: add coverage for `-spendzeroconfchange` setting
* ci: Bump `ccache` version to the latest 4.7.4 in \"Win64 native\" task
* ci: Bump vcpkg to the latest version 2023.01.09
* build: remove unneeded var exporting
* build: remove Boost lib detection from ax_boost_base
* test: remove `-spendzeroconfchange` setting from mempool_limit.py
* Fill out dust limit unit test for known types except bare multisig
* Change dots to an ellipsis and fix capitalization
* Update to mention restoring wallet via GUI
* doc: remove usages of C++11
* test: skip sqlite3 tests if it isn\'t available
* refactor: rename local gArgs to args
* doc: move errant release note to doc/
* rpc: add minconf and maxconf options to sendall
* Wallet/RPC: Allow specifying min & max chain depth for inputs used by fund calls
* doc: add databases/py-sqlite3 to FreeBSD test suite deps
* rpc: Run type check against RPCArgs
* test: Fix wrong types passed to RPCs
* test: Fix intermittent timeout in p2p_permissions.py
* i2p: use consistent number of tunnels with i2pd and Java I2P
* i2p: lower the number of tunnels for transient sessions
* i2p: reuse created I2P sessions if not used
* ci: Stop and remove CI container
* scripted-diff: ci: Rework docker naming
* test: Check that orphaned coinbase unconf spend is still abandoned
* wallet: Automatically abandon orphaned coinbases and their children
* doc: fix up -netinfo relaytxes help
* doc: net: fix link to onion address encoding scheme [ONIONADDRESS]
* [validation] return MempoolAcceptResult for every tx on PCKG_TX failure
* [refactor] rename variables in AcceptPackage for clarity
* [doc] release note effective-feerate and effective-includes RPC results
* [validation] remove PackageMempoolAcceptResult::m_package_feerate
* [rpc] return effective-includes in testmempoolaccept and submitpackage
* [rpc] return effective-feerate in testmempoolaccept and submitpackage
* [validation] return wtxids of other transactions whose fees were used
* Fix misleading RPC console wallet message
* doc: remove recommended I2P router versions
* doc: update/clarify/de-emphasize I2P transient address section
* doc: update bandwidth section of I2P documentation
* doc: clarify -i2pacceptincoming help documentation
* ci: Run one task with all tests on credits
* ci: Remove unused busybox workaround
* ci: Create named symbol for BINS_SCRATCH_DIR
* Fix segfault when shutdown during wallet open
* Pass MSG_MORE flag when sending non-final network messages
* ci: Fix ci_native_fuzz_msan CONTAINER_NAME
* [validation] return effective feerate from mempool validation
* [test] package validation quits early due to non-policy, non-missing-inputs failure
* [validation] when quitting early in AcceptPackage, set package_state and tx result
* test: add coverage for absolute timestamp in `setban`
* p2p, rpc: don\'t allow past absolute timestamp in `setban`
* rpc: Return accurate results for scanblocks
* build: Re-enable external signer on Windows
* configure: Detect compatibility of Boost.Process rather than hardcode non-Windows
* scripts: add PE Canary check to security-check
* doc: Update Boost version in doc/dependencies.md
* test: Run feature_bip68_sequence.py with MiniWallet
* test: Add \"include mempool\" flag to MiniWallet rescan_utxos
* test: Add \"include immature coinbase\" flag to MiniWallet get_utxos
* test: Add signs P2TR and RAWSCRIPT to MiniWallet sign_tx
* test: add functional test for ScanAndUnlinkAlreadyPrunedFiles
* randomenv: consolidate WIN32 #ifdefs
* random: remove windows-only compat.h include in randomenv
* build: fix configuring with only bitcoin-util
* refactor: Work around Werror=free-nonheap-object in AssumeCalculateMemPoolAncestors
* build: remove already tested headers from AC_CHECK_HEADERS
* refactor: Make `ThreadHTTP` return void
* test: Fix feature_startupnotify intermittent issue
* refactor: add kernel/cs_main.
*
* Namecoin / Qt: Fix tab order in Configure Name dialog
* refactor: use convenience fn to auto parse non-string parameters
* Namecoin / Qt: Show value size in Configure Name dialog
* test: Invalid label name coverage
* refactor: Add sanity checks in LabelFromValue
* debian: remove nonexistent files from copyright
* compat: use STDIN_FILENO over 0
* rpc: Sanitize label name in various RPCs
* Namecoin / Qt: Use friendlier strings in Configure Name dialog
* refactor: use braced init for integer constants instead of c style casts
* test: add coverage for cross-chain wallet restore
* tests: Use unique port for ZMQ tests
* Use same Python executable for subprocesses as for all-lint.py
* wallet: unify FindNonChangeParentOutput functions
* wallet: simplify ListCoins implementation
* script: update python linter dependencies
* script, test: fix python linter E275 errors with flake8 5.0.4
* Use AutoFile and HashVerifier where possible
* Add HashVerifier
* rpc: Correct RPCHelpMan for fundrawtransaction\'s input_weights field
* Missing #include in buynamespage.h
* ci: Properly set COMMIT_RANGE in lint task
* doc: Correct linked Microsoft URLs
* rpc: Remove duplicate field in RPCHelpMan for gettransactions
* ci: Remove duplicate CC and CXX from tsan task
* Revert \"ci: Use clang-15 in tsan task\"
* Revert \"test: Drop no longer needed `race:epoll_ctl` TSan suppression\"
* use sha256 command instead of sha256sum on FreeBSD
* ci: Move `--enable-c++20` from \"tidy\" task back to \"ASan...\" one
* ci: Use clang-15 in tsan task
* test: wallet: check that labels are migrated to watchonly wallet
* wallet: fully migrate address book entries for watchonly/solvable wallets
* test: Drop no longer needed `race:epoll_ctl` TSan suppression
* clang-tidy: Add `performance-no-automatic-move` check
* gui: bugfix, catch invalid networks combination crash
* wallet: remove `mempool_sequence` from `transactionRemovedFromMempool`
* wallet: remove `mempool_sequence` from `transactionAddedToMempool`
* scripted-diff: Insert missed copyright header
* scripted-diff: Bump copyright headers
* doc: Update license year range to 2023
* wallet: fix GUI crash on cross-chain legacy wallet restore
* test: Add test for getblockfrompeer on pruned nodes
* [bench] BlockAssembler with mempool packages
* [test util] lock cs_main before pool.cs in PopulateMempool
* [test util] randomize fee in PopulateMempool
* [miner] allow bypassing TestBlockValidity
* [refactor] parameterize BlockAssembler::Options in PrepareBlock
* [refactor] add helper to apply ArgsManager to BlockAssembler::Options
* gui: create tx, launch error dialog if backend throws runtime_error
* wallet: coin selection, add duplicated inputs checks
* wallet: return accurate error messages from Coin Selection
* wallet: make SelectCoins flow return util::Result
* wallet: refactor eight consecutive \'AttemptSelection\' calls into a loop
* test: add coverage for unknown wallet flag in `setwalletflag`
* doc: Refactor/Format getrawtransaction RPC docs and add ScriptPubKeyDoc function
* test: add unit test for ScanAndUnlinkAlreadyPrunedFiles
* prune: scan and unlink already pruned block files on startup
* ci: remove --prefix from msan job
* test: add coverage for `purpose` arg in `listlabels`
* rpc: Add note on guarantees to getblockfrompeer
* test: improve error msg on previous release tarball extraction failure
* contrib: remove builder keys
* test: self-sign previous release binaries for arm64 macOS
* test: speed up wallet_fundrawtransaction.py and wallet_sendall.py
* rpc: remove optional from fStateStats fields
* Add release note for MIN_STANDARD_TX_NONWITNESS_SIZE relaxation
* Relax MIN_STANDARD_TX_NONWITNESS_SIZE to 65 non-witness bytes
* contrib: make DNS seeds file an argument in CLI
* test: call `keypoolrefill` with private keys disabled should throw an error
* qt: Load PSBTs using istreambuf_iterator rather than istream_iterator
* test, lint: add `crypted` to `ignore-words`
* test: Improve `check-doc.py` pattern
* test: add coverage for unparsable `-maxuploadtarget`
* db: Change DatabaseCursor::Next to return status enum
* wallet: Have cursor users use DatabaseCursor directly
* test: add coverage for dust mempool policy (`-dustrelayfee` setting)
* clang-tidy, qt: Force checks for headers in `src/qt`
* clang-tidy, qt: Fix `modernize-use-default-member-init` in headers
* clang-tidy: Fix `performance-for-range-copy` in headers
* doc: add 23.1 release notes
* Make bitcoin-util grind_task tsan friendly
* clang-tidy: Fix `readability-redundant-string-init` in headers
* clang-tidy: Fix `modernize-use-nullptr` in headers
* remove CBlockIndex copy construction
* For feebump, ignore abandoned descendant spends
* bench: add benchmark for wallet \'AvailableCoins\' function.
* doc: add 22.1 release notes
* test: Introduce MIN_BLOCKS_TO_KEEP constant
* test: Wallet imports on pruned nodes
* walletdb: refactor: drop unused `FindWalletTx` parameter and rename
* wallet: Introduce DatabaseCursor RAII class for managing cursor
* build: Update Boost to 1.81.0 in depends
* test: move coins result test to wallet_tests.cpp
* test: extend and simplify availablecoins_tests
* wallet: Skip rescanning if wallet is more recent than tip
* Add secp256k1_selftest call
* Remove explicit enabling of default modules
* Adapt to libsecp256k1 API changes
* mempool: log/halt when CalculateMemPoolAncestors fails unexpectedly
* mempool: add AssumeCalculateMemPoolAncestors helper function
* mempool: use util::Result for CalculateMemPoolAncestors
* txmempool: Remove unused clear() member function
* Squashed \'src/secp256k1/\' changes from 44c2452fd3..21ffe4b22a
* [fuzz] Add HeadersSyncState target
* [headerssync] Make m_commit_offset protected
* Move SafeDbt out of BerkeleyBatch
* mempool: use util::Result for CalculateAncestorsAndCheckLimits
* test: add add_wallet_options to TestShell
* [fuzz] Enable erlay in process_message(s) targets
* net: remove CService::ToStringPort()
* gui: simplify OptionsDialog::updateDefaultProxyNets()
* net: remove CService::ToString() use ToStringAddrPort() instead
* net: remove CNetAddr::ToString() and use ToStringAddr() instead
* scripted-diff: rename ToStringIP[Port]() to ToStringAddr[Port]()
* test: previous releases: add v24.0.1
* refactor: modernize the implementation of uint256.
*
* ci: Use `CONFIG_SITE` variable and `--prefix` option properly
* Fix checking bad dns seeds without casting
* wallet: Sanity check fee paid cannot be negative
* wallet: Move fee underpayment check to after fee setting
* tests: Reorder longer running tests in test_runner
* tests: Whitelist test p2p connection in rpc_packages
* tests: Use waitfornewblock for work queue test in interface_rpc
* tests: Initialize sigops draining script with bytes in feature_taproot
* tests: Use batched RPC in feature_fee_estimation
* tests: reduce number of generated blocks for wallet_import_rescan
* refactor: Refactored RequestMethodString function to follow developer notes
* refactor: Deleted unreachable code in httpserver.cpp
* test: Suggested cleanups for rpc_namedparams test
* build: Update `libmultiprocess` library
* univalue: Remove confusing getBool method
* build: Fix depends build system when working with subtargets
* test: Move rpc_fundrawtransaction.py to wallet_fundrawtransaction.py
* test: Move feature_backwards_compatibility.py to wallet_backwards_compatibility.py
* wallet: if only have one output type, don\'t perform \"mixed\" coin selection
* doc: Add release notes for #26618
* rpc: Prevent unloading a wallet when rescanning
* test: Use last release in compatibility tests
* test: Avoid intermittent timeout in feature_assumevalid.py
* rpc: Enable wallet import on pruned nodes
* test: Fix backwards compatibility intermittent failure
* refactor: Replace isTrue with get_bool
* bugfix: Strict type checking for RPC boolean parameters
* build: Move environment variables into `$(package)_config_env`
* build: Make $(package)_
*_env available to all $(package)_
*_cmds
* wallet: Rename nFeeRet in CreateTransactionInternal to current_fee
* rpc: reduce LOCK(cs_main) scope in gettxoutproof
* rpc: reduce LOCK(cs_main) scope in GetUndoChecked and getblockstats
* rpc: reduce LOCK(cs_main) scope in blockToJSON
* rpc: reduce LOCK(cs_main) scope in GetBlockChecked and getblock
* zmq: remove LOCK(cs_main) from NotifyBlock
* rest: reduce LOCK(cs_main) scope in rest_block
* doc: add release note for 25934
* test: add coverage for `label` in `listsinceblock`
* wallet, rpc: add `label` to `listsinceblock`
* refactor, wallet: use optional for `label` in `ListTransactions`
* rpc, wallet: use the same `next_index` in listdescriptors and importdescriptors
* doc: move release notes to 24.0.1 and add notice
* util: Include full version id in bug reports
* test: prefer sqlite for wallet tests
* test: make wallet_migration.py pass with both wallet flags
* test: Check max transaction weight in CoinSelection
* wallet: Check max tx weight in coin selector
* wallet: Change coin selection fee assert to error
* Fixup clang-tidy named argument comments
* test: Run mempool_compatibility.py with MiniWallet
* test: add `CScript` method for checking for witness program
* test: Fix intermittent issue in rpc_net.py
* bitcoin-cli: Make it an error to specify the \"args\" parameter two different ways
* rpc: Make it an error server-side to specify same named parameter multiple times
* test: Add RPC tests for same named parameter specified more than once
* doc: Drop no longer relevant comment
* refactor: make CoinsResult total amounts members private
* wallet: add assert to SelectionResult::Merge for safety
* wallet: SelectCoins, return early if wallet\'s UTXOs cannot cover the target
* test: bugfix, coinselector_test, use \'CoinsResult::Erase/Add\' instead of direct member access
* test: Coin Selection, duplicated preset inputs selection
* test: wallet, coverage for CoinsResult::Erase function
* build: Make dependency package archive timestamps deterministic
* test: Add sendall test for min-fee setting
* refactor: Rename local variable to distinguish it from type alias
* util: Add StrFormatInternalBug and STR_INTERNAL_BUG
* test: remove unneeded extra_args code
* test: refactor: eliminate genesis block timestamp magic numbers
* test: add extra_args to BTF class
* [test] Add p2p_tx_privacy.py
* test: Remove unused blocktools imports from wallet_bumpfee
* wallet: Explicitly say migratewallet on encrypted wallets is unsupported
* [net processing] Assume that TxRelay::m_tx_inventory_to_send is empty pre-verack
* refactor: Move `txmempool_entry.h` --> `kernel/mempool_entry.h`
* tests: Test for migrating encrypted wallets
* wallet: Avoid null pointer deref when cleaning up migratewallet
* doc: fix: prevHeights entries are set to 0, not removed
* wallet: bugfix, \'CoinsResult::Erase\' is erasing only one output of the set
* [net processing] Ensure transaction announcements are only queued for fully connected peers
* test: Set wallet type in test_runner when only one type is allowed
* refactor: Rename ambiguous interfaces::MakeHandler functions
* build: remove BOOST_CPPFLAGS from libbitcoin_util
* refactor: Move src/interfaces/
*.cpp files to libbitcoin_common.a
* txorphanage: index workset by originating peer
* doc: Add completion subdir to contrib/README.md
* script: Add fish completions
* ci: only run USDT interface tests on CirrusCI
* rpc: Require NodeStateStats object in getpeerinfo
* refactor: Sub-folder bash completions
* lint: Skip COMMIT_RANGE if no CIRRUS_PR
* script: small fixups/improvements for get_previous_releases.py
* Minor fix: Don\'t directly delete abandoned txes
* doc: install binutils, not binutils-gold in depends
* ci: use ci_exec_root for clang install
* contrib/builder-keys/keys.txt: remove unavailable key
* refactor, doc: Improve SetupAddressRelay call in version processing
* fuzz: Move-only net utils
* doc: add tr() descriptor example to deriveaddresses
* test: Fix intermittent failure in rpc_net.py
* test: load wallet, coverage for crypted keys
* refactor: move DuplicateMockDatabase to wallet/test/util.h
* refactor: unify test/util/wallet.h with wallet/test/util.h
* Add feature_taproot case involved invalid internal pubkey
* Abstract out ComputeTapbranchHash
* Do not use CScript for tapleaf scripts until the tapleaf version is known
* ci: create and use non-root user for docker image
* Filtering for name outputs in CoinFilterParams.
* test: remove unused class `NodePongAdd1`
* test: Remove unused sanitizer suppressions
* wallet: bugfix, invalid crypted key \"checksum_valid\" set
* log: improve some validation log messages to include hashPrevBlock
* [fuzz] Move ConsumeNetAddr to fuzz/util/net.h
* [fuzz] Make ConsumeNetAddr produce valid onion addresses
* [netaddress] Make OnionToString public
* doc: Mac -> macOS in release notes template
* doc: Add 24.0 release notes
* test: remove unused vars in `feature_block`
* doc: test: update/fix TestShell example instructions
* test: Add getpeerinfo test for missing version message
* test: Changed small_txpuzzle_randfee to return the virtual size instead of the transaction hex for feerate calculation.
* Fix Transaction Relay tooltip text in Peers details window
* refactor: Inline `CTxMemPoolEntry` class\'s functions
* refactor: Move `CTxMemPoolEntry` class to its own module
* Make static nLastFlush and nLastWrite Chainstate members
* wallet: AvailableCoins, add arg to include/skip locked coins
* util: Move error message formatting of NonFatalCheckError to cpp
* RPC/blockchain: scan{blocks,txoutset>: Further doc improvements
* RPC/Blockchain: Clarify invalid-action error in scanblocks & scantxoutset
* Fixes bitcoin#26490 by preventing notifications
* src/bitcoin-cli.cpp: -getinfo help - grammar correction
* test: Set default in add_wallet_options if only one type can be chosen
* test: add -maxtipage test for the maximum allowable value
* doc: Mention required workload when building with MSVC
* fix: validation: cast now() to seconds for maxtipage comparison
* test: Split overly large util_tests.cpp file
* test, refactor: Reorder sendtxrcncl tests for better readability
* p2p, refactor: Extend logs for unexpected sendtxrcncl
* p2p, test, refactor: Minor code improvements
* p2p: Clarify sendtxrcncl policies
* test: Expand unit and functional tests for txreconciliation
* p2p, refactor: Switch to enum class for ReconciliationRegisterResult
* test: Don\'t pass add_to_wallet option to walletcreatefundedpsbt
* test: Drop no longer required bench output redirection
* bench: Suppress output when running with `-sanity-check` option
* test: Remove wallet option from non-wallet tests
* test: Set -disablewallet when no wallet has been compiled
* test: Make requires_wallet private
* p2p: Drop roles from sendtxrcncl
* test: Avoid collision with valid path names in `getarg_tests/logargs`
* test: add missing bech32m / BIP86 test-cases to wallet_descriptor.py
* guix: Drop non-existent directories
* guix: Drop no longer used `prepend_to_search_env_var()`
* test: check that loading descriptor wallet with legacy entries throws error
* wallet: throw error if legacy entries are present on loading descriptor wallets
* tests: stabilize sendtxrcncl test
* doc: clarify that NetPermissionFlags::Implicit is only about whitelists
* univalue: string_view test
* rpc: Allow named and positional arguments to be used together
* log: mempool: log removal reason in validation interface
* test: fix intermittent failure in p2p_sendtxrcncl.py
* rpc: doc: add missing option \"bech32m\" for `change_type` parameters
* doc: move Guix uninstall instructions to INSTALL.md
* guix: OpenSSL test failure workaround
* guix: reminder to migrate guix-daemon-original customization
* guix: add guile-gnutls and guile-json to install list
* guix: recommend mounting a tmpfs on /tmp
* build: Drop unneeded linking of `contrib/devtools/` scripts
* script: Improve `test-{security,symbol}-check.py` robustness
* .python-version: bump patch version to 3.6.15
* doc: mention BIP86 in doc/bips.md
* test: remove unused `CHANGE_{XPRV,XPUB}` constants
* util: move threadinterrupt into util
* refactor: move url.h/cpp from lib util to lib common
* build: add missing event cflags to libbitcoin_util
* doc: correct deriveaddresses RPC name
* rpc: Return fee and prevout(s) to getrawtransaction
* build: copy config.{guess,sub} post autogen in zmq package
* scripted-diff: wallet: rename AvailableCoinsParams members to snake_case
* wallet: group AvailableCoins filtering parameters in a single struct
* RPC: listunspent, add \"include immature coinbase\" flag
* tests: Test Taproot PSBT signing with keys in other descriptor
* tests: Use new wallets for each test in wallet_taproot.py
* psbt: Include output pubkey in additional pubkeys to sign
* sign: Fill in taproot pubkey info for all script path sigs
* test: fix intermittent failure in feature_index_prune.py
* test: fix intermittent failure in rpc_getblockfrompeer.py
* test: Move tx creation to create_self_transfer_multi
* refactor: Silence GCC Wmissing-field-initializers in ChainstateManagerOpts
* Fix: typos
* Exclude rand from debug log
* test: add functional test for IBD stalling logic
* net: Avoid SetTxRelay for feeler connections
* qt: Drop no longer used `SplashScreen::finish()` slot
* qt: Drop no longer used `BitcoinApplication::splashFinished()` signal
* qt: Delete splash screen widget explicitly
* bench: benchmark transaction creation process
* wallet: SelectCoins, return early if target is covered by preset-inputs
* wallet: simplify preset inputs selection target check
* wallet: remove fetch pre-selected-inputs responsibility from SelectCoins
* wallet: encapsulate pre-selected-inputs lookup into its own function
* wallet: skip manually selected coins from \'AvailableCoins\' result
* wallet: skip available coins fetch if \"other inputs\" are disallowed
* rpc: add missing lock around chainman.ActiveTip()
* Fix typo in comment SHA256->SHA512
* [net processing] Simplify use of IsContinuationOfLowWorkHeadersSync in TryLowWorkHeaderSync
* rpc: make `address` field optional
* test: add test for fast rescan using block filters (top-up detection)
* rpc: doc: mention rescan speedup using `blockfilterindex=1` in affected wallet RPCs
* wallet: fast rescan: show log message for every non-skipped block
* wallet: take use of `FastWalletRescanFilter`
* wallet: add `FastWalletRescanFilter` class for speeding up rescans
* wallet: add method for retrieving the end range for a ScriptPubKeyMan
* wallet: support fetching scriptPubKeys with minimum descriptor range index
* add chain interface methods for using BIP 157 block filters
* ci: Use `macos-ventura-xcode:14.1` image for \"macOS native\" task
* test: Check debug log as well in p2p_sendtxrcncl.py
* test: Check correct disconnect reason in p2p_sendtxrcncl.py
* ci: Make `getopt` path architecture agnostic
* [net processing] Fixup TryLowWorkHeadersSync comment
* p2p: Make block stalling timeout adaptive
* Faster -reindex by initially deserializing only headers
* util: add CBufferedFile::SkipTo() to move ahead in the stream
* Add LoadExternalBlockFile() benchmark
* test: Fix intermittent issue in p2p_sendtxrcncl.py
* refactor: Pass reference to last header, not pointer
* test: Make `system_tests/run_command` locale agnostic
* test: Use type-safe NodeSeconds for TestMemPoolEntryHelper
* Squashed \'src/minisketch/\' changes from 47f0a2d26f..a571ba20f9
* build, msvc: Drop no longer required macro definitions for leveldb
* test: Test exclusion of OP_RETURN from getblockstats
* test: Fix getblockstats test data generator
* rpc: Improve getblockstats
* validation, index: Add unspendable coinbase helper functions
* [net processing] Handle IsContinuationOfLowWorkHeadersSync return value correctly when new headers sync is started
* build: remove threadinterrupt from libbitcoinkernel
* guix: bump recommended hash for manual installation
* doc: Rearrange some lines in the dependency graph of libraries
* doc: add `scanblocks` to list of descriptor RPCs
* test: Test for out of bounds vout in sendall
* wallet: Check utxo prevout index out of bounds in sendall
* test: Test that sendall works with watchonly spending specific utxos
* build: only run high priority benchmarks in \'make check\'
* bench: surround main() execution with try/catch
* bench: explicitly make all current benchmarks \"high\" priority
* bench: add \"priority level\" to the benchmark framework
* test: Test year 2106 block timestamps
* rpc: Improve error when wallet is already loaded
* test: check for false-positives in rpc_scanblocks.py
* test: add compact block filter (BIP158) helper routines
* test: add SipHash implementation for generic data in Python
* wallet: Correctly check ismine for sendall
* Revert \"test: check importing wallets when blocks are pruned throw an error\"
* gui: update peers window \"Transaction Relay\" label and tooltip
* p2p: ProcessAddrFetch(-seednode) is unnecessary if -connect is specified
* test: Use C++11 member initializers for TestMemPoolEntryHelper
* iwyu: Add missing includes
* Remove g_parallel_script_checks
* Move ::fCheckBlockIndex into ChainstateManager
* Move ::fCheckpointsEnabled into ChainstateManager
* Move ::nMinimumChainWork into ChainstateManager
* Move ::hashAssumeValid into ChainstateManager
* Move ::nMaxTipAge into ChainstateManager
* test: Remove unused txmempool include from tests
* Add test for PSBT input verification
* Verify PSBT inputs rather than check for fields being empty
* test: Add functional tests for sendtxrcncl message from outbound
* test: Add functional tests for sendtxrcncl from inbound
* test: Add unit tests for reconciliation negotiation
* p2p: clear txreconciliation state for non-wtxid peers
* p2p: Finish negotiating reconciliation support
* Add helper to see if a peer is registered for reconciliations
* p2p: Forget peer\'s reconciliation state on disconnect
* p2p: Announce reconciliation support
* log: Add tx reconciliation log category
* Adjust `.tx/config` for new Transifex CLI
* add 0xb10c builder key
* wallet: use Mutex for g_sqlite_mutex instead of GlobalMutex
* doc: fix typo in doc/libraries.md
* doc: remove library commentary from src/Makefile.am
* test: use MiniWallet for rpc_scanblocks.py
* add lock annotation for FeeFilterRounder::round()
* doc: Add release note for shutdownnotify.
* util: Add -shutdownnotify option.
* refactor: Use type-safe time point for CWallet::m_next_resend
* ci: Use Multi-ToolTask in \"Win64 native\" task
* ci: Use all available CPUs for functional tests in \"Win64 native\" task
* scripted-diff: rename and de-globalise g_cs_orphans
* Move all g_cs_orphans locking to txorphanage
* test: move SyncWithValidationInterfaceQueue() before Stop() in txindex_tests
* test: silence TSAN false positive in coinstatsindex_initial_sync
* txorphanage: make m_peer_work_set private
* txorphange: move orphan workset to txorphanage
* Adjust RPCTypeCheckObj error string
* Add warning on first startup if free disk space is less than necessary
* refactor: Replace m_params with chainman.GetParams()
* iwyu: Add zmq source files
* sync: rename AnnotatedMixin::UniqueLock to AnnotatedMixin::unique_lock
* sync: remove DebugLock alias template
* sync: avoid confusing name overlap (Mutex)
* Fix comment typos in scriptpubkeyman.cpp, wallet.cpp, wallet.h
* wallet: have prune error take precedence over assumedvalid
* docs: fix m_children to be a member of CTxMemPoolEntry
* rpc: Return coinbase flag in scantxoutset
* test: Remove confusing DUMMY_P2WPKH_SCRIPT
* net_processing: Localise orphan_work_set handling to ProcessOrphanTx
* net_processing: move ProcessOrphanTx docs to declaration
* net_processing: Pass a Peer& to ProcessOrphanTx
* net_processing: move extra transactions to msgproc mutex
* Remove unnecessary includes of txorphange.h
* test: update feature_config_args.py
* util: warn if reindex is used in conf
* util: disallow setting conf in bitcoin.conf
* refactor: wallet, do not translate init arguments names
* tests: Test that PSBT_OUT_TAP_TREE is included correctly
* psbt: Only include m_tap_tree if it has scripts
* psbt: Change m_tap_tree to store just the tuples
* tests: Test that PSBT_OUT_TAP_TREE is combined correctly
* psbt: Fix merging of m_tap_tree
* test: Prevent UB in `minisketch_tests.cpp`
* rpc: add non-regression test about deriveaddresses crash when index is 2147483647
* rpc: fix crash in deriveaddresses when derivation index is 2147483647
* Validate `port` options
* Validate port value in `SplitHostPort`
* index: Improve BaseIndex::BlockUntilSyncedToCurrentChain reliability
* Remove unused CDataStream::rdbuf method
* doc: add mempool/contents rest verbose and mempool_sequence args
* tests: mempool/contents verbose and mempool_sequence query params tests
* rest: add verbose and mempool_sequence query params for mempool/contents
* gui: use fallback value for Version and User Agent during peer connection
* docs: improve docs where MemPoolLimits is used
* test: use NoLimits() in MempoolIndexingTest
* refactor: mempool: use CTxMempool::Limits
* refactor: mempool: add MemPoolLimits::NoLimits()
* test: Use dedicated mempool in TestBasicMining
* test: Use dedicated mempool in TestPackageSelection
* test: Use dedicated mempool in TestPrioritisedMining
* test: Pass mempool reference to AssemblerForTest
* Remove clang-format from lint task
* refactor: move run_command from util to common
* refactor: Make 64-bit shift explicit
* fuzz: pass max fee into ConsumeTxMemPoolEntry
* fuzz: add util/mempool/h.cpp
* fuzz: add scanblocks as safe for fuzzing
* test: rpc: add scanblocks functional test
* rpc: add scanblocks - scan for relevant blocks with descriptors
* rpc: move-only: consolidate blockchain scan args
* ci: Workaround Windows filesystem executable bit loss
* net: Set relay in version msg to peers with relay permission
* kernel: move RunCommandParseJSON to its own file
* build, msvc: Enable C4834 warning
* test: Remove unused fCheckpointsEnabled from miner_tests
* ci: Allow PIP_PACKAGES on centos
* ci: Remove unused package
* ci: Use same `merge_script` implementation for Windows as for all
* ci: Move `git config` commands into script where they are used
* test: refactor `RPCPackagesTest` to use `MiniWallet`
* kernel: remove util/bytevectorhash.cpp
* refactor: move DEFAULT_BLOCKFILTERINDEX from val to blockfilterindex
* refactor: move DEFAULT_COINSTATSINDEX from validation to coinstatsindex
* refactor: move DEFAULT_TXINDEX from validation to txindex
* refactor: Drop `owns_lock()` call
* doc: Add I2P bandwidth guidance to i2p.md
* doc: bump bips.md up-to-date version to v24.0
* ci: Run `bench_bitcoin.exe --sanity-check` in \"Win64 native\" task
* test: Use proper Boost macros instead of assertions
* test: Check external coin effective value is used in CoinSelection
* wallet: Use correct effective value when checking target
* refactor: move Boost datetime usage to wallet
* refactor: revert m_next_resend to not be std::atomic
* wallet: only update m_next_resend when actually resending
* refactor: carve out tx resend timer logic into ShouldResend
* contrib: Fix capture_output in getcoins.py
* ci: Bump vcpkg to the latest version `2022.09.27`
* test: add functional test for -discover
* test: check importing wallets when blocks are pruned throw an error
* refactor: remove unused locks for ResubmitWalletTransactions
* wallet: fix capitalization in docstring
* Squashed \'src/leveldb/\' changes from 22f1e4a02f..e2f10b4e47
* ci: Use remote pull/merge ref instead of local git merge
* signet/miner: reduce default interblock interval limit to 30min
* p2p: Don\'t self-advertise during VERSION processing
* bench: place benchmark implementation inside benchmark namespace
* ci: Use git2.34 for lint task
* Use `PACKAGE_NAME` in messages rather than hardcoding \"Bitcoin Core\"
* refactor: Do not discard `try_lock()` return value
* doc, rpc: mention that `listdescriptors` result is sorted by string representation
* build: split ARM crc & crypto extension checks
* bench: Add missed `ECCVerifyHandle` instance
* p2p: ProcessHeadersMessage(): fix received_new_header
* build: remove unused MSVC defines
* build: remove stdlib.h from header checks
* refactor: use over stdlib.h
* test: check that `listdescriptors` descriptor strings are sorted
* Improve getpeerinfo pingtime, minping, and pingwait help docs
* Update getpeerinfo/-netinfo/TxRelay#m_relay_txs relaytxes docs (for v24 backport)
* Always return getpeerinfo \"minfeefilter\" field (for v24 backport)
* Make getpeerinfo field order consistent with its help (for v24 backport)
* build: set D_WIN32_WINNT=0x0601 for mingw miniupnpc
* build: fix cflags passing for mingw miniupnpc
* build: remove stdio.h from header checks
* refactor: use over stdio.h
* Correct sanity-checking script_size calculation
* Add settings.json prune-prev, proxy-prev, onion-prev settings
* test: wait for the expected basic block filter index in `interface_rest`
* build: remove strings.h from header checks
* doc: add historical 0.21.2 release notes
* doc: add historical 0.20.2 release notes
* log: log RPC port on startup
* test: check that bumping tx with already spent coin fails
* docs: Add 371 to bips.md
* build: Bump version to 24.99
* test: Test watchonly imports with passphrase-locked wallet
* Use steady clock for bench logging
* scripted-diff: Rename time symbols
* rpc: Allow importmulti watchonly imports with locked wallet
* wallet: AvailableCoins, simplify output script type acquisition
* refactor: Move feerate comparison invariant outside of the loop
* refactor: Simplify feerate comparison statement
* rpc: remove unneeded RPCTypeCheckArgument checks
* rpc: treat univalue type check error as RPC_TYPE_ERROR, not RPC_MISC_ERROR
* Fix issues identified by codespell 2.2.1 and update ignored words
* Bump codespell version to 2.2.1
* net_processing: add thread safety annotation for m_highest_fast_announce
* net_processing: add thread safety annotations for PeerManagerImpl members accessed only via the msgproc thread
* net_processing: add thread safety annotations for Peer members accessed only via the msgproc thread
* build: remove duplicate / unneeded libs from bench_bitcoin
* net: drop cs_sendProcessing
* net: add NetEventsInterface::g_msgproc_mutex
* sync: remove unused template parameter from ::UniqueLock
* sync: simplify MaybeCheckNotHeld() definitions by using a template
* doc: add note about snapshot chainstate init
* test: add testcases for snapshot initialization
* test: move-only-ish: factor out LoadVerifyActivateChainstate()
* test: allow on-disk coins and block tree dbs in tests
* test: add reset_chainstate parameter for snapshot unittests
* validation: add ResetChainstates()
* move-only: test: make snapshot chainstate setup reusable
* blockmanager: avoid undefined behavior during FlushBlockFile
* validation: remove snapshot datadirs upon validation failure
* add utilities for deleting on-disk leveldb data
* init: add utxo snapshot detection
* validation: rename snapshot chainstate dir
* db: add StoragePath to CDBWrapper/CCoinsViewDB
* rpc: Set RPCArg options with designated initializers
* build: fix depends bdb compilation for BSDs
* util: improve bitcoin-wallet exit codes
* fs: drop old WSL1 hack.
* gui: update the screen after loading wallet
* test: Change coinselection parameter location to make tests independent
* rpc: warn that nodes ignore requests for old stale blocks
* univalue: Avoid std::string copies
* test: Remove redundant test
* test: add `ismine` test for descriptor scriptpubkeyman
* depends: libnatpmp 07004b97cf691774efebe70404cf22201e4d330d
* net: remove useless call to IsReachable() from CConnman::Bind()
* depends: Boost 1.80.0
* doc: add release note about `/rest/deploymentinfo`
* doc: add `/deploymentinfo` in REST-interface
* test: add coverage for `/rest/deploymentinfo`
* rest: add `/deploymentinfo`
* [BugFix]: Do not allow deserializing PSBT with empty PSBT_OUT_TAP_TREE
* gui: Show watchonly balance only for Legacy wallets
* wallet: remove duplicate descriptor type check in GetNewDestination
* wallet: remove unused `nAccountingEntryNumber` field
* wallet: avoid double TopUp() calls on descriptor wallets
* refactor: Add LIFETIMEBOUND / -Wdangling-gsl to Assert()
* build: Build minisketch test in `make check`, not in `make`
* net: convert standalone SetSocketNonBlocking() to Sock::SetNonBlocking()
* moveonly: move SetSocketNonBlocking() from netbase to util/sock
* net: convert standalone IsSelectableSocket() to Sock::IsSelectable()
* moveonly: move IsSelectableSocket() from compat.h to sock.{h,cpp}
* wallet: add taproot support to external signer
* build: Specify native binaries explicitly when building `capnp` package
* build: Fix `capnp` package build for Android
* test: Add test for getblockfrompeer on syncing pruned nodes
* rpc: Pruned nodes can not fetch unsynced blocks
* reindex, log, test: fixes #21379
* gui: bumpfee signer support
* rpc: bumpfee signer support
* rpc: document bools in FillPSBT() calls
* style: rename variables to match coding style
* fees: make FeeFilterRounder::feeset const
* fees: make the class FeeFilterRounder thread-safe
* ci: Drop no longer needed package-specific flags
* build: Propagate user-defined flags to host packages
* init: limit bip30 exceptions to coinbase txs
* Ignore problematic blocks in DisconnectBlock
* doc: minor improvements in getutxos REST endpoint synopsis
* refactor: remove duplicate code from BlockAssembler
* docs: document c-style cast prohibition
* doc: add info about status code 404 for some rest endpoints
* Bugfix: configure: bitcoin-{cli,tx,util} don\'t need UPnP, NAT-PMP, or ZMQ
* Use void
* throughout support/lockedpool.h
* Mon Nov 21 2022 marecAATTdetebe.org- Update to version 24.0.0:
* doc: add 24.0 release notes
* doc: Generate manual pages for 24.0 final
* build: Bump version to 24.0 final
* qt: 24.0rc4 translations update
* doc: Generate manual pages for 24.0rc4
* build: Bump version to 24.0rc4
* rpc: doc: add missing option \"bech32m\" for `change_type` parameters
* tests: Test Taproot PSBT signing with keys in other descriptor
* tests: Use new wallets for each test in wallet_taproot.py
* psbt: Include output pubkey in additional pubkeys to sign
* sign: Fill in taproot pubkey info for all script path sigs
* doc: mention BIP86 in doc/bips.md
* ci: Use same `merge_script` implementation for Windows as for all
* ci: Move `git config` commands into script where they are used
* ci: Use remote pull/merge ref instead of local git merge
* doc: Generate manual pages for 24.0rc3
* build: Bump version to 24.0rc3
* qt: 24.0rc3 translations update
* rpc: make `address` field optional
* rpc: add non-regression test about deriveaddresses crash when index is 2147483647
* rpc: fix crash in deriveaddresses when derivation index is 2147483647
* test: Test for out of bounds vout in sendall
* wallet: Check utxo prevout index out of bounds in sendall
* test: Test that sendall works with watchonly spending specific utxos
* wallet: Correctly check ismine for sendall
* Adjust `.tx/config` for new Transifex CLI
* [net processing] Handle IsContinuationOfLowWorkHeadersSync return value correctly when new headers sync is started
* doc: Generate example bitcoin conf for 24.0rc2
* doc: Generate manual pages for 24.0rc2
* build: Bump version to 24.0rc2
* tests: Test that PSBT_OUT_TAP_TREE is included correctly
* psbt: Only include m_tap_tree if it has scripts
* psbt: Change m_tap_tree to store just the tuples
* tests: Test that PSBT_OUT_TAP_TREE is combined correctly
* psbt: Fix merging of m_tap_tree
* [BugFix]: Do not allow deserializing PSBT with empty PSBT_OUT_TAP_TREE
* refactor: revert m_next_resend to not be std::atomic
* wallet: only update m_next_resend when actually resending
* refactor: carve out tx resend timer logic into ShouldResend
* refactor: remove unused locks for ResubmitWalletTransactions
* index: Improve BaseIndex::BlockUntilSyncedToCurrentChain reliability
* contrib: Fix capture_output in getcoins.py
* p2p: ProcessHeadersMessage(): fix received_new_header
* Correct sanity-checking script_size calculation
* docs: Add 371 to bips.md
* qt: 24.0rc2 translations update
* test: Check external coin effective value is used in CoinSelection
* wallet: Use correct effective value when checking target
* fuzz: Limit outpoints.size in txorphan target to avoid OOM
* test: Avoid race in disconnect_nodes helper
* Fix nNextResend data race in ResubmitWalletTransactions
* Bugfix: Wallet: Lock cs_wallet for SignMessage
* doc: update version number in bips.md to v24.0
* doc: Generate example bitcoin conf for 24.0rc1
* doc: Generate manual pages for 24.0rc1
* build: Bump version to 24.0rc1
* rpc: make addpeeraddress work with cjdns addresses
* init: Abort if i2p/cjdns are chosen via -onlynet but unreachable
* doc: Move -permitbaremultisig to the relay help category
* Make miniscript string parsing account for exact script size as bound
* Permit delaying duplicate key check in miniscript::Node construction
* Bugfix: Wallet: Return util::Error rather than non-error nullptr when CreateWallet/LoadWallet/RestoreWallet fail
* Bugfix: Wallet: Wrap RestoreWallet content in a try block to ensure exceptions become returned errors and incomplete wallet directory is removed
* contrib: remove outdated comment from symbol-check script
* contrib: remove 32bit linux code from release scripts
* Use ReadLE64 in uint256::GetUint64() instead of duplicating logic
* doc: consolidate & remove release-note fragments
* wallet: fix sendall creates tx that fails tx-size check
* build: remove unused libevent cppflags
* build: remove unused natpmp / upnp cppflags
* test: Add missing syncwithvalidationinterfacequeue
* test: add coverage for \'add_inputs\' dynamic default value
* qt: Update translation source file for string freeze (round 2)
* Revert \"doc: note that brew installed qt is not supported\"
* test/doc: Remove unused syncwithvalidationinterfacequeue
* fs: fully initialize _OVERLAPPED for win32
* scripted-diff: rename pszThread to thread_name
* build: prune BOOST_CPPFLAGS from libbitcoin_zmq
* build: remove BOOST_CPPFLAGS usage from bitcoin-tx
* sendall: check if the maxtxfee has been exceeded
* RPC: bugfix, \'add_inputs\' default value is true unless \'inputs\' are provided
* refactor: use std::string for index names
* refactor: use std::string for thread names
* build: extract $(BOOST_CPPFLAGS) from $(BITCOIN_INCLUDES)
* build: quiet warnings in system headers installed from homebrew
* RPC: unify arg type error message
* i2p: use the same destination type for transient and persistent addresses
* Revert \"guix: Build depends/qt with our platform definition\"
* guix: Drop perl package
* build: Add `-no-mimetype-database` option to qt package in depends
* wallet: coverage for loading an unknown descriptor
* wallet: bugfix, load wallet with an unknown descriptor cause fatal error
* test: verify best blockhash after invalidating an unknown block
* scripted-diff: rename CChainState -> Chainstate
* [mempool] replace update_descendant_state with lambda
* doc: comment \"add only reachable addresses to addrman\"
* test: invalidating an unknown block throws an error
* [test] only run feature_rbf.py once
* test: Display skipped tests reason
* guix: use git-minimal over git
* test: Fix `wallet_listsinceblock.py` for BDB-only wallets
* test: Fix `wallet_basic.py` for BDB-only wallets
* qt: Prevent wrong handling of `%2` token by Transifex
* qt: Cleanup translation comment
* p2p: Don\'t query DNS seeds when both IPv4 and IPv6 are unreachable
* p2p: add only reachable addresses to addrman
* fuzz: Remove no-op call to get()
* guix: consistently use -ffile-prefix-map
* init: allow startup with -onlynet=onion -listenonion=1
* fuzz: Avoid timeout in bitdeque fuzz target
* RPC: fix sendall docs
* Update anti-DoS headers sync for auxpow.
* test: remove Boost Test from libtest util
* message-capture-parser: fix AssertionError on parsing `headers` message
* build: fix configuring with --without-experimental-kernel-lib
* build: sync ax_boost_base from upstream
* test: apply fixed feerate to avoid variable dynamic fees
* Revert \"build: Use Homebrew\'s sqlite package if it is available\"
* Prevent data race for `pathHandlers`
* test: fix non-determinism in p2p_headers_sync_with_minchainwork.py
* QA: rpc_blockchain: Test output of getblock verbosity 0, False, and True
* Fix tx creation with just predefined input.
* Move blockstorage option logging to LoadChainstate()
* scripted-diff: net: rename permissionFlags to permission_flags
* net: make CNode::m_prefer_evict const
* net: make CNode::m_permissionFlags const
* net: add CNodeOptions for optional CNode constructor params
* qt: Update translation source file for string freeze
* refactor: add LIFETIMEBOUND to blockfilter where needed
* CBlockLocator: performance-move-const-arg Clang tidy fixups
* Update chainparams for 24.0 release
* guix: use --build={arch}-guix-linux-gnu in cross toolchain
* rpc: sort listdescriptors result
* test: simplify splitment with `sendall` in wallet_basic
* Fix typo from PR25717
* Bypass headers anti-DoS checks for NoBan peers
* Move headerssync logging to BCLog::NET
* tidy: enable bugprone-use-after-move
* test: work around bugprone-use-after-move warnings in util tests
* test: use `sendall` when emptying wallet
* Fix link to MurmurHash3.cpp from Austin Appleby
* doc: Release notes and other docs for migration
* Test migratewallet
* descriptors: addr() and raw() should return false for ToPrivateString
* Add migratewallet RPC
* Implement MigrateLegacyToDescriptor
* Implement MigrateToSQLite
* test: Test that an unconfirmed not-in-mempool chain is rebroadcast
* wallet: Deduplicate Resend and ReacceptWalletTransactions
* net: note CNode members that are treated as const
* net: mark CNode unique_ptr members as const
* net: mark TransportSerializer/m_serializer as const
* net/net_processing: add missing thread safety annotations
* ui: show header pre-synchronization progress
* Emit NotifyHeaderTip signals for pre-synchronization progress
* Make validation interface capable of signalling header presync
* Test large reorgs with headerssync logic
* Track headers presync progress and log it
* Expose HeadersSyncState::m_current_height in getpeerinfo()
* Test headers sync using minchainwork threshold
* Add unit test for HeadersSyncState
* Reduce spurious messages during headers sync
* Require callers of AcceptBlockHeader() to perform anti-dos checks
* Utilize anti-DoS headers download strategy
* Move validation option logging to LoadChainstate()
* contrib: update testnet torv3 hardcoded seeds
* test: Fix wallet_balance intermittent issue
* wallet: Refactor SetupDescSPKMs to take CExtKey
* Implement LegacyScriptPubKeyMan::DeleteRecords
* Implement LegacyScriptPubKeyMan::MigrateToDescriptor
* scriptpubkeyman: Implement GetScriptPubKeys in Legacy
* Apply label to all scriptPubKeys of imported combo()
* Wallet::SetMinVersion - Log the new minversion
* test: fix typo for MaybeResendWalletTxs
* wallet: trigger MaybeResendWalletTxs() every minute
* ci: Increase `windows_container` resources
* ci: Force `ccache` package version for MSVC build
* doc: add `{import,list}descriptors` to list of descriptor RPCs
* scripted-diff: rpc: fix rescan RPC name (s/rescanwallet/rescanblockchain/)
* build: prune compat event headers
* test: Fix intermittent issue in p2p_leak.py
* Use new Join() helper for ListBlockFilterTypes()
* Make Join() util work with any container type
* net: update hardcoded mainnet seeds for 24.x
* contrib: make-seeds updates for 24.x
* net: update manual hardcoded mainnet seeds for 24.x
* doc: Add my key to SECURITY.md
* test: add coverage for invalid parameters for `rescanblockchain`
* Add functions to construct locators without CChain
* Add bitdeque, an std::deque analogue that does bit packing.
* Add function to validate difficulty changes
* refactor: Move ChainstateManager options into m_options struct
* fixups for BIP125 doc cleanup
* test: remove unused `norm_prv` parameter
* init: avoid unsetting service bits from `nLocalServices`
* refactor: use `strprintf` for creating unknown-service-flag string
* Update debug logging section in the developer notes
* Update -debug and -debugexclude help docs for severity level logging
* Create BCLog::Level::Trace log severity level
* Unit test coverage for -loglevel configuration option
* Create -loglevel configuration option
* Unit test coverage for log severity levels
* Create BCLog::Logger::LogLevelsString() helper function
* Update LogAcceptCategory() and unit tests with log severity levels
* Add BCLog::Logger::SetLogLevel()/SetCategoryLogLevel() for string inputs
* Add BCLog::Logger::m_category_log_levels data member and getter/setter
* Add BCLog::Logger::m_log_level data member and getter/setter
* Fix iwyu
* Fix issues when calling std::move(const&)
* Security config warning
* wallet, tests: Test bumpfee\'s max input weight calculation
* Make DUMMY_CHECKER availble outside of script/sign.cpp
* test, bumpfee: Check that psbtbumpfee can bump txs with external inputs
* tests: Use mocktime for wallet encryption timeout
* Remove Join() helper only used in tests
* bumpfee: be able to bump fee of a tx with external inputs
* bumpfee: Clear scriptSigs and scriptWitnesses before calculated max size
* bumpfee: extract weights of external inputs when bumping fee
* bumpfee: Calculate fee by looking up UTXOs
* fs: work around u8path deprecated-declaration warnings with libc++
* wallet: remove UNKNOWN type from OUTPUT_TYPES array
* tests: Test that external inputs of txs in wallet is handled correctly
* wallet: Try estimating input size with external data if wallet fails
* wallet: SelectExternal actually external inputs
* Simplify BCLog::Level enum class and LogLevelToStr() function
* test: speedup wallet tests by whitelisting peers (immediate tx relay)
* descriptor: check if `rawtr` has only one key.
* wallet: Add CWallet::IsMine(COutPoint)
* doc: add releases notes for 25504 (listsinceblock updates)
* rpc: add an include_change parameter to listsinceblock
* refactor: Add lock annotations to Active
* methods
* Fix logical race in rest_getutxos
* Fix UB/data-race in RPCNotifyBlockChange
* Add ChainstateManager::GetMutex(), an alias for ::cs_main
* i2p: log \"SAM session\" instead of \"session\"
* doc: add release notes about the I2P transient addresses
* doc: document I2P transient addresses usage in doc/i2p.md
* test: add a test that -i2pacceptincoming=0 creates a transient session
* net: use transient I2P session for outbound if -i2pacceptincoming=0
* net: store an optional I2P session in CNode
* build: add example bitcoin conf to win installer
* build: include share/rpcauth in tarball & installer
* doc: minor updates to guix README
* build: reorder cxxflags in intrinsic checks
* doc: Remove my key from SECURITY.md
* refactor: Remove not needed empty RPC doc std::string
* qt: Update source translations for string freeze
* wallet: use GetChange() when computing waste
* wallet: use GetChange() in tx building
* wallet: add SelectionResult::GetChange
* wallet: calculate and store min_viable_change
* wallet: account for preselected inputs in target
* wallet: add SelectionResult::Merge
* wallet: accurate SelectionResult::m_target
* wallet: ensure m_min_change_target always covers change fee
* build, qt: Use `mkspecs/bitcoin-linux-g++` for all Linux hosts
* build: Add objcopy host tool
* doc: Remove no longer needed comments
* Squashed \'src/crc32c/\' changes from 0d624261ef..0bac72c455
* build: Adjust `qt/guix_cross_lib_path.patch`
* Add functional test for block announcements during initial headers sync
* Reduce bandwidth during initial headers sync when a block is found
* GUI: remove now unneeded \'m_balances\' field from overviewpage
* GUI: \'getAvailableBalance\', use cached balance if the user did not select UTXO manually
* GUI: use cached balance in overviewpage and sendcoinsdialog
* GUI: add getter for WalletModel::m_cached_balances field
* GUI: sendCoinsDialog, remove duplicate wallet().getBalances() call
* build: optimise arm64 darwin qt build using -O1
* refactor: Avoid copies in FlatSigningProvider Merge
* refactor: Remove trailing semicolon from LOCK2
* i2p: add support for creating transient sessions
* test: add tests for `datacarrier` and `datacarriersize` options
* [coin selection] consolidate m_change_target and m_min_change_target
* script/sign: remove needless IsSolvable() utility
* [test] make tx6 child of tx5, not tx3, in rbf_tests
* psbt: Avoid unsigned int overflow in PSBT_IN_TAP_BIP32_DERIVATION
* msvc: Drop `_SILENCE_CXX17_OLD_ALLOCATOR_MEMBERS_DEPRECATION_WARNING`
* validation tests: Use existing {Chainstate,Block}Man
* wallet: Return `util::Result` from WalletLoader methods
* refactor: improve readability for AttemptSelection
* test: only run test for descriptor wallets
* test: add missing BOOST_ASSERT
* wallet: switch to new shuffle, erase, push_back
* scripted-diff: Uppercase function names
* refactor: add new helper methods
* net: simplify GetLocalAddress()
* build: move raw rule into Makefile.am
* refactor: add UNKNOWN OutputType
* RPC/Mining: Clean out pre-Segwit miner compatibility code
* doc: test: suggest multi-line imports in functional test style guide
* test: refactor: deduplicate `DEFAULT_{ANCESTOR,DESCENDANT}_LIMIT` constants
* scripted-diff: test: rename `MAX_{ANCESTORS,DESCENDANTS}` to `DEFAULT_{ANCESTOR,DESCENDANT}_LIMIT`
* build: package test_bitcoin in Windows installer
* build: remove entire docs dir from Windows installer
* qt: Update translation source file
* qt: Bump Transifex slug for 24.x
* refactor: Drop `boost/algorithm/string/replace.hpp` dependency
* test: Add test case for `ReplaceAll()` function
* outputtype: remove redundant check for uncompressed keys in AddAndGetDestinationForScript
* build: fix cleanup of test logs
* test: don\'t rely on usdt block_conn event order
* wallet: improve `{LoadActive,Deactivate}ScriptPubKeyMan` log
* guix: patch NSIS to remove .reloc sections from install stubs
* refactor: wallet: return util::Result from `GetReservedDestination` methods
* rest: clean-up for `mempool` endpoints
* Make adjusted time type safe
* Add time helpers
* bench: Add a benchmark for descriptor expansion
* test: check that `verifymessage` RPC fails for non-P2PKH addresses
* Bugfix: Wallet: Document expectations for AddWalletFlags (now InitWalletFlags) correctly
* rpc/wallet: add simulaterawtransaction RPC
* [doc] remove non-signaling mentions of BIP125
* guix: ignore additional failing certvalidator test
* extended keys: fail to derive too large depth instead of wrapping around
* descriptor: don\'t assert success of extended key derivation
* (pubk)key: mark Derive() as nodiscard
* descriptor: never ignore the return value when deriving an extended key
* Change mapWallet to be a std::unordered_map
* Change getWalletTxs to return a set instead of a vector
* Change mapTxSpends to be a std::unordered_multimap
* wallet: Cache SigningProviders
* validationcaches: Use size_t for sizes
* validationcaches: Add and use ValidationCacheSizes
* cuckoocache: Check for uint32 overflow in setup_bytes
* validationcaches: Abolish arbitrary limit
* cuckoocache: Return approximate memory size
* tests: Reduce calls to InitS
*Cache()
* tidy: Enable two clang-tidy checks
* scripted-diff: remove mention of BIP125 from non-signaling var names
* refactor: Replace BResult with util::Result
* test: Target exact weight in MiniWallet _bulk_tx
* test: Add missing static to IsStandardTx helper
* Remove unused SetTip(nullptr) code
* sort after scripted-diff
* scripted-diff: Move mempool_args to src/node
* Remove ::g_max_datacarrier_bytes global
* Pass datacarrier setting into IsStandard
* Combine datacarrier globals into one
* Remove ::GetVirtualTransactionSize() alias
* Remove ::fIsBareMultisigStd global
* Remove ::dustRelayFee
* Remove ::IsStandardTx(tx, reason) alias
* test: Remove unused cs_main
* Remove ::incrementalRelayFee and ::minRelayTxFee globals
* Remove ::fRequireStandard global
* Return optional error from ApplyArgsManOptions
* build: Fix help string for `--enable-external-signer` configure option
* test: add support for Decimal to assert_approx
* test: MiniWallet: add `send_self_transfer_chain` to create chain of txns
* test: use MiniWallet to simplify mempool_package_limits.py tests
* test: negative/unknown `rpcserialversion` should throw an init error
* bdb: disable Werror for format-security
* qt: use patch over sed for guix CROSS_LIBRARY_PATH change
* build: Bump Qt to 5.15.5 in depends
* addrman: Use system time instead of adjusted network time
* Use steady clock for all millis bench logging
* doc: empty REVIEWERS file
* refactor: remove unneeded temporaries in node/interfaces, simplify code
* refactor: make all NodeImpl/ChainImpl/ExternalSignerImpl members public
* tidy: run clang-tidy in quiet mode
* wallet: Use CalculateMaximumSignedInputSize to indicate solvability
* Squashed \'src/leveldb/\' changes from 330dd6235f..22f1e4a02f
* univalue: Remove unused and confusing set
*() return value
* libxcb: use a patch instead of sed
* depends: don\'t restrict --enable-lto to non-guix cctools
* cctools: fixup building with LTO
* guix: enable hardening options in GCC Build
* guix: pass enable-bind-now to glibc
* guix: enable SSP for RISC-V glibc (2.27)
* [unit tests] individual RBF Rules in isolation
* refactor: log `nEvicted` message in `LimitOrphans` then return void
* test: Drop unused boost workaround
* refactor: Make const refs vars where applicable
* build: Do not export `PKG_CONFIG_{PATH|LIBDIR}` variables
* script: actually trigger the optimization in BuildScript
* depends: re-enable using -flto when building expat
* depends: expat 2.4.8
* tidy: enable readability-redundant-string-init
* refactor: remove unnecessary string initializations
* refactor: Use type-safe std::chrono for addrman time
* Add type-safe AdjustedTime() getter to timedata
* Add ChronoFormatter to serialize
* util: Add HoursDouble
* scripted-diff: Rename addrman time symbols
* refactor: Remove not needed std::max
* depends: always use correct ar for win qt
* fix comment spellings from the codespell lint
* psbt: Fix unsigned integer overflow
* scripted-diff: Replace NullUniValue with UniValue::VNULL
* fuzz: refactor: Replace NullUniValue with UniValue{}
* refactor: Make CTransaction constructor explicit
* test: remove unused if statements
* RPC: Document \"asm\" and \"hex\" fields for scripts
* Bugfix: RPC/blockchain: Correct type of \"value\" in getblock docs; add missing \"desc\"
* fuzz: Remove no-op SetMempoolConstraints
* test: check that combining PSBTs with different txs fails
* test: support passing PSBTMaps directly to PSBT ctor
* gui: Fix translator comment for Restore Wallet QInputDialog
* refactor: make active_chain_tip a reference
* refactor: move CBlockIndex#ToString() from header to implementation
* CDiskBlockIndex: rename GetBlockHash() to ConstructBlockHash()
* CDiskBlockIndex: remove unused ToString() class member
* CBlockIndex: ensure phashBlock is not nullptr before dereferencing
* refactor: Fix iwyu on node/chainstate
* doc: BaseIndex sync behavior with empty datadir
* ci: remove hardcoded tag list from ci scripts
* tracing: do not use `coin` after move in `CCoinsViewCache::AddCoin`
* contrib: remove unneeded valgrind suppressions
* ci: better pin to dwarf4 in valgrind job
* doc: update test/README.md
* script: default to necessary tags in get_previous_releases.py
* Use HashWriter where possible
* Add HashWriter without ser-type and ser-version
* compat: document redefining ssize_t when using MSVC
* compat: document error-code mapping
* compat: document sockopt_arg_type definition
* compat: document S_I
* defines when building for Windows
* compat: extract and document MAX_PATH
* compat: remove unused WSA
* definitions
* compat: document FD_SETSIZE redefinition for WIN32
* refactor: move compat.h into compat/
* refactor: Pass reference to LookUpStats
* Add wallet tests for spending rawtr()
* If P2TR tweaked key is available, sign with it
* Add rawtr() descriptor for P2TR with unknown tweak
* ci: Enable IWYU in src/kernel directory
* refactor: Reduce number of SanityChecks return values
* refactor: Reduce number of LoadChainstate return values
* refactor: Reduce number of LoadChainstate parameters
* test: add unit test for AvailableCoins
* test: functional test for new coin selection logic
* wallet: run coin selection by `OutputType`
* test: add test for decoding PSBT with per-input preimage types
* refactor: move helper `random_bytes` to util library
* test: add constants for PSBT key types (BIP 174)
* refactor: move PSBT(Map) helpers from signet miner to test framework
* refactor: move `from_binary` helper from signet miner to test framework
* scripted-diff: rename `FromBinary` helper to `from_binary` (signet miner)
* refactor: use CoinsResult struct in SelectCoins
* refactor: store by OutputType in CoinsResult
* Remove unused includes in rpc/fees.cpp
* Remove unused includes from dbwrapper.h
* Add missing includes
* Add missing includes to node/chainstate
* depends: modify FastFixedDtoa optimisation flags
* rpc: output parent wallet descriptors for coins in listunspent
* rpc: output wallet descriptors for received entries in listsinceblock
* spkman: don\'t ignore the return value when deriving an extended key
* Fix `-Wparentheses` gcc warning
* guix: Drop repetition of option\'s default value
* refactor: Use chainman() helper consistently in ChainImpl
* indexes, refactor: Remove CChainState use in index CommitInternal method
* indexes, refactor: Remove CBlockIndex
* uses in index Rewind methods
* indexes, refactor: Remove CBlockIndex
* uses in index WriteBlock methods
* indexes, refactor: Remove CBlockIndex
* uses in index Init methods
* indexes, refactor: Remove CBlockIndex
* uses in coinstatsindex LookUpOne function
* indexes, refactor: Pass Chain interface instead of CChainState class to indexes
* interfaces, refactor: Add more block information to block connected notifications
* refactor: Make mapBlocksUnknownParent local, and rename it
* tidy: use misc-unused-using-decls
* refactor: remove unused using directives
* validation: remove unused using directives
* depends: default to using GCC tool wrappers (with GCC)
* build: Fix autoconf variable names for tools found by `AC_PATH_TOOL`
* test: add coverage for wallet inconsistent state during sync
* build: Check for std::atomic::exchange rather than std::atomic_exchange
* wallet: guard and alert about a wallet invalid state during chain sync
* Add symlinks for hardcoded Makefiles in out of tree builds
* univalue: Return more detailed type check error messages
* move-only: Move UniValue::getInt definition to keep class with definitions only
* refactor: remove BOOST_
*_TEST_ macros
* refactor: integrate no_nul into univalue unitester
* doc: remove references to downstream
* fuzz: Fix assert bug in txorphan target
* build: Use Link Time Optimization for Qt code on Linux
* build: pass -fno-lto when building expat
* Move {Load,Dump}Mempool to kernel namespace
* Move DEFAULT_PERSIST_MEMPOOL out of libbitcoinkernel
* LoadMempool: Pass in load_path, stop using gArgs
* test/fuzz: Invoke LoadMempool via CChainState
* Move FopenFn to fsbridge namespace
* doc: Release notes for default RBF
* rpc: Default rbf enabled
* Disallow encryption of watchonly wallets
* mempool: Use NodeClock+friends for LoadMempool
* mempool: Improve comments for [GS]etLoadTried
* scripted-diff: Rename m_is_loaded -> m_load_tried
* DumpMempool: Pass in dump_path, stop using gArgs
* DumpMempool: Use std::chrono instead of weird int64_t arthmetics
* Release notes for Miniscript support in P2WSH descriptors
* wallet: allow to fetch the wallet descriptors for a given Script
* fix gettxout help text
* [net processing] Remove CNode::nLocalServices
* [net] Return CService from GetLocalAddrForPeer and GetLocalAddress
* [net processing] Remove CNode::nServices
* [net processing] Replace fHaveWitness with CanServeWitnesses()
* [net processing] Remove fClient and m_limited_node
* [tests] Connect peer in outbound_slow_chain_eviction by sending p2p messages
* [net processing] Add m_our_services and m_their_services to Peer
* Use designated initializers for ChainstateManager::Options
* Move ChainstateManagerOpts into kernel:: namespace
* univalue: Avoid narrowing and verbose int constructors
* qa: functional test Miniscript watchonly support
* Miniscript support in output descriptors
* qa: better error reporting on descriptor parsing error
* miniscript: add a helper to find the first insane sub with no child
* miniscript: don\'t check for top level validity at parsing time
* rpc: Select int-UniValue constructor for enum value in upgradewallet RPC
* wallet: Enable -walletrbf by default
* univalue: Throw exception on invalid pushes over silent ignore
* refactor: Default options in walletcreatefundedpsbt to VOBJ instead of VNULL
* refactor: Make FEELER_SLEEP_WINDOW type safe (std::chrono)
* Expose underlying clock in CThreadInterrupt
* depends: update urls for dmg tools
* test/mempool_persist: Test manual savemempool when -persistmempool=0
* test: remove unnecessary parens
* Remove atomic for m_last_getheaders_timestamp
* refactor: Return BResult from restoreWallet
* Prepare BResult for non-copyable types
* test: Remove duplicate MAX_BIP125_RBF_SEQUENCE constant
* scripted-diff: [test] Rename BIP125_SEQUENCE_NUMBER to MAX_BIP125_RBF_SEQUENCE
* wallet: change `ScanForWalletTransactions` to use `Ticks()`
* [test] persist prioritisation of transactions not in mempool
* move-only: InitializeNode to handshake helper
* move-only: Version handshake to libtest_util
* Address comments remaining from #25353
* wallet: Precompute Txdata after setting PSBT inputs\' UTXOs
* test: speedup wallet_coinbase_category.py
* doc: update the URLs to thread functions in developer-notes
* test: refactor: pass absolute fee in `create_lots_of_big_transactions` helper
* ci: run USDT interface test in a VM
* wallet: refactor GetNewDestination, use BResult
* send: refactor CreateTransaction flow to return a BResult
* wallet: refactor, include \'FeeCalculation\' inside \'CreatedTransactionResult\'
* Introduce generic \'Result\' class
* refactor: add most of src/util to iwyu
* Remove my key from trusted-keys
* refactor: Drop no longer needed `util/designator.h`
* build: Increase MS Visual Studio minimum version
* rpc, refactor: Add `decodepsbt_outputs`
* rpc, refactor: Add `decodepsbt_inputs`
* rpc, refactor: Add `getblock_prevout`
* doc: list the I2P accept thread in developer-notes
* test: add tests for negative waste during coin selection
* doc: update for NetBSD 9.2, add GUI Build Instructions
* Mention `mempoolfullrbf` in policy/mempool-replacements.md
* Update getmempoolinfo RPC with `mempoolfullrbf`
* Introduce `mempoolfullrbf` node setting.
* guix: patch gcc 10 with pthreads to remap guix store paths
* wallet: clean AllInputsMine code, use InputIsMine internally
* [net] Move eviction logic to its own file
* [net] Move ConnectionType to its own file
* fuzz: add low-level target for txorphanage
* add glozow builder key
* test: Remove -acceptnonstdtxn=1 from feature_rbf.py
* Bugfix: Check for readlink buffer overflow and handle gracefully
* doc: remove note on arm cross-compilation from build-unix.md
* wallet: don\'t iter twice when getting the cached debit/credit amount
* wallet: clean InputIsMine code, use GetWalletTx
* wallet: unify CachedTxGetImmatureCredit and CachedTxGetImmatureWatchOnlyCredit
* wallet: remove always true \'fUseCache\' arg from CachedTxGetAvailableCredit
* wallet: remove always false \'recalculate\' arg from GetCachableAmount
* wallet: remove always true \'fUseCache\' from CachedTxGetImmatureWatchOnlyCredit
* wallet: remove always true \'fUseCache\' from CachedTxGetImmatureCredit
* [ci] apply cache size limit and print ccache statistics in \"ARM64 Android APK\"
* [net] Add connection type to NodeEvictionCandidate
* [net] Add NoBan status to NodeEvictionCandidate
* test, wallet: Add mempool rescan test for import RPCs
* rpc, wallet: Document mempool rescan after importdescriptor, importwallet
* rpc, wallet: Document mempool scan after importmulti
* rpc, wallet: Document mempool scan after importpubkey
* rpc, wallet: Document and test mempool scan after importprivkey
* rpc, wallet: Document and test mempool scan after importaddress
* wallet: Rescan mempool for transactions as well
* contrib: dedup `get_witness_script` helper in signet miner
* test: pass `dustrelayfee=0` option for tests using dust (instead of `acceptnonstdtxn=1`)
* test: adopt USDT utxocache interface tests
* test: hook into PID in tracing tests
* test: remove wallet dependency from mempool_updatefromblock.py
* doc: Add a release note about the \"restore wallet\" menu item
* add glozow to trusted-keys
* Replace GetTime() with NodeClock in MaybeSendGetHeaders()
* test: Make the scriptPubKey of MiniWallet created txs mutable
* test: Allow setting sequence per input in MiniWallet create_self_transfer_multi
* test: Allow amount_per_output in MiniWallet create_self_transfer_multi
* test: Allow absolute fee in MiniWallet create_self_transfer
* Remove outdated comment
* psbt: Check Taproot tree depth and leaf versions
* test: refactor rpc_signrawtransaction.py
* test: passing a non-positive integer value to `-peertimeout` should throw an error
* guix: use elfesteem 2eb1e5384ff7a220fd1afacd4a0170acff54fe56
* rephrase error for invalid timeout
* wallet: don\'t add change fee to target if subtracting fees from output
* qt: apply translator comments to reset options confirmation dialog
* test: pass `datacarriersize` option for tests using large outputs (instead of `acceptnonstdtxn`)
* test: let `gen_return_txouts` create a single large OP_RETURN output
* Squashed \'src/minisketch/\' changes from 7eeb778fef..47f0a2d26f
* test: assert serialized txouts size of `gen_return_txouts` helper
* util: remove MSVC warning pragmas
* Use AutoFile where possible
* streams: Add AutoFile without ser-type and ser-version
* wallet: more accurate tx_noinputs_size
* rpc: Disallow gettxoutsetinfo queries for a specific block with use_index=false
* build: Clean up `build_msvc/libsecp256k1_config.h`
* Revert \"bnb: exit selection when best_waste is 0\"
* fees: Pass in a filepath instead of referencing gArgs
* init: Remove redundant -
*mempool
*, -limit
* queries
* Don\'t send getheaders message when another request is outstanding
* Cleanup received_new_header calculation to use WITH_LOCK
* Move peer state updates from headers message into separate function
* Move headers direct fetch to end of ProcessHeadersMessage
* Move headers-direct-fetch logic into own function
* Move additional headers fetching to own function
* Add helper function for checking header continuity
* Move handling of unconnecting headers into own function
* mempool: Use m_limit for UpdateTransactionsFromBlock
* node/ifaces: Use existing MemPoolLimits
* mempoolaccept: Use limits from mempool in constructor
* mempool: Introduce (still-unused) MemPoolLimits
* scripted-diff: Rename anc/desc size limit vars to indicate SI unit
* scripted-diff: Rename DEFAULT_MEMPOOL_EXPIRY to indicate time unit
* mempool: Pass in -mempoolexpiry instead of referencing gArgs
* init: Only determine maxmempool once
* mempool: Make GetMinFee() with custom size protected
* mempool: Pass in -maxmempool instead of referencing gArgs
* pool: Add and use MemPoolOptions, ApplyArgsManOptions
* gui: reset options, notify user about the backup creation
* guix: Remove guix store paths from glibc
* guix: Map all guix store prefixes to /usr
* Namecoin / Qt: Show .bit form for d/ names in TransactionRecord
* wallet: use CCoinControl to estimate signature size
* wallet: replace GetTxSpendSize with CalculateMaximumSignedInputSize
* doc: Fix typo in macdeploy
* test: Test signing psbts without explicitly having scripts
* wallet: also search taproot pubkeys in FillPSBT
* sign: Use sigdata taproot spenddata when signing
* psbt: Implement merge for Taproot fields
* psbt, test: Check for taproot fields in taproot psbt test
* taproot: Use pre-existing signatures if available
* tests: Test taproot fields for PSBT
* psbt: Remove non_witness_utxo for segwit v1+
* Implement decodepsbt for Taproot fields
* Fill PSBT Taproot output data to/from SignatureData
* Assert that TaprootBuilder is Finalized during GetSpendData
* Store TaprootBuilder in SigningProviders instead of TaprootSpendData
* Fetch key origins for Taproot keys
* Fill PSBT Taproot input data to/from SignatureData
* Implement de/ser of PSBT\'s Taproot fields
* Add serialization methods to XOnlyPubKey
* Add TaprootBuilder::GetTreeTuples
* Move individual KeyOriginInfo de/ser to separate function
* fuzz/rbf: Add missing TestingSetup
* test: fix failing test interface_usdt_utxocache.py
* rpc: use enum instead of string for filter type
* gui: Add Wallet Restore in the GUI
* Revert \"ci: Increase CPU number for \"Win64 native\" task\"
* rpc: add RPCTypeCheck for getblockfrompeer inputs
* test: Remove unused call to generate in rpc_mempool_info
* test: Sync MiniWallet utxo state after each generate call
* test: Drop spent utxos in MiniWallet scan_tx
* test: Return new_utxos from create_self_transfer_multi in MiniWallet
* test: Return new_utxo from create_self_transfer in MiniWallet
* Replace CountSecondsDouble with Ticks
* test: Remove unnecessary block mining from importdescriptors test
* build: Bump default `PlatformToolset` for Visual Studio 2022
* doc: Make Windows build docs match the CI task
* ci: Increase CPU number for \"Win64 native\" task
* ci: Bump vcpkg to the latest version
* ci: Limit ccache cache size properly on \"Win64 native\" task
* ci: Update Windows task image up to visualstudio2022
* guix: patch LIEF to fix PPC64 NX default
* guix: use LIEF 0.12.1
* guix: remove usage of -Wl,-z,noexecstack for PPC64 HOST
* remove unused functions
* test: remove wallet dependency from feature_nulldummy.py
* rpc: Fix Univalue push_backV OOM in listtransactions
* wallet test: Add unit test for wallet scan save_progress option
* wallet: Save wallet scan progress
* build: use BOOST_NO_CXX98_FUNCTION_BASE to suppress warnings
* build: suppress array-bounds errors in libxkbcommon
* [functional test] submitrawpackage RPC
* [rpc] add new submitpackage RPC
* Use more specific path when including `memenv.h` header
* rpc: Use steady_clock for getrpcinfo durations
* refactor: remove unused method `CDBWrapper::CompactRange`
* guix: parallelize LIEF build
* scripted-diff: Rename DEFAULT_MAX_MEMPOOL_SIZE to indicate SI unit
* ArgsMan: Add Get
*Arg functions returning optional
* test: `-whitebind` and `-bind` with `-listen=0` should throw an error
* test: add coverage for \'listreceivedbyaddress\' no change addrs return
* refactor: \'ListReceived\' use optional for filtered address
* refactor: RPC \'ListReceived\', encapsulate m_address_book access
* refactor: RPC \'listlabels\', encapsulate \'CWallet::ListAddrBookLabels\' functionality
* [net processing] Set CNode::m_relays_txs=true when receiving BIP37 filters
* ci: Improve naming related to \"macOS 12 native x86_64\" task
* ci, refactor: Add `MACOS_NATIVE_TASK_TEMPLATE`
* Remove LOCKTIME_MEDIAN_TIME_PAST constant
* Fix signed integer overflow in prioritisetransaction RPC
* refactor: Replace feeDelta by m_modified_fee
* net: rename Sock::Reset() to Sock::Close() and make it private
* test: Fail if connect_nodes fails
* build: Remove negated --enable-fuzz checks from build system
* Update Arch Linux build example
* test, qt: Add tests for `GUIUtil::extractFirstSuffixFromFilter`
* qt: Replace `QRegExp` with `QRegularExpression`
* qt: Add a function that extracts the suffix from a filter
* rpc: Return incrementalrelayfee in getmempoolinfo
* Use consistent wording in log
* refactor: remove unused methods `{CDBIterator,CCoinsViewDBCursor}::GetValueSize()`
* refactor: use \'ForEachAddrBookEntry\' in RPC \'getaddressesbylabel\'
* refactor: use ForEachAddrBookEntry in interfaces::getAddresses
* wallet: implement ForEachAddrBookEntry method
* refactor: implement general \'ListAddrBookAddresses\' for addressbook destinations lookup
* qt6: Do not use deprecated high DPI attributes in Qt 6
* refactor: Fix style in `initTranslations()` function
* qt6: Do not use deprecated `QLibraryInfo::path` in Qt 6
* qt6: Fix type registration
* test: Remove from_node from create_self_transfer
* MiniWallet helpers
* test: refactor: save MiniWallet mode explicitly
* guix: remove explicit glibc stack protector disabling
* wallet: avoid extra wtx lookup in AddToSpends
* net: remove CloseSocket()
* net: remove now unused Sock::Release()
* net: change GetBindAddress() to take Sock argument
* net: add new method Sock::GetSockName() that wraps getsockname()
* build: Fix `::_wsystem` check
* build, qt: Fix `QMAKE_CXXFLAGS` expression for `mingw32` host
* build: globally define NOMINMAX
* refactor: move DEFAULT_
*_LIMIT assertions from validation to policy
* refactor: move EXTRA_DESCENDANT_TX_SIZE_LIMIT to policy/policy.h
* refactor: use braced initialization in policy/policy.h
* scripted-diff: use static constexpr in policy/policy.h
* refactor: Move DEFAULT_DESCENDANT_SIZE_LIMIT to policy/policy.h
* refactor: Move DEFAULT_DESCENDANT_LIMIT to policy/policy.h
* refactor: Move DEFAULT_ANCESTOR_SIZE_LIMIT to policy/policy.h
* refactor: Move DEFAULT_ANCESTOR_LIMIT to policy/policy.h
* scripted-diff: rename fAllowOtherInputs -> m_allow_other_inputs
* refactor: use GetWalletTx in SelectCoins instead of access mapWallet
* wallet: move \"use-only coinControl inputs\" below the selected inputs lookup
* wallet: unify “allow/block other inputs“ concept
* doc: typo fix
* wallet: fix warning: \"argument name \'feerate\' in comment does not match parameter name\"
* p2p, doc: Use MAX_BLOCKS_TO_ANNOUNCE consistently
* build: add
*_STANDARD vars to depends gen_id
* walletdb: fix last client version update
* build: add and use CXX_STANDARD in depends
* build: add and use C_STANDARD in depends
* wallet: don\'t read db every time that a new WalletBatch is created
* scripts: remove no-longer-needed ignored exports
* doc: update configure ar doc to mention libtool 2.4.7
* guix: use libtool 2.4.7
* bench/rpc_mempool: Create ChainTestingSetup, use its CTxMemPool
* bench: Use existing CTxMemPool in TestingSetup
* scripted-diff: test: Use CTxMemPool in TestingSetup
* test/policyestimator: Use ChainTestingSetup\'s CTxMemPool
* rest/getutxos: Don\'t construct empty mempool
* [doc] RBF feerate rule
* If -prune=0 is set, Uncheck Prune on Intro page
* refactor: cleanups post unsubtree\'ing univalue
* refactor: un-subtree univalue
* build: sqlite 3380500 in depends
* test: remove unused `create_confirmed_utxos` helper
* doc: Update importaddress mention incompatibility with descriptor wallet
* test: check for `getblocktxn` request with out-of-bounds tx index
* qt, refactor: Add `transactionoverviewwidget.cpp` source file
* refactor: getAddress don\'t access m_address_book, use FindAddressEntry function
* message-capture-parser: fix out of bounds error for empty vectors
* test: implement \'bech32m\' mode for `getnewdestination()` helper
* test: add helpers for creating P2TR scripts/addresses from output key
* build: support LTO in depends
* scripted-diff: Avoid incompatibility with CMake AUTOUIC feature
* refactor: Introduce PeerManagerImpl::RejectIncomingTxs
* test: Remove MiniWallet mempool_valid option
* Namecoin: Use absolute FQDN for DNS seed domains
* doc: add distcc to productivity notes
* RPC/blockchain: Reorder result documentation for scantxoutset
* scripted-diff: RPC/blockchain: Lowercase \"when\" in scantxoutset documentation
* RPC/blockchain: Elaborate on scantxoutset documentation
* build: systemtap 4.7
* Namecoin: Add name applications tests
* Namecoin / Qt: Show namespace in Type column of Transactions tab
* test: passing a value below 5 MB to -maxmempool should throw an error
* test: Fix previous release binary download script for Apple ARM64
* qt: Fix `BitcoinAmountField`\'s base widget
* qt, refactor: Fix `sendcoinsentry.ui` indentation
* qt, refactor: Convert `SendCoinsEntry` to a sub-`QWidget`
* Squashed \'src/secp256k1/\' changes from 8746600ee..44c2452fd
* compat: Consolidate mingw-w64 ASLR workaround for upstream libsecp changes
* p2p: always set nTime for self-advertisements
* test: Fix out-of-range port collisions
* util: modify Win32LockedPageAllocator to query windows for limit
* build: test for timingsafe_bcmp
* GetExternalSigner(): fail if multiple signers are found
* net: use Sock::WaitMany() instead of CConnman::SocketEvents()
* net: introduce Sock::WaitMany()
* doc: add `desig` to ignore-words
* net: also wait for exceptional events in Sock::Wait()
* [test] Fix port collisions caused by p2p_getaddr_caching.py
* [test_framework] Set PortSeed.n directly after initialising params
* wallet: GetAvailableBalance, remove double walk-through every available coin
* wallet: add \'only_spendable\' filter to AvailableCoins
* wallet: remove unused IsSpentKey(hash, index) method
* wallet: avoid extra IsSpentKey -> GetWalletTx lookups
* wallet: decouple IsSpentKey(scriptPubKey) from IsSpentKey(hash, n)
* wallet: IsSpent, \'COutPoint\' arg instead of (hash, index)
* wallet: IsLockedCoin, \'COutPoint\' arg instead of (hash, index)
* wallet: AvailableCoins, don\'t call \'wtx.tx->vout[i]\' multiple times
* wallet: return \'CoinsResult\' struct in `AvailableCoins`
* doc: fix typo in kernel/context.h
* logging: use LogPrintfCategory rather than a manual category
* logging: add LogPrintfCategory to log unconditionally with category
* Remove redundant nLastTry check
* guix: re-revert riscv execstack workaround
* Remove redundant nTime checks
* doc: Fix command in \"OpenBSD Build Guide\"
* doc: Correct comment describing value of MAX_FILE_SIZE_PSBT as in MiB
* doc: Correct nPruneTarget misidentifying units of variable
* test: Fix wait_for_debug_log UnicodeDecodeError
* Add LogPrintLevel to lint-format-strings, drop LogPrint-vs-LogPrintf section in dev notes
* test: clean up all-lint.py
* test: rename lint-all.py to all-lint.py
* miner: Make mempool optional for BlockAssembler
* test: ensure createmultisig and addmultisigaddress are not returning any warning for expected cases
* rpc: fix inappropriate warning for address type p2sh-segwit in createmultisig and addmultisigaddress
* scripted-diff: remove duplicate categories from LogPrint output
* Bugfix: configure: Define default for use_libevent
* build: Remove unused `LIBBITCOIN_KERNEL` variable
* doc: Fix typo in importdescriptors
* qt: Drop no longer supported Android architecture
* Bugfix: RPC/blockchain: pruneblockchain: Return the height of the actual last pruned block
* [test] Test addr cache for multiple onion binds
* [net] Seed addr cache randomizer with port from binding address
* qt, refactor: add translator comments in `TransactionDesc::FormatTxStatus()`
* kernel: SanityChecks: Return an error struct
* qt: Remove unnecessary wallet includes from rpcconsole.cpp
* Move init::SanityCheck to kernel::SanityCheck
* init: Initialize globals with kernel::Context\'s life
* kernel: pass params to BlockManager rather than using a global
* logging: fix logging empty threadname
* test: add BIP-125 rule 5 testcase with default mempool
* test: check `replaceable` mismatch error in `createrawtransaction` RPC
* Use designated initializers
* test: Set maxfeerate=0 in MiniWallet sendrawtransaction()
* contrib: Update makeseeds to asmap-nextgen
* test: check pre-segwit peer error in `getblockfrompeer` RPC
* kernel: Introduce empty and unused kernel::Context
* test: Use Set/UnsetGlobals in BasicTestingSetup
* ci: Reuse some configure options in \"ARM64 Android APK\" task
* ci, android: Update NDK up to r23c
* ci, android: Update Command-line Tools from 2.1 up to 7.0
* ci: Drop unneeded packages in \"ARM64 Android APK\" task
* Move minRelayTxFee to policy/settings
* test: add coverage for non-hex value to -minimumchainwork
* contrib: add seeds progress indicator and remove asmap one in makeseeds script
* contrib: Use asmap for ASN lookup in makeseeds
* Revert \"build: more robustly check for fcf-protection support\"
* build: pass bdb cppflags only where needed
* use testing setup mempool in ComplexMemPool bench
* create and use mempool transactions using real coins in MempoolCheck
* [test util] to populate mempool with random transactions/packages
* [test util] use -checkmempool for TestingSetup mempool check ratio
* [test util] add chain name to TestChain100Setup ctor
* qt, refactor: Drop unused `QFrame`s in `SendCoinsEntry`
* Squashed \'src/univalue/\' changes from 6c19d050a9..de4f73ddca
* refactor: Replace get_int by getInt alias
* refactor: Explicitly convert atomic to int
* test: Use MiniWallet in rpc_rawtransaction.py
* MOVEONLY: Move signrawtransactionwithwallet test
* miniscript: rename IsSane and IsSaneSubexpression to prevent misuse
* miniscript: nit: don\'t return after assert(false)
* miniscript: explicit the threshold size computation in multi()
* miniscript: add an OpCode typedef for readability
* miniscript: mark nodes with duplicate keys as insane
* Remove no-op TIME_INIT on deser
* wallet: CommitTransaction, remove extra wtx lookup and add exception for a possible db write error.
* qt, wallet, refactor: Drop unused `WalletModel::PaymentRequestExpired`
* qt, wallet, refactor: Make `WalletModel::sendCoins()` return `void`
* rpc: Capture potentially large UniValue by ref for rpcdoccheck
* ci: Install documented packages for \"Win64\" CI task
* compat: remove glibcxx sanity checks
* miner: Make UpdatePackagesForAdded static
* miner: Absorb SkipMapTxEntry into addPackageTxs
* test: allow passing sequence through create_self_transfer_multi
* doc: add release note about removal of `deprecatedrpc=fees` flag
* rpc: remove deprecated fee fields from mempool entries
* Pass Peer& to Misbehaving()
* Reset settings.json when GUI options are reset
* Add release notes about unified bitcoin-qt and bitcoind persistent settings
* Migrate -lang setting from QSettings to settings.json
* Migrate -prune setting from QSettings to settings.json
* Migrate -proxy and -onion settings from QSettings to settings.json
* Migrate -listen and -server settings from QSettings to settings.json
* Migrate -upnp and -natpmp settings from QSettings to settings.json
* Migrate -spendzeroconfchange and -signer settings from QSettings to settings.json
* Migrate -par setting from QSettings to settings.json
* Migrate -dbcache setting from QSettings to settings.json
* scripts and tools: update lint-logs.py to detect LogPrintLevel()
* multiprocess build cleanup: comment on manual dependencies
* Update zmq.md: Fix parameter in hwm example block
* tree-wide: clang-format CTxMemPool references
* Add BIP-341 specified constraints to `ComputeTaprootMerkleRoot`
* fuzz: coinselection, add missing fee rate.
* multiprocess build fix: ipc/capnp/init.capnp.h: No such file or directory
* doc: remove misleading AreInputsStandard() comment
* refactor: Change LogPrintLevel order to category, severity
* leveldb: Log messages from leveldb with category and debug level
* http: Use severity-based logging for messages from libevent
* logging: Unconditionally log levels >= WARN
* Get time less often in AddrManImpl::ResolveCollisions_()
* Fixup option name in bench message
* doc: Fix spelling errors identified by codespell in coments
* windeploy: Renewed windows code signing certificate
* contrib: Remove keys that are no longer used for merging
* doc: Explain squashing with merge commits
* test: add coverage for unknown -blockfilterindex
* coinstats: Move GetUTXOStats to rpc/blockchain
* kernel: Use ComputeUTXOStats in validation
* style-only: Rearrange using decls after scripted-diff
* scripted-diff: Move src/kernel/coinstats to kernel::
* Use only kernel/coinstats.h in index/coinstatsindex.h
* coinstats: Split node/coinstats.h to kernel/coinstats.h
* coinstats: Move hasher codepath to kernel/coinstats
* Move logic from LookupUTXOStatsWithIndex to CoinStatsIndex::LookUpStats
* coinstats: Separate hasher/index lookup codepaths
* coinstats: Return purely out-param CCoinsStats
* test: Use permissions from git in `lint-files.py`
* Update GCSFilter benchmarks
* Add GCSFilterDecodeSkipCheck benchmark
* Add GCSFilterDecode and GCSBlockFilterGetHash benchmarks.
* refactor: Remove defunct attributes.h includes
* qt: Use `QRegularExpression` in `AddressBookSortFilterProxyModel` class
* qt, test: Add tests for searching in `AddressBookPage` dialog
* Set effective_value when initializing a COutput
* qt: Replace `QCoreApplication::quit()` with `QCoreApplication::exit(0)`
* doc: add release notes about `getreceivedbylabel` returning an error if the label is not in the address book.
* coinstats: Extract index_requested in-member to in-param
* coinstats: Extract hash_type in-member to in-param
* includes: Remove rpc/util.h -> node/coinstats.h
* fuzz: Remove useless GetUTXOStats fuzz case
* kernel: Remove unnecessary blockfilter{index,}.cpp
* rpc: getreceivedbylabel, don\'t loop over the entire wallet txs map if no destinations were found for the input label.
* validation: Have ChainstateManager own m_chainparams
* Add ChainstateManager::m_adjusted_time_callback
* Add ChainstateManagerOpts, using as ::Options
* doc: Update developer notes
* sync.h: Imply negative assertions when calling LOCK
* scripted-diff: Convert global Mutexes to GlobalMutexes
* sync.h: Add GlobalMutex type
* qt/clientmodel: thread safety annotation for m_cached_tip_mutex
* net_processing: thread safety annotation for m_tx_relay_mutex
* Rename NetinfoRequestHandler::is_block_relay data member to is_tx_relay
* doc: remove passing `--disable-external-signer` in OpenBSD build guide
* refactor: Remove redundant scope in `BanMan::SweepBanned()`
* refactor: Add thread safety annotation to `BanMan::SweepBanned()`
* refactor: Move code from ctor into private `BanMan::LoadBanlist()`
* Fix frequent -netinfo JSON errors from null getpeerinfo#relaytxes
* refactor: Propagate negative `!m_tx_relay_mutex` capability
* refactor: Propagate negative `!m_most_recent_block_mutex` capability
* doc: update developer notes wrt --enable-debug and DEBUG_LOCKCONTENTION
* ci: add DEBUG_LOCKCONTENTION to CI task containing DEBUG_LOCKORDER
* build: add DEBUG_LOCKCONTENTION to --enable-debug configuration
* test: add coverage for unknown network in -onlynet
* test: use MiniWallet for feature_dbcrash.py
* settings: Add resetSettings() method
* refactor: Pass interfaces::Node references to OptionsModel constructor
* refactor: Add OptionsModel getOption/setOption methods
* init: Remove Shutdown() node.args reset
* settings: Add update/getPersistent/isIgnored methods
* doc: add release notes about removal of the `deprecatedrpc=exclude_coinbase`
* rpc: wallet: remove `-deprecatedrpc=exclude_coinbase` logic
* logging: Add log severity level to net.cpp
* logging: Add severity level to logs.
* index: Don\'t commit a best block before indexing it during sync
* build: use BOOST_MULTI_INDEX_ENABLE_SAFE_MODE when debugging
* build: Enable RPC_DOC_CHECK on --enable-debug
* rpc: Put undocumented JSON failure mode behind a runtime flag
* scripted-diff: Use getInt over get_int/get_int64
* Add mockable clock type and TicksSinceEpoch helper
* Do not call global Params() when chainman is in scope
* Do not pass CChainParams& to PeerManager::make
* Do not pass CChainParams& to BlockAssembler constructor
* Do not pass Consensus::Params& to Chainstate helpers
* Do not pass time getter to Chainstate helpers
* [net processing] Don\'t initialize TxRelay for non-tx-relay peers.
* [net processing] Add m_tx_relay_mutex to protect m_tx_relay ptr
* [net processing] Comment all TxRelay members
* [net processing] [refactor] Move m_next_send_feefilter and m_fee_filter_sent
* net: add new method Sock::Listen() that wraps listen()
* net: add new method Sock::Bind() that wraps bind()
* Add link to NetBSD release
* [test] Remove segwit argument from build_block_on_tip()
* test: fundrawtransaction preset input weight calculation
* wallet: do not count wallet utxos as external
* test: use sendall in wallet_taproot.py tests
* tidy: use modernize-use-default-member-init
* refactor: use C++11 default initializers
* Use steady_clock in ConnectAndCallRPC and inline time call in loop conditional
* Fix -rpcwait with -netinfo printing negative time durations
* tracing: fix `coin_selection:aps_create_tx_internal` calling logic
* Add functional test for block sync from inbound peers
* Sync chain more readily from inbound peers during IBD
* Remove fUseWTXID parameter from CBlockHeaderAndShortTxIDs constructor
* bench: Make all arguments -kebab-case
* bench: Add `--sanity-check` flag, use it in `make check`
* Add more proper thread safety annotations
* Add proper thread safety annotation to `CWallet::GetTxConflicts()`
* Add proper thread safety annotation to `CachedTxGetAvailableCredit()`
* wallet: CreateTransaction(): return out-params as (optional) struct
* wallet: CreateTransactionInternal(): return out-params as (optional) struct
* refactor: replace RecursiveMutex `m_most_recent_block_mutex` with Mutex
* refactor: reduce scope of lock `m_most_recent_block_mutex`
* [net processing] Remove redundant nodestate->m_sendcmpct check in MaybeSetPeerAsAnnouncingHeaderAndIDs()
* [net processing] Only relay blocks by cmpctblock and cache for fast relay if segwit is enabled
* [net processing] Rename CNodeState compact block members
* [net processing] Tidy up `sendcmpct` processing
* [net processing] fPreferHeaderAndIDs implies fProvidesHeaderAndIDs
* [net processing] Remove fWantsCmpctWitness
* [net processing] Remove fSupportsDesiredCmpctVersion
* [net processing] Simplify `sendcmpct` processing
* [net processing] Only accept `sendcmpct` with version=2
* [net processing] Only advertise support for version 2 compact blocks
* [net] Stop testing version 1 compact blocks.
* test: Fix race condition in index pruning test
* Sanitize port in `addpeeraddress()`
* test: make BIP157 messages default-constructible (MESSAGEMAP compatibility)
* test: Slim down versionbits_tests.cpp
* test: p2p: add missing BIP157 message types to MESSAGEMAP
* doc: add release notes about removal of the `deprecatedrpc=softforks` flag
* rpc: remove deprecated \"softforks\" field from getblockchaininfo
* rpc: Fix implicit-integer-sign-change in gettxout
* test: Fix intermittent race in p2p_unrequested_blocks.py
* test: compare `/mempool/info` response with `getmempoolinfo` RPC
* refactor: move StartExtraBlockRelayPeers from header to implementation
* test: Check msg type in msg capture is followed by zeros
* scripted-diff: replace non-standard fixed width integer types (`u_int`...` -> `uint`...)
* Squashed \'src/univalue/\' changes from a44caf65fe..6c19d050a9
* guix: native GCC 10 toolchain for Linux builds
* guix: use -fcommon when building glibc 2.24
* guix: fix glibc 2.27 multiple definition warnings with GCC 10
* guix: adjust RISC-V __has_include() patch to work with GCC 10
* guix: compile glibc without -werror
* sync.h: strengthen AssertLockNotHeld assertion
* Increase threadsafety annotation coverage
* Remove unused GetTimeSeconds
* rpc: check `fopen` return code in dumptxoutset
* wallet: Change log interval to use `steady_clock`
* bench: Enable loading benchmarks depending on what\'s compiled
* bench: Use mock wallet database for wallet loading benchmark
* sqlite: Use in-memory db instead of temp for mockdb
* walletdb: Create a mock database of specific type
* Add clang lifetimebound section to developer notes
* Add C++ functions and methods section to developer notes
* Switch scheduler to steady_clock
* doc: Explain Bitcoin Core in README.md
* validation: move g_versionbitscache into ChainstateManager
* test/versionbits: make versionbitscache a parameter
* deploymentstatus: make versionbitscache a parameter
* refactor: use chainman instead of chainParams for DeploymentActive
*
* deploymentstatus: allow chainman in place of consensusParams
* validation: move UpdateUncommittedBlockStructures and GenerateCoinbaseCommitment into ChainstateManager
* validation: replace ::Params() calls with chainstate/chainman member
* validation: remove redundant CChainParams params from ChainstateManager methods
* validation: add CChainParams to ChainstateManager
* guix: bump time-machine to 998eda3067c7d21e0d9bb3310d2f5a14b8f1c681
* scripted-diff: Rename MainSignalsInstance() class to MainSignalsImpl()
* refactor: remove unused forward declarations in validationinterface.h
* refactor: make MainSignalsInstance() a class
* [net] Use ConnectedThroughNetwork() instead of GetNetwork() to seed addr cache randomizer
* Link in developer notes style to internal interface exception
* Prefer Python for scripts in developer notes
* test: Remove extended lint (cppcheck)
* Wallet: Ensure m_attaching_chain is set before registering for signals
* random: Add FastRandomContext::rand_uniform_delay
* Add time helpers for std::chrono::steady_clock
* index, refactor: Change sync variables to use `std::chrono::steady_clock`
* parsing external signer master fingerprint string as bytes instead of caring for lower/upper case in ExternalSigner::SignTransaction
* Remove obsolete BDB ENABLE_WALLET section in developer notes
* doc: Shorten explanation of \"maintainers\"
* test: previous releases: add v23.0
* Wrap boost::replace_all
* contrib: fix dirname on `verify-commits`
* Sanity assert GetAncestor() != nullptr where appropriate
* test: port \'lint-shell.sh\' to python
* Add RPC to get mempool txs spending outputs
* build: Drop redundant checks for ranlib and strip tools
* Unroll the ChaCha20 inner loop for performance
* doc: update init.cpp -conf help text
* doc: update devtools, release-process readmes
* build: include bitcoin.conf in build outputs
* refactor: Change
* to & in MutableTransactionSignatureCreator
* fuzz: SplitString with multiple separators
* http: replace boost::split with SplitString
* core_read: Replace boost::split with SplitString
* Extend Split to work with multiple separators
* blockstorage: add LIFETIMEBOUND to GetFirstStoredBlock()::start_time
* test: add coverage for invalid requests for `blockfilterheaders`
* scripted-diff: Rename rpc/misc.cpp to rpc/node.cpp
* rpc: Move output script RPCs to separate file
* Guard `#include `
* doc: update bitcoin-conf.md
* script: add script to generate example bitcoin.conf
* doc: replace bitcoin.conf with placeholder file
* No coin selection if provided input suffices.
* Make sanity check in GCSFilter constructor optional
* Bugfix: configure: Define defaults for enable_arm_{crc,shani}
* tidy: add readability-redundant-declaration
* build: Fix `libmultiprocess` cross-compiling to Linux hosts
* Reject invalid rpcauth formats
* lint: Fix lint-circular-dependencies.py file list
* ci: Clone iwyu only if missing
* Pass lifetimebound reference to SingleThreadedSchedulerClient
* test: stop node before calling assert_start_raises_init_error
* rpc: Move fee estimation RPCs to separate file
* test: Remove boost::split from getarg_tests.cpp
* test: Remove boost::split from rpc_tests.cpp
* test: Split MempoolAncestryTests into two
* rpc: use GetBlockTime() for getblockchaininfo#time
* blockstorage, refactor: pass GetFirstStoredBlock() start_block by reference
* blockstorage, refactor: make GetFirstStoredBlock() a member of BlockManager
* test, bench: make prevector and checkqueue swap member functions noexcept
* validation: make CScriptCheck and prevector swap member functions noexcept
* fuzz: add a Miniscript target for string representation roundtripping
* fuzz: rename and improve the Miniscript Script roundtrip target
* miniscript: tiny doc fixups
* miniscript: split ValidSatisfactions from IsSane
* miniscript: introduce a CheckTimeLocksMix helper
* miniscript: use optional instead of bool/outarg
* miniscript: make equality operator non-recursive
* scripted-diff: miniscript: rename \'nodetype\' variables to \'fragment\'
* miniscript: remove a workaround for a GCC 4.8 bug
* test: Don\'t use shell=True in `lint-files.py`
* rpc: Move signmessage RPC util to new file
* Remove cs_main from verifymessage
* doc: add minimum required kernel version to dependencies.md
* guix: consolidate kernel headers to 5.15
* test: Add `strerror` to locale-dependence linter
* util: Increase buffer size to 1024 in SysErrorString
* util: Refactor SysErrorString logic
* util: Use strerror_s for SysErrorString on Windows
* util: Replace non-threadsafe strerror
* gui: Load Base64 PSBT string from file
* test, contrib, refactor: use `with` when opening a file
* build: Remove LIBTOOL_APP_LDFLAGS for bitcoin-chainstate
* docs: Add libbitcoinkernel_la_SOURCES explanation
* ci: Build libbitcoinkernel
* build: Extract the libbitcoinkernel library
* tests: Do not always create a descriptor wallet in wallet_createwallet
* refactor: Use Span of std::byte in CExtKey::SetSeed
* util: Add ParseHex() helper
* test: Add test for embedded null in hex string
* Crash debug builds on PCKG_MEMPOOL_ERROR
* validation: Prune UnloadBlockIndex and callees
* validation: No mempool clearing in UnloadBlockIndex
* Clear {versionbits,warning}cache in ~Chainstatemanager
* style-only: Use std::clamp for check_ratio, rename
* style-only: Use for instead of when loading Chainstate
* init: Reset mempool and chainman via reconstruction
* scripted-diff: Rename ValidAsCString to ContainsNoNUL
* Use std::string_view throughout util strencodings/string
* Make DecodeBase{32,64} take string_view arguments
* Generalize ConvertBits to permit transforming the input
* Make DecodeBase{32,64} return optional instead of taking bool
*
* Make DecodeBase{32,64} always return vector, not string
* Reject incorrect base64 in HTTP auth
* Make SanitizeString use string_view
* Make IsHexNumber use string_view
* Make IsHex use string_view
* Make ParseHex use string_view
* Call CHECK_NONFATAL only once where needed
* validation: default initialize and guard chainman members
* refactor: Convert warningcache to std::array
* b-cs: Define G_TRANSLATION_FUN in bitcoinkernel.cpp
* build: Separate lib_LTLIBRARIES initialization
* build: Create .la library for bitcoincrypto
* build: Create .la library for leveldb
* build: Create .la library for crc32c
* init: Allow -proxy=\"\" setting values
* tidy: enable modernize-use-nullptr
* Don\'t use zero as null pointer constant (-Wzero-as-null-pointer-constant)
* Converting `lint-all.sh` to `lint-all.py`.
* scripted-diff: Rename PeerManagerImpl members
* [net processing] Move nHighestFastAnnounce into PeerManagerImpl
* scripted-diff: rename BytePtr to AsBytePtr
* wallet: ignore chainStateFlushed notifications while attaching chain
* lint: Mention NONFATAL_UNREACHABLE in lint-assertions.py
* scripted-diff: replace deprecated Q_OS_MAC with Q_OS_MACOS
* move-only: Rename index + pruning functional test
* test: Update test for indices on pruned nodes
* Index: Allow coinstatsindex with pruning enabled
* Index: Use prune locks for blockfilterindex
* blockstorage: Add prune locks to BlockManager
* refactor: Introduce GetFirstStoredBlock helper function
* Precomputed hashes are note #16 in BIP341
* doc: Add 23.0 release notes
* rpc: Explain active and internal in listdescriptors
* [netgroup] Use nStartByte as offset for the last byte of the group
* Remove not needed clang-format off comments
* [tests] Move TxOrphange tests to orphange_tests.cpp
* init: disallow reindex-chainstate with optional indexes
* prevector: only allow trivially copyable types
* build: Fix `AC_CHECK_HEADERS` and `AC_CHECK_LIB` for `libnatpmp` package
* build: Fix `AC_CHECK_HEADERS` and `AC_CHECK_LIB` for `miniupnpc` package
* build, refactor: Fix indentation
* guix: Improve error message about missed macOS SDK
* qt, test: Add tests for `tableView` in `AddressBookPage` dialog
* qt: No need to force Qt::QueuedConnection for NotifyAddressBookChanged
* qt, refactor: Declare `WalletModel` member functions with `const`
* Delete UpdatePackagesForAdded at beginning of addPackageTxs.
* contrib: macdeploy: fix permissions typo in gen-sdk script
* refactor: make GetRand a template, remove GetRandInt
* test: MiniWallet: skip mempool check if `mempool_valid=False`
* test: MiniWallet: always rehash after signing (P2PK mode)
* Porting lint-assertions.sh to lint-assertions.py
* test: add getblockfrompeer coverage of invalid inputs
* add 3 new test cases for SelectCoins()
* p2p: replace RecursiveMutex `m_total_bytes_sent_mutex` with Mutex
* p2p: add assertions and negative TS annotations for `m_total_bytes_sent_mutex`
* tests: Use descriptor that requires both legacy and segwit
* lint: Convert lint-python-utf8-encoding.sh to Python
* lint: Make known violations more specific in lint-locale-dependence
* lint: Convert lint-locale-dependence.sh to Python
* Disallow more unsafe string->path conversions allowed by path append operators
* test: Add test for coinselection tracepoints
* doc: document coin selection tracepoints
* test: Remove previous release check
* Do not pass `WalletModel
*` to queued connection
* refactor: Make `RPCExecutor
*` a member of the `RPCConsole` class
* test: compare `/mempool/contents` response with `getrawmempool` RPC
* util, refactor: Drop explicit conversion to fs::path
* util, refactor: Use GetPathArg to read \"-rpccookiefile\" value
* util, refactor: Use GetPathArg to read \"-conf\" value
* build: No longer need to hack the `PATH` variable in `config.site`
* build: Let the depends build system define a path to `dsymutil` tool
* build: Pass missed darwin-specific tools via `config.site`
* build: No need to provide defaults for darwin-specific tools
* scripted-diff: Rename INSTALLNAMETOOL -> INSTALL_NAME_TOOL
* build: Pass missed `strip` tool via `config.site`
* doc: add reference to `getrawmempool` RPC in `/mempool/contents` REST doc
* lint: Convert lint-circular-dependencies.sh to Python
* bench: reduce the number of txs in wallet for wallet loading bench
* bench: Add transactions directly instead of mining blocks
* bench: reduce number of epochs for wallet loading benchmark
* bench: use unsafesqlitesync in wallet loading benchmark
* refactor: Guard `RPCConsole::{add,remove}Wallet()` with `ENABLE_WALLET`
* lint: convert shell locale linter test to Python
* Convert lint-include-guards.sh to python
* [netgroupman] Remove NetGroupManager::GetAsmap()
* [netgroupman] Move asmap checksum calculation to NetGroupManager
* [netgroupman] Move GetMappedAS() and GetGroup() logic to NetGroupManager
* [net] Only use public CNetAddr functions and data in GetMappedAS() and GetGroup()
* [netgroupman] Add GetMappedAS() and GetGroup()
* [net] Move asmap into NetGroupManager
* doc: add more info to dependencies.md
* tidy: Add include-what-you-use
* refactor: fix includes in src/init
* refactor: fix includes in src/compat
* [net processing] Move block cache state into PeerManagerImpl
* [net processing] Inline and simplify UpdatePreferredDownload
* [net processing] Move nPreferredDownload into PeerManagerImpl
* [net processing] Move mapNodeState into PeerManagerImpl
* [net processing] Move CNodeState declaration above PeerManagerImpl
* lint: convert submodule linter test to Python
* Clarify in release process how to update defaultAssumeValid/nMinimumChainWork
* scripted-diff: Rename pindexBestHeader, fHavePruned
* Clear fHavePruned in BlockManager::Unload()
* move-mostly: Make fHavePruned a BlockMan member
* Clear pindexBestHeader in ChainstateManager::Unload()
* style-only: Miscellaneous whitespace changes
* move-mostly: Make pindexBestHeader a ChainMan member
* Release process: use 4096 blocks and getbestblockhash for getchaintxstats
* Specify in release process which chains need to be updated
* Reorganize release process chainparams section to reduce repetition
* Clarify release process overhead note to be more actionable
* Release process: exclude huge files for mainnet m_assumed_blockchain_size
* Release process: specify blockchain/chain_state units, reduce repetition
* Add missing references to signet in the release process
* bench: Remove minEpochIterations from wallet loading benchmark
* doc: Fix a link to `test/lint/lint-python.py`
* test: Remove unused taproot node from wallet_taproot.py
* Make BlockManager::LoadBlockIndex private
* [init] Add netgroupman to node.context
* [build] Add netgroup.cpp|h
* lint: Convert lint-includes.sh to Python
* doc: cleanups to mempool rest endpoints
* docs: update `/rest/chaininfo` doc referring to RPC help
* bench: Add a benchmark for wallet loading
* scripted-diff: rename cs_totalBytesSent -> m_total_bytes_sent_mutex
* miniscript: the \'d:\' wrapper must not be \'u\'
* lint: Convert Python linter to Python
* test: use MiniWallet for p2p_segwit.py
* util: optimizes HexStr
* bench: Adds a benchmark for HexStr
* test: Adds a test for HexStr that checks all 256 bytes
* test: refactor: use `create_lots_of_big_transactions` to dedup where possible
* test: use MiniWallet for mining_prioritisetransaction.py
* Revert \"qt: Add ObjectInvoke template function\"
* qt: Replace `GUIUtil::ObjectInvoke()` with `QMetaObject::invokeMethod()`
* qt, doc: Remove unneeded comments
* qt: Revamp ClientModel code to handle {Block|Header}Tip core signals
* qt: Revamp ClientModel code to handle BannedListChanged core signal
* qt: Revamp ClientModel code to handle AlertChanged core signal
* lint: Convert lint-whitespace.sh to Python
* lint: Convert lint-git-commit-check.sh to Python
* util/check: Add CHECK_NONFATAL identity function, NONFATAL_UNREACHABLE AND UNREACHABLE macros
* refactor: rename command -> message type in comments in the src/net
* files
* Simplify GetTime
* test: Add a test that creates a wallet with invalid parameters
* test: fix connman UB by calling derived constructor
* Converted lint-tests.sh to python
* contrib: Remove suspicious hosts list from makeseeds
* net: use Sock::SetSockOpt() instead of standalone SetSocketNoDelay()
* net: use Sock::SetSockOpt() instead of setsockopt()
* net: add new method Sock::SetSockOpt() that wraps setsockopt()
* Change wallet validation order
* improve clarity and up max ipv6 ASNs
* test: Test for disabling wallet flags
* rpc, wallet: setwalletflags warnings are optional
* wallet: Add some tracepoints for coin selection
* Remove not needed ArithToUint256 roundtrips in tests
* Remove duplicate static_asserts
* wallet: compute waste for SelectionResults of preset inputs
* wallet: track which coin selection algorithm produced a SelectionResult
* ci: Make log verbose in error case only
* depends: Add file-based logging for individual packages
* test: add test for signet miner script
* lint: convert format strings linter test to python
* Revert \"build: Specify `zeromq` port explicitly for MSVC builds\"
* ci: Bump vcpkg to the latest version
* ci: Make Qt configure option change invalidate \"msvc_qt_built_cache\"
* qt: Do not use `QKeyEvent` copy constructor
* qt: Do not assume `qDBusRegisterMetaType` return type
* qt, refactor: Use member initializers in TransactionStatus
* qt, refactor: remove unused field `qint64 TransactionStatus::open_for`
* guix: fix GCC 10.3.0 + mingw-w64 setjmp/longjmp issues
* validation: Load pindexBestHeader in ChainMan
* init: Prevent -noproxy and -proxy=0 settings from interacting with other settings
* build: Remove vestigial LIBLEVELDB_SSE42
* build: Don\'t add unrelated libs to LIBTEST_
*
* fuzz: add `SplitString` fuzz target
* test: add unit tests for `SplitString` helper
* refactor: introduce single-separator split helper `SplitString`
* test: add `is_bitcoin_util_compiled` helper
* test: determine path to `bitcoin-util` in test framework
* builder-keys: Add will8clark
* Fix coins db upgrade check.
* build: don\'t compress macOS DMG
* qt: Revamp ClientModel code to handle NetworkActiveChanged core signal
* qt: Revamp ClientModel code to handle NumConnectionsChanged core signal
* qt: Revamp ClientModel code to handle ShowProgress core signal
* test: use MiniWallet for feature_fee_estimation.py
* qt: Remove `QApplication::globalStrut()` call
* qt: Update deprecated enum value
* qt: Use `|` instead of `+` for key modifiers
* qt: Fix headers
* Converted lint-python-mutable-default-parameters.sh to python
* print `(none)` if no warnings in -getinfo
* Update RPC argument and field naming guideline in developer notes
* RPC: Switch getblockfrompeer back to standard param name blockhash
* key: use secp256k1_schnorrsig_sign32 over deprecated secp256k1_schnorrsig_sign
* build: remove some no-longer-needed var unexporting from configure
* build: remove --enable-experimental from libsecp256k1 configure
* build: fix MSVC build after subtree update
* changes color of skipped functional tests
* Add test case mimicking issue 24765
* scripted-diff: Rename message command to message type
* refactor: fixup named args in txpackage tests
* lint: mypy 0.942
* lint: flake8 4.0.1
* lint: codespell 2.1.0
* Fix issues with Namecoin RPC docs.
* gui, refactor: rename fInvalid to num_test_failures in test_main.cpp
* gui: count test failures in test runner summary
* gui: add test runner summary
* test: compare `/chaininfo` response with `getblockchaininfo` RPC
* Squashed \'src/secp256k1/\' changes from 0559fc6e41..8746600eec
* lint: remove qt SIGNAL/SLOT lint
* doc: Add gpg key import instructions for Windows
* scripted-diff: Regenerate key_io data deterministically
* doc: Add note that -reindex will rebuild optional indexes
* contrib: make gen_key_io_test_vectors deterministic
* doc: Convert remaining comments to clang-tidy format
* lint: remove boost::bind linter
* refactor: Remove deduplication of data in rollingbloom bench
* ci: Build all optional tools in tidy task
* build: Do not define `PROVIDE_FUZZ_MAIN_FUNCTION` macro unconditionally
* lint: Convert Python dead code linter to Python
* [validation] don\'t package validate if not policy or missing inputs
* [unit test] package feerate and package cpfp
* [validation] try individual validation before package validation
* [packages/policy] use package feerate in package validation
* doc: Update lint test docs
* lint: convert spell check lint test to python
* test: throw `ValueError` for invalid base58 checksum
* contrib: testgen: use base58 methods from test framework
* scripted-diff: rename `chars` to `b58chars` in test_framework.address
* contrib: testgen: import OP_
* constants from test framework
* contrib: testgen: avoid need for manually setting PYTHONPATH
* Add release notes
* Update // endpoints to use a \'?count=\' query parameter instead
* build: Do not modify `common.init.vcxproj` directly
* build, refactor: Add set_properties() to msvc-autogen.py
* Replace uint256 specific implementations of base_uint::GetHex() and base_uint::SetHex() with proper ones that don\'t depend on uint256 and replace template methods instantiations of base_uint with template class instantiation
* build: perform /Applications symlink generation in macdeployqtplus
* build: perform all .tiff copying in macdeployqtplus
* refactor: Use [[maybe_unused]] attribute
* refactor: Drop unneeded workarounds aimed to silence unused warning
* Remove gui-only syscalls
* init: Disable syscall sandbox in the bitcoin-qt process
* Remove nHeightEnd and nHeight in generateBlocks helper
* Add DEBUG_LOCKCONTENTION documentation to the developer notes
* Put lock logging behind DEBUG_LOCKCONTENTION preprocessor directive
* consensus/params: set default values for BIP9Deployment
* lint: Convert lint-logs.sh to Python
* lint: Start to use py lint scripts
* Move lint script and data file to avoid lint- prefix
* test: use MiniWallet for mempool_unbroadcast.py
* ci: Add clang-tidy task
* supp: remove Boost Valgrind suppression
* ci: use DWARF-4 for Valgrind CI job
* build: specify cmake build dir for multiprocess depends build
* refactor: fix clang-tidy named args usage
* build: stop overriding user CXXFLAGS
* build: stop overriding user LDFLAGS
* build: stop overriding user CPPFLAGS
* refactor: remove macOS MAP_ANONYMOUS work around
* doc: explain why we clear CXXFLAGS with enable-debug
* refactor: Remove outdated libevent logging code
* build: don\'t use Boost multi_index serialization
* [docs] package feerate
* build, qt: use one patch per line in depends/packages/qt.mk
* build, qt: drop fix_no_printer.patch
* build, qt: bump Qt5 version to 5.15.3
* Add and improve informational links in doc/cjdns.md
* Add concrete steps in doc/cjdns.md to easily find a friend
* refactor: add missing std:: includes to threadnames.cpp
* doc: remove incorrect mention of PR_GET_NAME
* test: Fix intermittent test failure in wallet_listreceivedby.py
* guix: fix vmov alignment issues with gcc 10.3.0 & mingw-w64
* build: remove faketime unsetting and comments from configure.ac
* Remove buggy and confusing IncrementExtraNonce
* test: add regression test for bitcoin-core/gui/issues/567
* build: Fix \"ERR: Unsigned tarballs do not exist\"
* util/check: avoid unused parameter warnings
* build: patch around qt duplicate symbol issue
* test: fix incorrect named args in txpackage tests
* options: add a comment for -listenonion and dedup a long expression
* doc: Use DecodeTxDoc helper
* wallet: Postpone NotifyWalletLoaded() for encrypted wallets
* refactor: add stdd:: includes to core_write
* refactor: use named args when ScriptToUniv or TxToUniv are invoked
* refactor: prefer snake case, TxToUniv arg hashBlock renamed block_hash
* refactor: merge ScriptPubKeyToUniv & ScriptToUniv into one function
* fuzz: add target for coinselection
* rpc: Fix documentation assertion for `getrawtransaction`
* util/check: stop using lambda for Assert/Assume
* refactor: account for requiring libevent 2.1.8+
* build, refactor: Replace tabs with spaces
* build, test: Fix test logfile name
* ci: Use clang-12 and libcxx-12 for msan
* wallet: move Assert() check into constructor
* doc: Speed up functional test runs using ramdisk
* add tests for no recipient and using send_max while inputs are specified
* Add sendall RPC née sweep
* wallet, refactor: Add wallet::NotifyWalletLoaded() function
* [fuzz] Assert that Peer.m_tx_relay.m_relay_txs has been set correctly
* [net processing] PushNodeVersion() takes a const Peer&
* ci: Avoid boost test warnings
* ci: note why BDB is disabled for MSAN jobs
* ci: remove explicit --enable-wallet from msan job
* compat: remove strnlen back-compat code
* test: -peerblockfilters without -blockfilterindex raises an error
* Namecoin / Net: Add mainnet DNS seed from mjgill89
* doc: update OpenBSD build docs for 7.0
* ci: Use monterey-xcode-13.3
* builder-keys: Add dunxen
* test: remove lief install from multiprocess job
* contrib: use LIEF 0.12.0 for symbol and security checks
* doc: Fix getpeerinfo doc
* net_processing: move CNode data access out of lock
* util: Add inotify_rm_watch to syscall sandbox (AllowFileSystem)
* test: invalid -i2psam will raise an init error
* build: Bump libevent minimum version up to 2.1.8
* wallet: Prevent wallet unload on GetWalletForJSONRPCRequest
* test: fix incorrect named args in wallet tests
* test: fix incorrect named args in coin_selection tests
* bench: fix incorrect named args in coin_selection bench
* [wallet] don\'t create long chains by default
* doc: update release-process.md
* refactor: remove unused boost header include in bitcoin-util.cpp
* Extract FinishTransaction from send()
* Extract interpretation of fee estimation arguments
* Elaborate error messages for outdated options
* Extract prevention of outdated option names
* init: add missing cs_main lock
* [doc] release notes for random change target
* [wallet] remove MIN_CHANGE
* [wallet] randomly generate change targets
* refactor coin selection for parameterizable change target
* test: move-only: Move all generate
* tests to a single file
* ci: Compile fuzz binary in periodic task
* Clarify that COutput is a struct, not a class
* wallet: Fix coinselection include
* addrman: fix incorrect named args
* doc: Document clang-tidy in dev notes
* doc, init: add links to doc/cjdns.md
* tests: Calculate input weight more accurately
* test: Add diamond-shape prioritisetransaction test
* test: Rework create_self_transfer_multi
* rpc: Fail to return undocumented or misdocumented JSON
* rpc: Add m_skip_type_check to RPCResult
* init: disallow reindex-chainstate when pruning
* util: add linkat to syscall sandbox (AllowFileSystem)
* doc: mention that BDB is for the legacy wallet in build-netbsd.md
* build: Add --enable-c++20 option
* Add CSerializedNetMsg::Copy() helper
* Make fs.h C++20 compliant
* scheduler: Capture ‘this’ explicitly in lambda
* [move only] remove `is_wallet_compiled` checks
* test: use MiniWallet in `interfaces_zmq`
* Move mempool RPCs to rpc/mempool
* style: Add static keyword where possible in rpc/mempool
* refactor: use Span in random.
*
* coinselection: Remove COutput operators == and !=
* coinselection: Remove CInputCoin
* coinselection: Use COutput instead of CInputCoin
* coinselection: Add effective value and fees to COutput
* moveonly: move COutput to coinselection.h
* wallet: Remove CWallet and CWalletTx from COutput\'s constructor
* wallet: Replace CWalletTx in COutput with COutPoint and CTxOut
* wallet: Provide input bytes to COutput
* doc: mention that BDB is for the legacy wallet in build-freebsd.md
* build: require libtool 2.4.2
* options: flip listenonion to false if not listening
* rpc: Exclude descriptor when address is excluded
* doc: remove unneeded documentation on basic package management on FreeBSD
* test: check localaddresses in getnetworkinfo for nodes with proxy
* test: use MiniWallet for mempool_package_onemore.py
* test: MiniWallet: add helper methods `{send,create}_self_transfer_multi`
* Bugfix: configure: Only avoid -isystem for exact /usr/include path
* Bugfix: RPC/blockchain: Correct description of getblockchaininfo\'s pruneheight result
* guix: Drop code for the unsupported `i686-linux-gnu` host
* doc: update i2p.md with cjdns, improve local addresses section
* doc: update tor.md with cjdns and getnodeaddresses, fix tor grep,
* doc: create initial doc/cjdns.md for cjdns how-to documentation
* qt: Avoid potential -Wdeprecated-enum-enum-conversion warning
* test: use MiniWallet for rpc_createmultisig.py
* qt: Use human-readable strings in preference to hard-coded integers
* test: Run non-wallet tests only once
* Bugfix: configure: Quote SUPPRESS_WARNINGS sufficiently to preserve brackets
* build: Fix Boost.Process test for Boost 1.78
* test: Limit scope of id global which is shared between subtests
* Use CAmount for fee delta and modified fee
* Replace struct update_fee_delta with lambda
* Namecoin / Qt: Use const where appropriate
* Namecoin / Qt: Replace LogPrintf with LogPrint
* Namecoin / Qt: Add availability check to Buy Names tab
* test: Fix generate calls and comments in feature_segwit
* add ci/scratch dir to gitignore
* scripted-diff: rename TxRelay members
* [net processing] Move tx relay data to Peer
* Clarify in -maxtimeadjustment that only outbound peers influence time data
* [net processing] Move m_wtxid_relay to Peer
* [net] Add CNode.m_relays_txs and CNode.m_bloom_filter_loaded
* build: remove unused QMAKE_
* VARs
* doc: clarify that BDB is only required for the legacy wallet
* Use MiniWallet in feature_coinstatsindex
* test: Refactor MiniWallet get_utxo helper
* wallet: Store whether a COutput is from the wallet
* wallet: Store tx time in COutput
* wallet: Remove use_max_sig default value
* scripted-diff: Rename COutput member variables
* wallet: cleanup COutput constructor
* doc: Add template for empty release notes
* build: fix copypasta in OpenBSD C{XX} flags
* fuzz: add a fuzz target for Miniscript decoding from Script
* Miniscript: ops limit and stack size computation
* Miniscript: conversion from script
* Miniscript: type system, script creation, text notation, tests
* script: expose getter for CScriptNum, add a BuildScript helper
* script: move CheckMinimalPush from interpreter to script.h
* script: make IsPushdataOp non-static
* macdeploy: remove unused detached-sig-apply
* Revert \"build: Fix gcc-cross-x86_64-w64-mingw32-10.3.0 in Guix\"
* guix: point to latest upstream commit
* doc, guix: Include arm64-apple-darwin into codesigned archs
* Move txoutproof RPCs to txoutproof.cpp
* fuzz: execute each file in dir without fuzz engine
* doc: Delete old line of code that was commented out
* test: Fix intermittent failure in feature_segwit
* doc: Drop a note about Intel-based Macs
* doc: s/Compiler/Dependency in dependencies.md
* doc: cleanup wallet docs in build-osx.md
* Update signapple for platform identifier fix
* guix: Use \"win64\" for Windows artifacts consistently
* doc: rework dependencies.md
* gui: restore Send for external signer
* refactor: helper function signWithExternalSigner()
* gui: peersWidget - ResizeToContents Age and IP/Netmask columns
* gui: add Age column to peers tab
* gui: add FormatPeerAge() utility helper
* doc: Fix getblockchaininfo/getdeploymentinfo RPC docs
* Replace use of `ArgsManager` with `DatabaseOptions`
* guix: Drop \"-signed\" suffix for signed macOS .dmg files
* Add and use BlockManager::GetAllBlockIndices
* Add and use CBlockIndexHeightOnlyComparator
* move-only: Move CBlockIndexWorkComparator to blockstorage
* Only load BlockMan in BlockMan member functions
* style-only: No need for std::pair for vSortedByHeight
* Add RegisterMempoolRPCCommands helper
* test: Actually print TSan tracebacks
* ci: Temporarily use clang-13 to work around clang-14 TSan bug
* guix: make it possible to override gpg binary
* torcontrol: Query Tor for correct -onion configuration
* [unit test] prioritisation in mining
* [miner] bug fix: update for parent inclusion using modified fee
* MOVEONLY: group miner tests into MinerTestingSetup functions
* Clarify that CheckSequenceLocksAtTip is a validation function
* Remove unused feebumper code
* wallet: Pass FastRandomContext& to coin selection
* doc: Revise comments and whitespace to clarify
* refactor: Rename i to curr_try in SelectCoinsBnB
* refactor: Track BnB selection by index
* wallet: Pass FastRandomContext& to DiscourageFeeSniping
* contrib: fix signet miner (sighash mismatch)
* Add tests for addr destination rotation
* Use std::chrono for salting when randomizing ADDR destination
* guix: Use $HOST instead of generic osx{64} for macOS artifacts
* Namecoin: Rebrand issue templates
* contrib: macdeploy: monkey-patch gen-sdk to be deterministic
* contrib: macdeploy: make gen-sdk deterministic
* ci: Integrate ccache into MSVC build
* refactor: Avoid int64_t -> size_t -> int64_t conversion
* rpc: Move mempool RPCs to new file
* test: use MiniWallet for feature_maxuploadtarget.py
* [wallet] assert BnB internally calculated waste is the same as GetSelectionWaste()
* rpc: rename getdeploymentinfo status-next to status_next
* test: set segwit height back to 0 on regtest
* build: don\'t install deprecated libevent headers
* doc: remove Boost LDFLAGS from netBSD build docs
* ci: remove compiled-but-unused BDB from MSAN job
* wallet: Add a deprecation warning for newly created legacy wallets
* build: Fix Boost.Process detection on macOS arm64
* Remove utxo db upgrade code
* qt: Remove network detection based on address in BIP21
* doc: update multisig-tutorial.md to default wallet type
* guix: only check for the macOS SDK once
* Add GetQueryParameter helper function
* Handle query string when parsing data format
* scripted-diff: rename RetFormat to RESTResponseFormat
* Refactoring: move declarations to rest.h
* build: Drop `double-conversion` from MSVC dependencies
* ci: Invalidate vcpkg binary cache if dependencies changed
* build: Specify `zeromq` port explicitly for MSVC builds
* style-only: Various blockstorage.cpp cleanups
* refactor: more const annotations for uses of CBlockIndex
*
* build, mac: Include arch in codesignature tarball
* guix: use latest signapple
* test: check for importprunedfunds RPC errors
* doc: Add `guix` prefix for changes to reproducible builds
* guix: Drop unneeded openssl dependency for signapple
* bitcoin-chainstate: Lock cs_main to UnloadBlockIndex
* guix: use latest upstream signapple
* guix: use latest upstream python-certvalidator
* Add 2 seed nodes (NMC MainNet)
* qt: Avoid crash on startup if int specified in settings.json
* test: Add tests for GetArg methods / settings.json type coercion
* test: refactor: use `random.sample` for choosing random keys in wallet_taproot.py
* guix: only use native GCC 7 toolchain for Linux builds
* Make bitcoin-chainstate build.
* contrib: fix implicit function decleration in win symbol check
* tests: Ensure sorted/multi_a descriptors always generate different addrs
* build: Move guix time machine to prelude
* ci: Bump vcpkg to the latest version
* wallet: refactor: dedup sqlite blob binding
* gui: improve \"Addresses Rate-Limited\" translator comments and tooltip in peers tab
* gui: improve \"Addresses Processed\" translator comments and tooltip in peers tab
* gui: improve \"Address Relay\" translator comments and tooltip in peers tab
* guix: use same commit for codesigning time-machine
* Revert \"Avoid the use of P0083R3 std::set::merge\"
* ci/doc: Set minimum required clang/libc++ version to 8.0
* test: Correctly decode UTF-8 literal string paths
* doc: Clean out release notes
* build: Bump version to 23.99
* For descriptor pubkey parse errors, include context information
* init, doc: improve -onlynet help and tor/i2p documentation
* test: passing -onlynet=onion with -onion=0/-noonion raises expected init error
* test: passing -onlynet=onion without -proxy/-onion raises expected init error
* test: passing invalid -onion raises expected init error
* test: passing invalid -proxy raises expected init error
* Squashed \'src/leveldb/\' changes from f8ae182c1e..330dd6235f
* build: update ax_cxx_compile_stdcxx to serial 14
* Use GetPathArg where possible
* util, refactor: Use GetPathArg to read \"-settings\" value
* util: Add GetPathArg default path argument
* test: hoist proxy out of 2 network loops in feature_proxy.py
* test: add CJDNS to LimitedAndReachable_Network unit tests
* net, init: assert each network reachability is true by default
* doc: Use human-friendly DefaultHint for change_address/changeAddress in wallet RPC help
* Bugfix: doc: Correct type of change_address/changeAddress in wallet RPC help (STR, not STR_HEX)
* Add coinstatsindex_unclean_shutdown test
* fuzz: Limit script_format to 100kB
* addrman: Log too low compat value
* qt, refactor: remove unused parameters in `TransactionDesc::FormatTxStatus()`
* scripted-diff: rename nDepth -> depth
* qt, refactor: remove redundant scope in `TransactionDesc::FormatTxStatus()`
* move-only: helper function to present PSBT
* [miner] always assume we can create witness blocks
* refactor: Release cs_main before MaybeSendFeefilter
* Remove confusing P1008R1 violation in ATMPArgs
* Revert \"qt: Do not use QObject::tr plural syntax for numbers with a unit symbol\"
* qt/wallettests: sort includes
* qt: Skip displayUnitChanged signal if unit is not actually changed
* qt, refactor: Remove default cases for scoped enum
* qt, refactor: Remove BitcoinUnits::valid function
* qt, refactor: Make BitcoinUnits::Unit a scoped enum
* qt: Use QVariant instead of int for BitcoinUnit in QSettings
* refactor: Rewrite AddToBlockIndex with try_emplace
* style: Modernize range-based loops over m_block_index
* style-only: Use using instead of typedef for BlockMap
* refactor: Rewrite InsertBlockIndex with try_emplace
* tests: Remove now-unnecessary manual Unload\'s
* blockstorage: Make m_block_index own CBlockIndex\'s
* Add test for getheaders behavior
* Respond to getheaders if we have sufficient chainwork
* doc: Avoid ADL for function calls
* index: Commit DB_MUHASH and DB_BEST_BLOCK to disk together
* build: Fix configuring depends with cmake
* test: validation:block_connected tracepoint test
* test: utxocache:
* tracepoint tests
* test: net:in/out_message tracepoint tests
* test: checks for tracepoint tests
* util: Fix ReadBinaryFile reading beyond maxsize
* contrib: refactor: replace `hex_switchEndian` in linearize scripts
* contrib: refactor: simplify block header string routine in linearize-data.py
* tests: add tests for cross-chain wallet use prevention
* wallet: ensure wallet files are not reused across chains
* util, refactor: Add UNIQUE_NAME helper macro
* wallet: avoid rescans if under the snapshot
* Add doc/design/libraries.md
* gui, refactor: use std::chrono for formatDurationStr() helper
* ci: Build bitcoin-chainstate
* build: Add example bitcoin-chainstate executable
* doc: include wtxid in TransactionDescriptionString
* doc: add wtxid info in release-notes
* validation, refactoring: remove ChainstateManager::Reset()
* validation: replace lock with annotation in UnloadBlockIndex()
* build, refactor: Drop useless `call` Make function
* build: Bump minimum Qt version to 5.11.3
* ci: Switch from bionic to buster
* wallet: Add sanity checks to AntiFeeSnipe
* test: add wtxid in expected_fields for wallet_basic
* wallet: add wtxid in WalletTxToJSON
* wallet: add GetWitnessHash()
* validation: improve connect bench logging
* Clear vTxHashes when mapTx is cleared
* Enforce Taproot script flags whenever WITNESS is set
* scripted-diff: Clarify CheckFinalTxAtTip name
* policy: Remove unused locktime flags
* doc: Add pre-splitoff translation update to release-process.md
* p2p: Serialize cmpctblock at most once in NewPoWValidBlock
* Add (sorted)multi_a descriptors to doc/descriptors.md
* Simplify wallet_taproot.py functional test
* Add tests for (sorted)multi_a derivation/signing
* Add signing support for (sorted)multi_a scripts
* Add multi_a descriptor inference
* Add (sorted)multi_a descriptor and script derivation
* Merge/generalize IsValidMultisigKeyCount/GetMultisigKeyCount
* bench: Sort bench_bench_bitcoin_SOURCES
* bench: Add logging benchmark
* rpc: avoid expensive `IsMine` calls in `GetReceived` tally
* rpc: avoid scriptPubKey<->CTxDestination conversions in `GetReceived` tally
* Remove nullptr check in GetBlockScriptFlags
* refactor: Pass const reference instead of pointer to GetBlockScriptFlags
* doc: Remove fee delta TODO from txmempool.cpp
* Unit tests for IsWitnessProgram and IsP2WSH.
* test: Add test for erase orphan tx conflicted by block
* test: Add test for erase orphan tx included by block
* test: Add test for erase orphan tx from peer
* net: remove non-blocking bool from interface
* test: Change default test logging directory
* Wed Apr 27 2022 marecAATTdetebe.org- Update to version 23.0.0:
* doc: Update manual pages for 23.0
* build: Bump to final
* doc: Update manual pages for 23.0rc5
* qt: 23.0rc5 translations update
* build: Bump rc to 23.0rc5
* guix: fix GCC 10.3.0 + mingw-w64 setjmp/longjmp issues
* doc: Update manual pages for 23.0rc4
* qt: 23.0rc4 translations update
* build: Bump rc to 23.0rc4
* RPC: Switch getblockfrompeer back to standard param name blockhash
* Add DEBUG_LOCKCONTENTION documentation to the developer notes
* Put lock logging behind DEBUG_LOCKCONTENTION preprocessor directive
* build: Fix \"ERR: Unsigned tarballs do not exist\"
* guix: fix vmov alignment issues with gcc 10.3.0 & mingw-w64
* wallet: Postpone NotifyWalletLoaded() for encrypted wallets
* wallet, refactor: Add wallet::NotifyWalletLoaded() function
* doc: Update manual pages for 23.0rc3
* qt: 23.0rc3 translations update
* build: Bump rc to 23.0rc3
* util: Add inotify_rm_watch to syscall sandbox (AllowFileSystem)
* build: Fix Boost.Process test for Boost 1.78
* build: Fix Boost.Process detection on macOS arm64
* util: add linkat to syscall sandbox (AllowFileSystem)
* contrib: fix signet miner (sighash mismatch)
* rpc: Exclude descriptor when address is excluded
* ci: Temporarily use clang-13 to work around clang-14 TSan bug
* doc, init: add links to doc/cjdns.md
* doc: update i2p.md with cjdns, improve local addresses section
* doc: update tor.md with cjdns and getnodeaddresses, fix tor grep,
* doc: create initial doc/cjdns.md for cjdns how-to documentation
* Clarify in -maxtimeadjustment that only outbound peers influence time data
* options: flip listenonion to false if not listening
* doc, guix: Include arm64-apple-darwin into codesigned archs
* gui: restore Send for external signer
* refactor: helper function signWithExternalSigner()
* move-only: helper function to present PSBT
* doc: Drop a note about Intel-based Macs
* guix: Use \"win64\" for Windows artifacts consistently
* guix: Drop \"-signed\" suffix for signed macOS .dmg files
* guix: Use $HOST instead of generic osx{64} for macOS artifacts
* Update signapple for platform identifier fix
* test: set segwit height back to 0 on regtest
* rpc: rename getdeploymentinfo status-next to status_next
* init, doc: improve -onlynet help and tor/i2p documentation
* doc: Update manual pages for rc2
* build: Bump to 23.0rc2
* build, mac: Include arch in codesignature tarball
* guix: use latest signapple
* qt: Avoid crash on startup if int specified in settings.json
* test: Add tests for GetArg methods / settings.json type coercion
* guix: use same commit for codesigning time-machine
* qt: Pull translations for 0.23rc1
* doc: Generate manual pages for 23.0rc1
* build: Bump version to 23.0rc1
* net: only assume all local addresses if listening on any
* net: fix GetListenPort() to derive the proper port
* net: pass Span by value to CaptureMessage()
* net: make CaptureMessage() mockable
* timedata: rename variables to match the coding style
* timedata: make it possible to reset the state
* qt: Pre-branch translation updates for 23.x
* fuzz: FuzzedFileProvider::write should not return negative value
* doc: update maintainer list in REVIEWERS
* Avoid implicit-integer-sign-change in bech32.cpp
* test: Remove no longer needed suppressions
* p2p: Avoid InitError when downgrading peers.dat
* Update nMinimumChainWork, defaultAssumeValid for 23.x
* Update chainTxData for 23.x
* Update m_assumed_
* chain parameters for 23.x
* doc: Explain that feedback needs to be addressed
* qt: English (source) translations update
* Add missed word to error message
* doc: Move peer-review paragraph to right section
* doc: Add link to release-process.md in CONTRIBUTING.md
* test: Fix intermittent Tsan issue
* tests: Tests for inactive HD chains
* tests: Test upgrading wallet with privkeys disabled
* doc: Mention missing BIP157 in bips.md
* doc: Update bips.md for 23.x
* build: upgrade depends Boost to 1.77.0
* lint: remove no-longer used exceptions from lint-format-strings.py
* build: pass win32-dll to LT_INIT()
* contrib: address gen-manpages feedback from #24263
* Output license info when binaries are passed -version
* refactor: shift CopyrightHolders() and LicenseInfo() to clientversion.cpp
* net: Update hardcoded seeds for 23.x
* contrib: make-seeds updates for 23.x
* ci: Force `--enable-external-signer` to prevent future regressions
* qt: Update translation source file
* build: Fix Boost.Process check for Boost 1.73 and older
* Replace \"can not\" with \"cannot\" in docs, user messages, and tests
* test: Fix Wambiguous-reversed-operator compiler warnings
* util: Add SaturatingAdd helper
* cli: describe quality/recency filtering in -addrinfo
* rpc: describe quality/recency filtering in getnodeaddresses
* Use `GetAllOutputTypes` in `getblock` RPC function
* doc: Rework generate
* doc
* Fixup style of VerifyDB
* Avoid implicit-integer-sign-change in VerifyLoadedChainstate
* wallet: Add external-signer-support specific error message
* build: Fix a non-portable use of `test`
* build, refactor: Replace tabs with spaces
* test: Remove suppression no longer needed with headers-only Boost.Test
* ci: use Ubuntu Jammy for Windows CI
* tracing: misc follow-ups to 22902
* build: remove boost dep from libmultiprocess
* test: Run symlink regression tests on Windows
* ci: add missing sqlite_cflags to MSAN fuzz job
* ci: remove boost_cxxflags from MSAN CIs
* Do not use `LocalTestingSetup` in getarg_tests test file.
* Rename wallet-tool to bitcoin-wallet in code comment
* Mention -signet in bitcoin-wallet help output
* bench: Avoid deprecated use of volatile +=
* util: Add missing rseq to syscall sandbox
* build, qt: (Re-)sign package
* build, qt: Align frameworks with macOS codesign tool requirements
* User-facing content fixups from transifex translator feedback
* test: Add functional test for symlinked blocks directory
* test: Add fs_tests/create_directories unit test
* util: Work around libstdc++ create_directories issue
* wallet: Don\'t generate keys when privkeys disabled when upgrading
* index: check muhash is in sync on coinstatsindex launch
* index: remove txindex references from base index
* doc: Fix typos
* Improve -netinfo help based on feedback from users and devs
* Add tr() descriptor unit tests
* Bugfix: make ToPrivateString work with x-only keys
* build: Point Guix to recent commit on the master branch
* build: Fix gcc-cross-x86_64-w64-mingw32-10.3.0 in Guix
* Primitives: Correct CTransaction deserialization docstring
* fuzz: Split script formatting from script fuzz target
* rpc: Fix implicit-integer-sign-change in verifychain
* Namecoin: Rebrand git-utils
* Bugfix: set x-only flag when inferring pk() inside tr()
* Release process: fix broken link to Guix building docs
* test: remove `import socket` in test_ipv6_local
* Remove outdated comment on CFeeRate
* build: Add Boost.Process usage check
* build: correct depends FreeBSD C{XX}FLAGS
* build: add NetBSD support to depends
* util: Add missing unlinkat to syscall sandbox
* test: Add fs_tests/rename unit test
* util: Revert back MoveFileExW call for MinGW-w64
* build: remove -f from clang cp invocation
* build: remove unused include dir from clang package
* Move `GetAllOutputTypes` function from `rpc/rawtransaction.cpp` to `rpc/util.{h|cpp}`
* test: refactor: remove unneeded bytes<->hex conversions in `byte_to_base58`
* [doc] package deduplication
* [doc] clarify inaccurate comment about replacements paying higher feerate
* [validation] look up transaction by txid
* Print enable_fuzz_binary in configure
* build: remove native B2 package
* build: header-only Boost
* build: use header-only Boost unit test
* improved getcoins.py
* release-process: Specify remote name in \"git fetch\"
* scripted-diff: Rename ShowModalDialogAndDeleteOnClose
* qt: Revert 7fa91e831227e556bd8a7ae3da64bd59d4f30d5f partially
* qt: Delay shutdown while a modal dialog is active
* qt: Disable tray icon menu when a modal dialog is active
* qt, refactor: Use local QAction instances for the tray icon menu
* qt: Override BitcoinApplication::event() to handle QEvent::Quit
* refactor: Avoid unsigned integer overflow in core_write
* net: remove unused CNetAddr::GetHash()
* net: include the port when deciding a relay destination
* net: add CServiceHash constructor so the caller can provide the salts
* net: open p2p connections to nodes that listen on non-default ports
* ci: Follow Cirrus CI docs
* doc: cleanup doc on need of Developer Account to obtain macOS SDK
* build: add support for OpenBSD to depends
* build: add a default build tar in depends
* Test that OP_1-OP_16 (but not lower/higher) start witness programs
* util: use stronger-guarantee rename method
* RPC: Return external_signer in getwalletinfo
* test: Remove unused integer sanitizer suppressions
* Add missing thread safety lock assertions in validation.h
* Add missing thread safety lock assertions in validation.cpp
* util: Drop no longer needed StripRedundantLastElementsOfPath() function
* Use ArgsManager::GetPathArg() for \"-walletdir\" option
* Use ArgsManager::GetPathArg() for \"-blocksdir\" option
* Use ArgsManager::GetPathArg() for \"-datadir\" option
* util: Add ArgsManager::GetPathArg() function
* scripted-diff: Rename nReadPos to m_read_pos in streams.h
* Make CDataStream work properly on 64-bit systems
* streams: Fix read-past-the-end and integer overflows
* fuzz: Avoid unsigned integer overflow in FormatParagraph
* Fix unintended unsigned integer overflow in strencodings
* Update doc to match new default wallet type
* ci: Bump fuzz tasks to jammy
* Revert \"ci: Run fuzzer task for the master branch only\"
* qt, refactor: Drop BitcoinGUI::{send,receive}CoinsMenuAction members
* qt: Make show_hide_action dependent on the main window actual state
* qt: Drop BitcoinGUI::toggleHideAction member
* qt, refactor: Fill up trayIconMenu before connections
* qt, refactor: Replace BitcoinGUI::trayIconActivated with a lambda
* qt, refactor: Replace BitcoinGUI::macosDockIconActivated with a lambda
* build, refactor: Drop redundant `$(package)_download_file` assignments
* test: Call ceildiv helper with integer
* Fix integer sanitizer suppressions in validation.cpp
* docs: Move explanation of hardened key syntax closer to KEY section
* build: Fix `make deploy` for Windows when building out of source tree
* build, refactor: Reuse expat package version in its download path
* build, refactor: Use conventional version notation for boost package
* util: Avoid buggy std::filesystem:::create_directories() call
* Add bitcoin_config.h to build_msvc/.gitignore
* doc: Swap gen-manpages and update RC steps in release process
* doc: Fix gen-manpages, rewrite in Python
* test: Remove unused valgrind suppressions
* test: Exclude broken feature_init for now
* test: Properly skip feature_syscall_sandbox in valgrind
* Squashed \'src/minisketch/\' changes from 89629eb2c7..7eeb778fef
* bench: Represents paths with fs::path instead of std::string
* Re-enable walletinit_verify_walletdir_no_trailing2 test disabled in #20744
* Re-enable util_datadir check disabled in #20744
* rpc/blockchain: rename getdeploymentinfo tip/active_chain_tip to blockindex
* Remove broken and unused CDataStream methods
* test: Create fresh CDataStream each time
* test: Inline expected_xor
* qt: Update source translations
* init: Remove confusing \'(possible integer overflow?)\' from error message
* qt: Update transifex resource blob to 23.0
* build: remove Boost::system usage
* build: remove boost::filesystem usage
* refactor: replace boost::filesystem with std::filesystem
* build: add support for std::filesystem
* depends: fix capnp\'s descriptor for make download
* doc: Install only \"-posix\" MinGW compiler when possible
* ci: Drop no longer needed `update-alternatives`
* build, qt: Specify QMAKE_CXX explicitly
* build: remove unneeded getentropy detection (HAVE_GETENTROPY)
* random: use arc4random on OpenBSD
* test: Avoid testing negative block heights
* validation: use stronger EXCLUSIVE_LOCKS_REQUIRED()
* Fix unsigned integer overflow in LoadMempool
* refactor: Fixup uint64_t-cast style in touched line
* ci: Use dash when building depends in centos build
* scripted-diff: Rename DOCKER_EXEC to CI_EXEC
* ci: Bump CentOS 8 image
* build: Replace `which` command with `command -v`
* test: speedup interface_rest.py by whitelisting peers (immediate tx relay)
* test: use MiniWallet for rest_interface.py
* test: activate all index types in feature_init.py
* index: Don\'t commit without valid m_best_block_index
* Fix implicit-integer-sign-change in bloom
* zmq: Fix implicit-integer-sign-change
* Fix unsigned integer overflow in tapscript validation weight calculation
* test: Fix feature_init intermittent issues
* test: Remove random line number feature from feature_init.py
* refactor: Make MessageBoxFlags enum underlying type unsigned
* lint: add creat and ba into ignore-words for lint-spelling
* doc: Fix typos pointed out by lint-spelling
* Replace lock with thread safety annotation in CBlockTreeDB::LoadBlockIndexGuts()
* Fix race condition for SetBannedSetDirty() calls
* Avoid calling BanMan::SweepBanned() twice in a row
* Fix data race condition in BanMan::DumpBanlist()
* Prevent possible concurrent CBanDB::Write() calls
* test: Repair failfast option for test runner
* test: Fix sanitizer suppresions in streams_tests
* Add optimized sha256d64_arm_shani::Transform_2way
* Implement sha256_arm_shani::Transform
* Add sha256_arm_shani to build system
* Rename SHANI to X86_SHANI to allow future implementation of ARM_SHANI
* rpc/blockchain: a constant craving
* trivial: comment tweaks
* rpc documentation improvements
* doc: getdeploymentinfo release notes tweaks
* doc: fix wording of alertnotify
* style: wrap long lines in CNode creation and add some comments
* scripted-diff: rename CNode::cs_hSocket to CNode::m_sock_mutex
* net: use Sock in CNode
* fuzz: Speed up script fuzz target
* Extract CTxIn::MAX_SEQUENCE_NONFINAL constant
* fs: consistently use fsbridge for fopen()
* fs: add missing include
* fs: consistently use fsbridge for {i,o}fstream
* p2p, contrib: update i2p hardcoded seeds
* p2p, contrib: add cjdns hardcoded seeds
* test: add combined CJDNS/I2P/localhost/onion eviction protection tests
* test: add tests for inbound eviction protection of CJDNS peers
* test: fix off-by-one logic in an eviction protection test
* doc: add arm macOS depends platform triplet
* guix: add arm64-apple-darwin triplet
* guix: use autoconf 2.71
* contrib: support arm64 darwin in security checks
* build: use macOS 11 SDK (Xcode 12.2)
* p2p: extend inbound eviction protection by network to CJDNS peers
* transaction decoding infer output descriptors
* Guard CBlockIndex::nStatus/nFile/nDataPos/nUndoPos by cs_main
* Remove/inline ReadRawBlockFromDisk(block_data, pindex, message_start)
* Require IsBlockPruned() to hold mutex cs_main
* Require CBlockIndex::IsValid() to hold cs_main
* Require CBlockIndex::RaiseValidity() to hold cs_main
* Require CBlockIndex::IsAssumedValid() to hold cs_main
* Require CBlockIndex::GetUndoPos() to hold mutex cs_main
* Require WriteUndoDataForBlock() to hold mutex cs_main
* Require CBlockIndex::GetBlockPos() to hold mutex cs_main
* doc: Fix rpc docs
* test: add functional test for `-maxtipage` parameter
* test: remove unused sanitizer suppressions
* build: Disable valgrind when building zeromq package in depends
* build: Disable libbsd when building zeromq package in depends
* build: Update netbsd_kevent_void.patch
* Avoid integer sanitizer warnings in chain.o
* Remove unused checkFinalTx
* wallet: Avoid dropping confirmed coins
* tests: Test specifying input weights
* rpc, wallet: Allow users to specify input weights
* wallet: Allow user specified input size to override
* wallet: add input weights to CCoinControl
* refactor: replace RecursiveMutex m_chainstate_mutex with Mutex
* refactor: add negative TS annotations for `m_chainstate_mutex`
* Avoid unsigned integer overflow in bitcoin-tx
* gui: use available space to display \"Last Transaction\" in peer details
* gui: add \"Addresses Rate-Limited\" (m_addr_rate_limited) to peer details
* gui: add \"Addresses Processed\" (m_addr_processed) to peer details
* gui: add \"Address Relay\" (m_addr_relay_enabled) to peer details
* doc: Update the used Qt version
* build: Fix xargs warnings for Guix builds
* script: redirecting stderr to stdout before pipelining into grep
* refactor: replace RecursiveMutex `m_addr_local_mutex` with Mutex
* p2p: add assertions and negative TS annotations for m_addr_local_mutex
* test, bugfix: fix intermittent failure in getrawtransaction_tests
* refactor tests to fix ubsan suppressions
* build: force CRCCheck in Windows installer
* test: add more wallet conflicts assertions
* scripted-diff: rename cs_addrLocal -> m_addr_local_mutex
* guix: ignore additioanl failing certvalidator test
* build: point to latest commit on the master branch
* Optimize CHECKSIGADD Script Validation
* fs: Make compatible with boost 1.78
* scripted-diff: rename m_cs_chainstate -> m_chainstate_mutex
* Run coin.IsSpent only once in a row
* build: add FreeBSD support to depends
* refactor: replace RecursiveMutex g_maplocalhost_mutex with Mutex
* scripted-diff: rename cs_mapLocalHost -> g_maplocalhost_mutex
* qt,refactor: Use std::chrono in TrafficGraphWidget class
* util: Fix mis-swapped `prettyIndent` and `indentLevel` arguments
* Replace `struct update_lock_points` with lambda
* document and clean up MaybeUpdateMempoolForReorg
* build: specify hosts for qrencode package
* [unit test] package parents are a mix
* [validation] better handle errors in SubmitPackage
* AcceptPackage fixups
* [unit test] different witness in package submission
* [doc] more detailed explanation for deduplication
* [packages] return DIFFERENT_WITNESS for same-txid-different-witness tx
* Revert \"Add to spends only transcations from me\"
* refactor: replace RecursiveMutex `m_subver_mutex` with Mutex
* scripted-diff: rename `cs_SubVer` -> `m_subver_mutex`
* net, refactor: Drop tautological local variables
* scripted-diff: Rename CNetMessage::m_command with CNetMessage::m_type
* build: disable external signer on Windows
* wallet: Refactor TopUp to be able to top up inactive chains too
* Release notes for getdeploymentinfo rpc
* rpc: getdeploymentinfo: include signalling info
* rpc: getdeploymentinfo: include block hash/height
* rpc: getdeploymentinfo: change stats to always refer to current period
* rpc: getdeploymentinfo: allow specifying a blockhash other than tip
* rpc: move softfork info from getblockchaininfo to getdeploymentinfo
* refactor: replace RecursiveMutex `m_callbacks_mutex` with Mutex
* scripted-diff: rename `m_cs_callbacks_pending` -> `m_callbacks_mutex`
* doc: Rework 14707 release notes
* doc: move-only release note snippets
* interfaces: Remove unused is_final
* qt: Treat unconfirmed txs as unconfirmed
* test: rest /tx with an invalid/unknown txid
* test: use MiniWallet for mempool_accept.py
* Fix implicit-integer-sign-change in arith_uint256
* [net processing] Rename PoissonNextSendInbound to NextInvToInbounds
* [net processing] Move PoissonNextSendInbound to PeerManager
* scripted-diff: replace PoissonNextSend with GetExponentialRand
* [refactor] Use uint64_t and std namespace in PoissonNextSend
* [move] Move PoissonNextSend to src/random and update comment
* block_connected: re-use previous GetTimeMicros
* block_connected: don\'t serialize block hash twice
* build: Improve error message when pkg-config is not installed
* refactor, qt: Use std::chrono for input_filter_delay constant
* util: Restore GetIntArg saturating behavior
* build: Point Guix to the current top of the \"version-1.4.0\" branch
* [bugfix] prevent UnicodeDecodeError errors when opening log file in feature_init.py
* scripted-diff: Rename functions to drop mention of boost
* test: MiniWallet: support default `from_node` for creating txs
* test: create txs with current `nVersion` (2) by default
* test: refactor: add constant for sequence number `SEQUENCE_FINAL`
* log: Remove GetAdjustedTime from IBD header progress estimation
* fuzz: non-addrman fuzz tests: override-able check ratio
* fuzz: addrman fuzz tests: override-able check ratio
* test: non-addrman unit tests: override-able check ratio
* test: addrman unit tests: override-able check ratio
* bench: put addrman check ratio in a variable
* fuzz: parse the command line arguments in fuzz tests
* test: parse the command line arguments in unit tests
* Remove cs_main lock annotation from ChainstateManager.m_blockman
* Change type of `backup_file` parameter in RestoreWallet/restoreWallet
* refactor: Block unsafe std::string fs::path conversion copy_file calls
* fuzz: Limit fuzzed time to years 2000-2100
* refactor, qt: Add SHUTDOWN_POLLING_DELAY constant
* refactor, qt: Use std::chrono for non-zero arguments in QTimer methods
* refactor, qt: Use std::chrono in ConfirmMessage parameter
* refactor, qt: Use std::chrono for MODEL_UPDATE_DELAY constant
* Add FastRange32 function and use it throughout the codebase
* refactor: add thread safety lock assertion to WriteBlockIndexDB()
* Move CBlockFileInfo::ToString method where class is declared
* Add src/wallet/
* code to wallet:: namespace
* Add src/node/
* code to node:: namespace
* test: set ban after mocking time
* scripted-diff: rename MapIntoRange to FastRange64
* [moveonly] Move MapIntoRange() to separate util/fastrange.h
* ci: Clone entire bitcoin-core/qa-assets repo only when run fuzzing
* build: rename --enable-ebpf to --enable-usdt
* fuzz: move FuzzedSock earlier in src/test/fuzz/util.h
* reviewers: add tracing
* scripted-diff: Rename touched member variables
* Make blockstorage globals private members of BlockManager
* doc: Clarify nPruneAfterHeight for signet
* test: Load genesis block to allow flush
* Move blockstorage-related unload to BlockManager::Unload
* move-only: Create WriteBlockIndexDB helper
* Move functions to BlockManager
* doc: Fix typo in LoadBlockIndex
* doc: Fix typo in getmempoolinfo
* guix: use upstream python-requests (2.26.0)
* build: use python-asn1crypto from upstream
* guix: use uptream nsis-x86_64
* guix: use GCC 10 (over GCC 8) to build releases
* test: wait rather than assert presence of file in startupnotify test
* test: use MiniWallet for mining_basic.py
* doc: Mark proprietary array optional
* depends: Fix typo
* refactor: Remove pointless and confusing shift in RelayAddress
* scripts: add CONTROL_FLOW to ELF security checks
* build: build x86_64 Linux Boost with -fcf-protection=full
* script rename control flow check to MACHO specific
* test: Bundle all integer sanitizer suppressions of dependencies
* build: add systemtap\'s sys/sdt.h as depends
* Refactor: Uses c++ init convention for time variables
* Refactor: Changes remaining time variable type from int to chrono
* build: patch depends zeromq to fix building on NetBSD Current
* Update test/sanitizer_suppressions/lsan
* test: Cover eviction by timeout in addrman_evictionworks
* test: Add test for multiplicity in addrman new tables
* test: run feature_pruning.py without wallet compiled
* ci: Update Cirrus CI task name
* scripts: make security checks architecture independent
* doc: remove CC_FOR_BUILD from OpenBSD build doc
* build, qt: No need to set inapplicable QPA backend for Android
* zeromq 4.3.4
* build: use host_os instead of TARGET_OS in configure output
* doc: Update license year range to 2022
* Fixup style of moved code
* Move BlockManager to node/blockstorage
* Remove unused char serialize
* Use spans of std::byte in serialize
* span: Add BytePtr helper
* doc: Fix dumptxoutset RPC help doc
* rpc: Use EnsureAnyArgsman in rpc/blockchain
* rpc: Add EnsureArgsman helper
* build: use a static .tiff for macOS .dmg over generating
* doc: fix undo data filename (s/undo???.dat/rev???.dat/)
* Change \'Show\' icon
* rpc: Quote user supplied descriptor in error msg
* scripted-diff: Insert missed copyright headers
* scripted-diff: Bump copyright headers
* script: Fix copyright_header.py
* tracing: correctly scope utxocache:flush tracepoint
* ci: Enable the gui in the TSan build
* build: Drop redundant AC_SUBST macros
* build: Drop redundant check of PKG_CHECK_MODULES presence
* test: check that bitcoin-tx detects missing input amount for segwit transactions
* Require that input amount is provided for bitcoin-tx witness transactions
* test: enable txindex in feature_init
* test: feature_init: retain debug.log and improve detection
* test: feature_init: tweak all .ldb files of a certain type
* test: add TestNode.wait_for_debug_log
* test: introduce TestNode.debug_log_bytes
* Namecoin / Qt: Add name count label
* Namecoin: net: Hardcoded seeds update for 23.0
* Activate long-salt check with taproot.
* Script verify flag for long name salts.
* Namecoin: Use jonasbits\'s seeder in contrib/seeds docs
* test: Add test for updating addrman entries
* test: introduce utility function to retrieve an addrman
* test: Remove unused AddrManTest class
* test: Remove tests for internal helper functions
* test: use AddrMan instead of AddrManTest where possible
* test: Inline SimConnFail function
* test: delete unused GetBucketAndEntry function
* test: Update addrman_serialization unit test to use AddrMan\'s interface
* addrman: Introduce a test-only function to lookup addresses
* Include patches for Guix
* doc: Remove outdated scriptChange TODO comment
* doc: Remove fixed TODO from wallet/feebumper
* doc: testnet3 was not reset and is doing BIP30 checks again
* doc: Remove TODO from block fuzz test
* doc: Remove TODO comment in tx_verify
* test: check ban_duration and time_remaining after setting ban
* test: use MiniWallet for p2p_compactblocks.py
* wallettool: Check that the dumpfile checksum is the correct size
* test: use MiniWallet for rpc_scantxoutset.py
* test: introduce `address_to_scriptpubkey` helper
* test: introduce `getnewdestination` helper for generating various address types
* build, qt: Hardcode last modified timestamp in Qt RCC
* doc: Drop outdated note
* rpc: use peer_id, block_hash for FetchBlock
* rpc: more detailed errors for getblockfrompeer
* rpc: turn already downloaded into error in getblockfrompeer
* rpc: clarify getblockfrompeer behavior when called multiple times
* refactor: drop redundant hash argument from FetchBlock
* rpc: allow empty JSON object result
* test: Add missing suppressions for crypto_diff_fuzz_chacha20.cpp
* test: add functional test for -startupnotify
* build: Fix regression introduced in PR23603
* test: Fix pep8 of touched file
* test: Fix rpc_scantxoutset intermittent issue
* Fix Racy ParseOpCode function initialization
* init: Use clang-tidy named args syntax
* style-only: Rename
*Chainstate return values
* docs: Make LoadChainstate comment more accurate
* node/chainstate: Use MAX_FUTURE_BLOCK_TIME
* util: move MapIntoRange() for reuse in fuzz tests
* ci: use GCC 8 when building packages in native_qt5 CI
* [test] compare filter and header with the result of the getblockfilter RPC
* [rest] drop superfluous rpc serializations flags for block filters
* [rest] add a more verbose error message for invalid header counts
* [refactor] various style fix-ups
* test: check for invalid listtransactions RPC parameters
* scripted-diff: Rename interfaces::WalletClient to interfaces::WalletLoader
* doc: Fix -changetype help text
* gui: address type dropdown, add bech32m
* wallet: add taprootEnabled() to interface
* scripted-diff: Rename libbitcoin_server.a to libbitcoin_node.a
* Change time variable type to std::chrono::seconds in src/net_processing.cpp
* ci: Use Cirrus \"greedy\" flag to use idle CPU time when available
* ci: Use system sqlite in native macOS task
* ci: Bump the macOS image to the latest Monterey
* test: fix intermittent timeouts in p2p_timeouts.py
* scripts: match on exe type over str in symbol-check.py
* scripts: match on exe type over str in security-check.py
* Refactor the chacha20 differential fuzz test
* ci: Disable s390x gui tests for now
* refactor: Avoid integer overflow in ApplyStats when activating snapshot
* Move AdditionOverflow to util, Add CheckedAdd with unit tests
* Add dev doc to CCoinsStats::m_hash_type and make it const
* style: Remove unused whitespace
* wallet: Strictly match tx change type to improve privacy
* Let test_runner.py start multiple jobs per timeslot
* contrib: add achow101 to trusted keys
* [doc] CPFP carve out and single-conflict RBF exemption
* [doc] clarify RBF difference from BIP125
* [doc] current rbf policy
* refactor: Remove implicit-integer-sign-change suppressions in validation.cpp
* test: check that pruneblockchain RPC fails for future block or timestamp
* test: Combine addr generation helper functions
* test: Fix intermittent issue in p2p_addr_relay.py
* test: Fix intermittent test failure in feature_backwards_compatibility
* test: previous releases: add v22.0
* test: bump sandbox argument minimum version
* test: previous releases: add v0.21.0
* test: v0.20.1 backwards compatibility
* test: backwards compatibility: misc fixes
* test: Remove i686 from test/get_previous_releases.py
* refactor: remove the wallet folder if the restore fails
* refactor: Move restorewallet() RPC logic to the wallet section
* Move pindexBestInvalid to ChainstateManager
* Move m_failed_blocks to ChainstateManager
* Move AcceptBlockHeader to ChainstateManager
* Move FindForkInGlobalIndex from BlockManager to CChainState
* test: re-organized array according to order of logs and included 2 more interruption events
* Remove unnecessary cast in CKey::SignSchnorr
* Remove --disable-openssl-tests for libsecp256k1 configure
* Squashed \'src/secp256k1/\' changes from be8d9c262f..0559fc6e41
* test: include two more interruptions points
* refactor: addrman_select test
* refactor: addrman_evictionworks test
* refactor: addrman_noevict test
* refactor: addrman_selecttriedcollisions test
* test: Improve \"invalid_command\" subtest in system_tests for Windows
* test: Fix \"non-zero exit code\" subtest in system_tests for Windows
* test: Fix \"false\" subtest in system_tests for Windows
* test: Fix \"echo\" subtest in the system_tests for Windows
* doc: add explanations for assert in index and magic numbers in test
* refactor: Implement restorewallet() logic in the wallet section
* qt: prevent negative values of progressPerHour
* net: Drop only invalid entries when reading banlist.json
* tests: Add missing assert_equal import to p2p_add_connections.py
* p2p: Always serialize local timestamp for version msg
* refactor: remove dependence on AddrManTest
* refactor: check Good() in tried_collisions test
* refactor: make AddrMan::Good return bool
* style: Use 4 spaces for indendation, not 5
* Disallow copies of CChain
* refactor: remove unneeded calls to strprintf()
* test: add tests for LoadBlockIndex when using multiple chainstates
* validation: have LoadBlockIndex account for snapshot use
* validation: don\'t modify genesis during snapshot load
* build, android: Fix Android GUI not loading on Qt 5.15
* build, qt: use static QAndroidPlatformIntegrationPlugin
* rpc: Quote user supplied strings in error messages
* test: call VerifyLoadedChainstate during ChainTestingSetup
* wallet: Replace Assume with Assert where needed in coinselection
* build: use __SIZEOF_INT128__ for checking __int128 availability
* scripted-diff: Rename touched member variables
* Use mockable time for peer connection time
* refactor: Use type-safe std::chrono in net
* Reduce size of strencodings decode tables
* Fix implicit integer sign changes in strencodings
* Add multisig tutorial
* build: Use config_opts instead of passing a compiler flag directly
* build, qt: Drop unused CROSS_COMPILE variable for Android builds
* build, refactor: Re-use `qt_lib_suffix` variable
* rpcwallet: mention labels are deactivated for ranged descriptors
* rpc: Add warning to user about newkeypool command
* rpc: output all hash preimages in \'decodepsbt\'
* psbt: implement hash preimages fields
* validation, doc: remove TODO comment
* build, qt: Drop support for `i686-linux-android` host
* [fuzz] Add fuzzing harness to compare both implementations of ChaCha20
* [fuzz] Add D. J. Bernstein\'s implementation of ChaCha20
* test: fix test failures in test/functional/p2p_timeouts.py
* validation, log: improve logging in FlushSnapshotToDisk()
* validation, log: extract FlushSnapshotToDisk() function
* doc: Remove TODO \'exclude peers with download permission\'
* test: Use byte unit \'M\' for -maxuploadtarget functional test
* Merge global xpubs in joinpsbts and combinepsbts
* Add global xpub test vectors from BIP
* Add global_xpubs to decodepsbt
* Implement serializations for PSBT_GLOBAL_XPUB
* Implement operator< for KeyOriginInfo and CExtPubKey
* Separate individual HD Keypath serialization into separate functions
* Store version bytes and be able to serialize them in CExtPubKey
* moveonly: Move (Un)Serialize(To/From)Vector, (De)SerializeHDKeypaths to psbt module
* Test for proprietary field
* Output proprietary type info in decodepsbt
* Implement PSBT proprietary type
* Output psbt version in decodepsbt
* Add GetVersion helper to PSBT
* Implement PSBT versions
* Types are compact size uints
* fuzz: Move ISO8601 to one place
* build: Include native_X.mk before X.mk
* Use the imperative mood in example subject line
* test: add feature_coinstatsindex.py --descriptors to test_runner.py
* test: fix test feature_coinstatsindex.py for descriptor wallets
* qa: replace assert with test framework assertion helpers in fee estimation test
* qa: fee estimation with RBF test cleanups
* qa: don\'t mine non standard txs in fee estimation test
* qa: pass scriptsig directly to txins constructor in fee estimation test
* qa: split coins in a single tx in fee estimation test
* qa: use a single p2sh script in fee estimation test
* test: Replace hashlib.new with named constructor
* qa: remove a redundant condition in fee estimation test
* qa: test descriptors with mixed xpubs and const pubkeys
* Check descriptors returned by external signers
* test: fancier Python for getblockfrompeer
* Mempool Update Cut-Through Optimization
* [TESTS] Increase limitancestorcount in tournament RPC test to showcase improved algorithm
* Swap out hashlib.ripemd160 for own implementation
* Add pure Python RIPEMD-160
* test: feature_rbf.py: check specified wallet type availability
* doc: Normalize RPC description whitespace
* test: interface_bitcoin_cli.py: check specified wallet type availability
* wallet: Properly set hd chain counters when loading
* wallet: Parse hdKeypath if key_origin is not available
* Add size check on meta.key_origin.path
* rpc: Document that DEFAULT is for Taproot, ALL for everything else
* psbt: Actually use SIGHASH_DEFAULT
* psbt: Make sighash_type std::optional
* fuzz: Fix RPC internal bug detection
* scripted-diff: Use named args in RPC docs
* doc: Add missing optional to getblockfrompeer
* Add createmultisig and addmultisigaddress warnings release note
* Add warnings field to addmultisigaddress to warn about uncompressed keys
* Add warnings field to createmultisig to warn about uncompressed keys
* MOVEONLY: Move abortrescan from backup.cpp to transactions.cpp
* Remove unused imports from rpc/wallet and reorder RPCs
* MOVEONLY: Move rpcwallet to rpc/wallet
* MOVEONLY: Move spending RPCs to spend.cpp
* MOVEONLY: Move balance and utxo RPCs to coins.cpp
* MOVEONLY: Move address related functions from rpcwallet to addresses.cpp
* MOVEONLY: Move transaction related wallet RPCs to transactions.cpp
* Remove CTxMemPool params from ATMP
* style-only: Remove redundant scope in
*Chainstate
* Collapse the 2 cs_main locks in LoadChainstate
* Remove all #include // for
* comments
* test/setup: Use LoadChainstate
* node/chainstate: Add options for in-memory DBs
* node/caches: Remove intermediate variables
* node/caches: Extract cache calculation logic
* validation: VerifyDB only needs Consensus::Params
* node/chainstate: Decouple from ShutdownRequested
* node/chainstate: Decouple from GetTime
* init: Delay RPC block notif until warmup finished
* Necessary improvements to make configure work without libevent installed
* Coinbase receivedby rpcs release notes
* Test including coinbase transactions in receivedby wallet rpcs
* doc: Add missing optional to MempoolEntryDescription
* mining, refactor: add m_mempool.cs thread safety lock assertions
* Revert \"Fixes Bug in Transaction generation in ComplexMempool benchmark\"
* p2p, refactor: drop unused DNSLookupFn param in LookupSubnet()
* p2p, refactor: tidy up LookupSubNet()
* build: Bump AX_PTHREAD macro to the latest version
* test: remove unneeded sync_all() calls in wallet_listtransactions.py
* Move -checkblocks LogPrintf to AppInitMain
* node/chainstate: Reduce coupling of LogPrintf
* node/chainstate: Decouple from concept of uiInterface
* Remove unused (and broken) functionality in SpanReader
* Split off VerifyLoadedChainstate
* node/chainstate: Remove do/while loop
* Move init logistics message for BAD_GENESIS_BLOCK to init.cpp
* Move mempool nullptr Assert out of LoadChainstate
* node/chainstate: Decouple from concept of NodeContext
* node/chainstate: Decouple from ArgsManager
* node/chainstate: Decouple from stringy errors
* node/chainstate: Decouple from GetTimeMillis
* node: Extract chainstate loading sequence
* test: add interface_bitcoin_cli.py --descriptors to test_runner.py
* test: fix test interface_bitcoin_cli.py for descriptor wallets
* Include coinbase transactions in receivedby wallet rpcs
* doc: Improve ZMQ documentation
* [bugfix] update lockpoints correctly during reorg
* MOVEONLY: update_lock_points to txmempool.h
* doc: Merge release note snippets
* ci: Make macOS native task sqlite only
* p2p: Make timeout mockable and type safe, speed up test
* rpc: Only allow specific types to be P2(W)SH wrapped in decodescript
* Make Bech32 LocateErrors return error list rather than using out-arg
* test: Remove false coinstatsindex test
* tests: Add data-driven testcases to rpc_decodescript.py
* Use SelectionResult in SelectCoins
* Use SelectionResult in AttemptSelection
* Use SelectionResult for waste calculation
* Make an OutputGroup for preset inputs
* Return SelectionResult from SelectCoinsSRD
* Return SelectionResult from KnapsackSolver
* Return SelectionResult from SelectCoinsBnB
* Make member variables of SelectionResult private
* scripted-diff: Use SelectionResult in coin selector tests
* Introduce SelectionResult struct
* build: Fix build for Android x86_64
* build, qt: Use Android NDK r23 LTS
* correct rpc address_type helptext
* build: Bump Fonconfig version up to 2.12.6
* cover DisconnectBlock with lock annotation
* build: remove x-prefix comparisons
* rpc: Add missing BlockUntilSyncedToCurrentChain to wallet RPCs
* ci: Bump Qt to 5.15.2 in the native Windows task
* doc: Update `build_msvc/README.md` for Qt 5.15.2
* build, qt: Fix regression in rendering on macOS Big Sur
* build: qt 5.15.2
* build: add libxcb_util_wm 0.4.1
* build: add libxcb_util_image 0.4.0
* build: add libxcb_util_keysyms 0.4.0
* build: add libxcb_util_render 0.3.9
* build: add libxcb_util 0.4.0
* build: libxcb 1.14
* build: freetype 2.11.0
* build: expat 2.4.1
* build: xcb_proto 1.14.1
* build: libXau 1.0.9
* build: xproto 7.0.31
* MOVEONLY: Move LoadWalletHelper to wallet/rpc/util
* MOVEONLY: Move wallet encryption RPCs to encrypt.cpp
* MOVEONLY: Move backupwallet and restorewallet to rpc/backup.cpp
* MOVEONLY: Move rpcdump.cpp to wallet/rpc/backup.cpp
* qt: Handle Android back key in the Node window
* qt, android: Add GUIUtil::IsEscapeOrBack helper
* test: fix: remove outdated TestNode.generate calls
* contrib: add check for wget command in install_db4.sh
* Generalize/simplify VectorReader into SpanReader
* doc: Document optional result fields in validateaddress
* fuzz: Rework rpc fuzz target
* doc: Document optional result fields in getpeerinfo
* Remove GetSpendHeight
* clean up txmempool includes
* change TestLockPointValidity to take a const reference
* rpc: add missing scantxoutset examples
* remove unnecessary casts and use braced initialization
* rpc: getblockfrompeer
* rpc: move Ensure
* helpers to server_util.h
* wallet: Replace confusing getAdjustedTime() with GetTime()
* net: change CreateNodeFromAcceptedSocket() to take Sock
* net: use Sock in CConnman::ListenSocket
* net: add new method Sock::Accept() that wraps accept()
* Remove calls to global Params() in tx_pool test
* Remove AcceptToMemoryPoolWithTime
* The evhttp_connection_get_peer function from libevent changes the type of the second parameter. Fixing the problem.
* doc: use BIP125-replaceable
* doc: Extract CreateTxDoc in rawtransaction
* rpc: remove info about mallocinfo needing glibc 2.10+
* fuzz: Rework FillNode
* refactor: Set fSuccessfullyConnected in FillNode
* fuzz: Avoid negative NodeId in ConsumeNode
* refactor: Call type-solver earlier in decodescript
* style: Remove whitespace
* miner: Remove uncompiled MTP code
* style: Add {} to if-bodies in node/miner
* MOVEONLY: Move utility functions from rpcwallet to wallet/rpc/util
* Introduce wallet/rpc/util
* Use std::iota instead of manually pushing range
* Use bounds-checked array lookups in Bech32 error detection code
* Simplify encoding of e in GF(1024) tables to (1,0)
* Replace GF1024 tables and syndrome constants with compile-time generated constexprs.
* test: Bump shellcheck version to 0.8.0
* Remove GetAdjustedTime from init.cpp
* rpc: various fixups for dumptxoutset
* Replace addrman.h include with forward decl in net.h
* Break validation <-> txmempool circular dependency
* [mempool] always assert coin spent
* [refactor] put finality and maturity checking into a lambda
* [mempool] only update lockpoints for non-removed entries
* MOVEONLY: TestLockPointValidity to txmempool
* Add RPC help for getblock verbosity level 3
* Update release note for bech32 error detection
* More Span simplifications
* Replace MakeSpan helper with Span deduction guide
* [unit test] package submission
* [validation] de-duplicate package transactions already in mempool
* [packages] add sanity checks for package vs mempool limits
* p2p: Don\'t use timestamps from inbound peers
* [validation] full package accept + mempool submission
* [policy] require submitted packages to be child-with-unconfirmed-parents
* [packages/doc] define and document package rules
* test: Add test for block relay only eviction
* refactor: Fix implicit-signed-integer-truncation in cuckoocache.h
* [unit test] context-free package checks
* [packages] add static IsChildWithParents function
* build, qt: Ditch `no_sdk_version_check.patch`
* doc: Fix typos in packages.md
* test: Make more shell scripts verifiable by the `shellcheck` tool
* [tracing] tracepoints to utxocache add, spent and uncache
* [tracing] tracepoint for utxocache flushes
* test: add feature_rbf.py --descriptors to test_runner.py
* test: always rescan after importing private keys in `init_wallet` helper
* test: Add edge case of pruning up to index height
* index: Fix backwards search for bestblock
* wallet: Split signmessage from rpcwallet
* build: Fix x86_64 <-> arm64 cross-compiling for macOS
* net: don\'t check if the listening socket is valid
* doc: Tidy up nMinDiskSpace comment
* contrib: Specify wb mode when creating mac sdk
* ci: Always run merge_base_script first for consistency
* ci: Revamp Android SDK cache, and update it timely
* ci: Make macOS SDK cache independent, and update it timely
* test: add wallet_transactiontime_rescan.py --descriptors to test_runner.py
* test: fix test wallet_transactiontime_rescan.py for descriptor wallets
* test: refactor: use `set_node_times` helper in wallet_transactiontime_rescan.py
* refactor: Use underlying type of isminetype for isminefilter
* build: don\'t set PORT=no in config.site
* Crash debug builds when mempool ConsensusScriptChecks fails
* Revert \"doc: Install Rosetta on M1-macOS for qt in depends\"
* build, qt, macOS: Don\'t pass -device-option when building natively
* build, qt, macOS: Don\'t hard-code x86_64 as the arch when using qmake
* scripted-diff: Drop Darwin version for better maintainability
* refactor: replace RecursiveMutex m_added_nodes_mutex with Mutex
* refactor: replace RecursiveMutex m_addr_fetches_mutex with Mutex
* scripted-diff: rename node vector/mutex members in CConnman
* refactor: remove RecursiveMutex cs_totalBytesRecv, use std::atomic instead
* scripted-diff: rename `proxyType` to `Proxy`
* net: respect -onlynet= when making outbound connections
* build: patch qt to explicitly define previously implicit header include
* script install_db4.sh added check for patch command
* Report encoding type in bech32 error message
* Improve Bech32 boost tests
* Address review comments for Bech32 error validation
* refactor: cast bool to int to silence compiler warning
* qt: monospaced output in Console on macOS
* wallet: Call load handlers without cs_wallet locked
* Follow Transifex docs to prepare XLIFF source
* build: don\'t check for deprecated qt5 package
* build: don\'t check for deprecated berkeley-db4 package
* script: preventing non-compatible sed binary.
* test: run rpc-generateblock.py even with wallet disabled
* configure.ac: remove Bashism
* util: Add missing fstatfs to syscall sandbox
* test: Remove sanitizer suppression implicit-signed-integer-truncation:netaddress.cpp
* scripted-diff: Use clang-tidy syntax for C++ named arguments
* doc: Use clang-tidy comments in crypto_tests
* Bugfix: RPC/mining: Fail properly in estimatesmartfee if smart fee data is unavailable
* Remove strtol in torcontrol
* test: add check_node_connections in util
* net: split CConnman::SocketHandler()
* style: remove unnecessary braces
* net: keep reference to each node during socket wait
* net: dedup and RAII-fy the creation of a copy of CConnman::vNodes
* test: add decodescript RPC test for P2TR output type
* test: check for decodescript RPC \'type\' results
* test: add logging to rpc_decodescript.py
* test: refactor: replace OP_1/OP_TRUE magic numbers by constants
* test: refactor: take use of `create_block` txlist parameter
* test: refactor: take use of `create_block` version parameter (or use default)
* util: ParseByteUnits - Parse a string with suffix unit [k|K|m|M|g|G|t|T]
* doc: Fix incorrect C++ named args
* scripts: test for PE control flow instrumentation
* build: use -fcf-protection=full when building Windows Boost in depends
* scripted-diff: Rename m_last_send and m_last_recv
* fuzz: Add minisketch fuzz test
* Extract Taproot internal keyid with GetKeyFromDestination
* Mention bech32m in -addresstype and -changetype help
* Create a tr() descriptor bech32m DescriptorScriptPubKeyMan by default
* doc: Pick better named args for MutableTransactionSignatureCreator
* ci: Rework ci task names
* refactor: Replace validation.h include with forward-decl in miner.h
* style: Sort file list after rename
* scripted-diff: Move miner to src/node
* doc: Fix typos in endif header comments
* policy: Treat taproot as always active
* Store pubkeys in TRDescriptor::MakeScripts
* build: add `--enable-lto` configuration option
* build: remove D__STDC_FORMAT_MACROS from CPPFLAGS
* build: require glibc 2.18+ for release builds
* Improve fs::PathToString documentation
* refactor: Make CWalletTx sync state type-safe
* test: Force --nosandbox when --valgrind
* test: Return the largest utxo in MiniWallet.get_utxo
* ci: Drop --failfast in functional tests on native Windows CI task
* Fix Arch linux dead link
* build_msvc/bitcoin_config.h is generated using build_msvc/msvc-autogen.py
* build: Drop unneeded dependencies for bitcoin-wallet tool
* depends, wallet: fix typos
* test: Enable SC2046 shellcheck rule
* test: Enable SC2086 shellcheck rule
* ci: Replace soon EOL hirsute with jammy
* test: refactor: simplify `block_submit` in feature_nulldummy.py
* test: refactor: rename NULLDUMMY-invalidation helper
* test: simplify and document NULLDUMMY-invalidation helper
* multiprocess: Add interfaces::Node::broadCastTransaction method
* fuzz: replace every fuzzer-controlled loop with a LIMITED_WHILE loop
* test: remove unnecessary block rehashing prior to solving
* tests: implement BIP341 test vectors
* tests: BIP341 test vector generation
* tests: add deterministic signing mode to ECDSA
* tests: abstract out precomputed BIP341 signature hash elements
* tests: give feature_taproot access to sighash preimages
* tests: add more fields to TaprootInfo
* Make signing follow BIP340 exactly w.r.t. aux randomness
* build: remove duplicate -fvisibility=hidden from Boost build
* build: don\'t install Boost cmake config files
* Use c++17 in clang-format
* style: Use 4 spaces for indentation, not 5
* test: Remove unused CDataStream copy
* Sort file list after rename
* scripted-diff: Move minisketchwrapper to src/node
* build: consistently quote AC_CHECK_LIB() arguments
* build: consistently quote AC_MSG_
* arguments
* build: consistently quote AC_CHECK_PROG() arguments
* build: consistently quote arguments in AC_ARG_VAR()
* build: consistently quote arguments in AM_CONDITIONAL()
* build: consistently quote AC_DEFINE() arguments
* build: consistently quote AC_MSG_CHECKING() arguments
* build: consistently quote AC_PATH_TOOL arguments
* build: AC_PATH_PROG(S) consistently quote arguments
* build: cleanup AX_CHECK_PREPROC_FLAG() usage
* build: AX_CHECK_PREPROC_FLAG() serial 6
* build: cleanup AX_CHECK_COMPILE_FLAG() usage
* build: AX_CHECK_COMPILE_FLAG() serial 6
* build: cleanup AX_CHECK_LINK_FLAG() usage
* build: AX_CHECK_LINK_FLAG serial 6
* cli: hoist networks class data members to a constant
* cli: add cjdns network to -addrinfo and -netinfo
* test: Correct MyPy typing for subtest decorator
* Add a brief overview of fuzzing/Bitcoin Core fuzzing
* doc: Add minimum supported Android NDK version
* doc: Move Android dependencies guide into `build-android.md`
* build: Switch to llvm buinutils for Android builds
* refactor: use `CWallet` const shared pointers in dump{privkey,wallet} RPCs
* refactor: use const `LegacyScriptPubKeyMan` references in dump{privkey,wallet} RPCs
* refactor: avoid multiple key->metadata lookups in dumpwallet RPC
* scripted-diff: Bump copyright headers
* scripted-diff: Remove redundant sync_all and sync_blocks
* test: Properly set sync_fun in NodeNetworkLimitedTest
* test: Use 4 spaces for indentation
* [addrman] [tests] Remove AddrManUncorrupted subclass
* [addrman] [tests] Remove AddrManCorrupted subclass
* [addrman] [tests] Tidy up unused arguments in addrman test functions
* [addrman] [tests] Remove deterministic argument and member from AddrManTest
* [addrman] Remove AddrMan friends
* span: Add std::byte helpers
* refactor: Use ignore helper when unserializing an invalid pubkey
* Use value_type in CDataStream where possible
* Add file validation to savemempool RPC test
* Add filename to savemempool RPC result
* wallet: Fixed Grammatical error in bdb.h
* fix `XOnlyPubKey::IsFullyValid` comment reference
* test: MiniWallet: add P2TR support and use it per default
* test: generate blocks to MiniWallet address in rpc_blockchain.py
* test: Add txindex migration test
* Remove `gArgs` from `wallet.h` and `wallet.cpp`
* doc: remove redundant optionals from build-unix.md
* doc: remove Boost build note from build-unix.md
* doc: Suggest `keys.openpgp.org` as keyserver in SECURITY.md
* ci: Enable ccache for \"ARM64 Android APK\" job
* build: Fix `make apk` if ccache enabled
* doc: remove mention of system univalue
* ci: Do not print `git log` for empty COMMIT_RANGE
* Remove the build_msvc/testconsensus project
* doc: update SECURITY.md inline with recent changes to bitcoincore.org
* doc: Mention that BerkeleyDB is for legacy wallet in build-unix
* [test] call CheckPackage for package sanitization checks
* MOVEONLY: move package unit tests to their own file
* MOVEONLY: mempool checks to their own functions
* scripted-diff: clean up MemPoolAccept aliases
* Open streams_test_tmp file in temporary folder
* Namecoin / Qt: Fix double lock when creating a new wallet
* document workspace members
* [validation] cache iterators to mempool conflicts
* [validation] Always call mempool.check() after processing a new transaction
* [refactor] Don\'t call AcceptToMemoryPool() from outside validation.cpp
* [validation] Add CChainState::ProcessTransaction()
* [logging/documentation] Remove reference to AcceptToMemoryPool from error string
* [validation] Remove comment about AcceptToMemoryPool()
* contrib: recognize CJDNS seeds as such
* net: take the first 4 random bits from CJDNS addresses in GetGroup()
* net: relay CJDNS addresses even if we are not connected to CJDNS
* net: don\'t skip CJDNS from GetNetworkNames()
* net: take CJDNS into account in CNetAddr::GetReachabilityFrom()
* test: extend feature_proxy.py to test CJDNS
* test: remove default argument of feature_proxy.py:node_test()
* net: recognize CJDNS addresses as such
* net: don\'t skip CJDNS from GetNetworksInfo()
* net: introduce a new config option to enable CJDNS
* net: recognize CJDNS from ParseNetwork()
* net: use -proxy for connecting to the CJDNS network
* net: make it possible to connect to CJDNS addresses
* [test] Don\'t set bypass_limits to true in txvalidation_tests.cpp
* [test] Don\'t set bypass_limits to true in txvalidationcache_tests.cpp
* Exit early for an empty vChecks in CCheckQueue::Add
* Avoid excessive lock contention in CCheckQueue::Add
* wallet: Make GetOldestKeyPoolTime return nullopt for blank wallets
* wallet, refactor: Make GetOldestKeyPoolTime return type std::optional
* Adds verification step to Schnorr and ECDSA signing
* rpc: move fees object to match help
* doc: add release note for fee field deprecation
* test: add functional test for deprecatedrpc=fees
* rpc: deprecate fee fields from mempool entries
* doc: Add output script descriptors BIPs 380..386
* refactor: Take Span in SetSeed
* fuzz: Rework ConsumeScript
* test: Avoid excessive locking of `cs_wallet`
* test: Fix segfault in the psbt_wallet_tests/psbt_updater_test
* util, refactor: Improve headers for bitcoin-wallet tool
* refactor: get wallet path relative to wallet_dir
* test: Implicitly sync after generate
*, unless opted out
* [test] tx processing before and after ibd
* [net_processing] ignore all transactions during ibd
* [validation/rpc] cache + use vsize calculated in PreChecks
* [validation] re-introduce bool for whether a transaction is RBF
* [validation/refactor] store precomputed txdata in workspace
* [validation] case-based constructors for ATMPArgs
* [MOVEONLY] reorder functions in addrman_impl.h and addrman.cpp
* [addrman] Add Add_() inner function, fix Add() return semantics
* ci: Build fuzz with libsqlite3-dev
* [addrman] Rename Add_() to AddSingle()
* [addrman] Add doxygen comment to AddrMan::Add()
* test: MiniWallet: more deterministic coin selection for coinbase UTXOs (oldest first)
* test: Add ios_base::width tsan suppression
* test: add stress tests for initialization
* test: add script_util helper for creating bare multisig scripts
* Introduce new V4 format addrman
* scripted-diff: disable unimplemented ArgsManager BOOL/INT/STRING flags
* refactor: Add explicit DISALLOW_NEGATION ArgsManager flag to clarify flag usage
* refactor: Split InterpretOption into Interpret{Key,Value} functions
* refactor: use CWallet const shared pointers when possible
* refactor: const shared_ptrs
* util: Use FEATURE_LATEST for wallets created with bitcoin-wallet
* walletdb: Use SQLiteDatabase for mock wallet databases
* tests: Place into mapWallet in coinselector_tests
* Fix bnb_search_test to use set equivalence for
* Make AddrMan support multiple ports per IP
* ci: Add vcpkg tools cache
* fuzz: Add wallet fuzz test
* refactor: Use local args instead of global gArgs in CWallet::Create
* Make GenTxid boolean constructor private
* remove unused CTxMemPool::info(const uint256& txid)
* refactor: include a missing header in fs.cpp
* doc: Fix CWalletTx::Confirmation doc
* [mempool] delete exists(uint256) function
* create explicit GenTxid::{Txid, Wtxid} ctors
* wallet: fix segfault by avoiding invalid default-ctored `external_spk_managers` entry
* build: Inline FUZZ_SUITE_LDFLAGS_COMMON
* test: Replace log with assert_equal in wallet_abandonconflict
* ubsan: add minisketch exceptions
* Add thin Minisketch wrapper to pick best implementation
* Add basic minisketch tests
* Add minisketch dependency
* Add MSVC build configuration for libminisketch
* build: add minisketch build file and include it
* build: add configure checks for minisketch
* Squashed \'src/minisketch/\' content from commit 89629eb2c7
* refactor: remove references to deprecated values under std::allocator
* ci: Improve vcpkg binary cache settings
* ci, refactor: Rename VCPKG_TAG variable and vcpkg_cache script
* ci: Disable syscall sandbox in valgrind functional tests
* wallet: Use PACKAGE_NAME to mention our software
* doc: Add note on deleting past-EOL release branches
* test: add node.chain_path and node.debug_log_path
* netinfo: print peer counts for all reachable networks
* Address review comments from #22918
* build: explicitly disable libsecp256k1 openssl based tests
* Fix K1/K2 use in the comments in ChaCha20-Poly1305 AEAD
* build: fix python detection post #23182
* Make explicit the node param in init_wallet()
* tests: Add feature_segwit.py --descriptors to test_runner.py
* tests: restrict feature_segwit legacy wallet import tests
* tests: Use descriptors for feature_segwit multisig setup
* ci: Bump vcpkg release tag
* Add missing gettimeofday to syscall sandbox
* test: Remove unused node from mining_prioritisetransaction
* log: improve addrman logging
* test: Fix wallet_multisig_descriptor_psbt.py
* tracing: drop block_connected hash.toString() arg
* build: Remove unneeded share/man directory from libXau package
* build: Remove unneeded share/man directory from freetype package
* build: Remove empty var/cache/fontconfig directory from fontconfig
* build: Remove unneeded share/doc directory from expat package
* build: Drop non-existent share/pkgconfig directory
* test: get and decode tx with a single `gettransaction` RPC call
* Update REST docs with new accessors
* Expose block filters over REST.
* Add comment to COIN constant.
* lint: enable mypy checking for missing imports
* lint mypy 0.910
* lint: install pyzmq (22.3.0) into linter environment
* doc: remove pointlessly duplicated linter version / install info
* tests: Use Descriptor wallets for generic wallet tests
* tests: Use legacy change type in subtract fee from outputs test
* tests: Use descriptors in psbt_wallet_tests
* tests: Use DescriptorScriptPubKeyMan in coinselector_tests
* tests, gui: Use DescriptorScriptPubKeyMan in GUI tests
* bench: Use DescriptorScriptPubKeyMan for wallet things
* bench: remove global testWallet from CoinSelection benchmark
* tests: Remove global vCoins and testWallet from coinselector_tests
* ci, refactor: Disable binaries for Android task explicitly
* doc: update release notes for 22539
* build: remove build stubs for external leveldb
* test: check that bumpfee RPC fails for txs with descendants in mempool
* Use absolute FQDN for DNS seed domains
* test: Add check that newkeypool flushes change addresses too
* scripted-diff: Prefix makefile variables with QT_
* qt: Use only Qt translation primitives in GUI code
* symbol-check: Check requested ELF interpreter
* guix: Fix powerpc64(le) dynamic linker name
* build: Drop -Wno-unused-local-typedef
* build: remove -Wunused-variable
* build: remove -Wswitch
* build: use loop-analysis over range-loop-analysis
* build: remove -Wsign-compare
* test: bip125-replaceable in listsinceblock
* bitcoin-tx: Reject non-integral and out of range multisig numbers
* bitcoin-tx: Reject non-integral and out of range sequence ids
* test: Check that bitcoin-tx accepts whitespace around sequence id and multisig numbers
* Update name_ant_workflow.py.
* rest: Return error when header count is not integral
* Fix outdated comments referring to ::ChainActive()
* scripts: remove pixie.py
* scripts: only parse the binary once in security-check.py
* scripts: use LIEF for ELF checks in security-check.py
* scripts: only parse the binary once in symbol-check.py
* scripts: use LIEF for ELF checks in symbol-check.py
* test-
*-check: Pass in
*FLAGS and compile with them
* Modify copyright header on Bech32 code
* Add lots of comments to Bech32
* Add release notes for validateaddress Bech32 error detection
* Refactor and add more tests for validateaddress
* Add boost tests for bech32 error detection
* Add error_locations to validateaddress RPC
* Add Bech32 error location function
* More detailed error checking for base58 addresses
* tests: Calculate fees more similarly to CFeeRate::GetFee
* util: Add mincore and clone3 to syscall sandbox
* Integrate univalue into our buildsystem
* Squashed \'src/univalue/\' changes from 98fadc0909..a44caf65fe
* Fix typo and grammar
* validation: put coins cache write log into bench debug log
* blockstorage: use debug log category
* validation: move header validation error logging to VALIDATION debug category
* validation: include block hash when reporting prev block not found errors
* bitcoin-tx: Avoid treating overflow as OP_0
* tests: Test for assertion when feerate is rounded down
* fees: Always round up fee calculated from a feerate
* qt: hide Create Unsigned button behind an expert mode option
* style: Fix whitespace in Parse
* functions
* refactor: Use C++11 range based for loop in ParseScript
* doc: Fixup ToIntegral docs
* Disable lock contention logging in checkqueue_tests
* qt: Add Create Unsigned button to SendConfirmationDialog
* GUI/Options: Restore \"S\" accelerator for \"Start on system login\" option
* qt: Add helper to load font
* ci: Reduce Windows memory for faster scheduling
* p2p: Use mocktime for ping timeout
* Replace stoul with ToIntegral in dbwrapper
* refactor: move `update_
*` structs from txmempool.h to .cpp file
* refactor: use const reference for parents in `CTxMemPool::UpdateAncestorsOf`
* test: Add ParseMoney and ParseScript tests
* test: Replace satoshi_round with int() or Decimal()
* test: Avoid RPC roundtrip in MiniWallet get_descriptor()
* qt: Fix WalletControllerActivity progress dialog title
* util: Add mremap syscall to AllowAddressSpaceAccess
* test: Delete generate
* calls from TestNode
* test: Use generate
* node RPC, not wallet RPC
* test: Use generate
* from TestFramework, not TestNode
* test: listtranscations with externally generated addresses
* Add to spends only transcations from me
* Automatically add labels to detected receiving addresses
* Return used destinations from ScriptPubKeyMan::MarkUnusedAddresses
* Add CWallet::IsInternalScriptPubKeyMan
* Fix intermittent test failures due to missing sync_all
* Use self.generate not node.generate throughout tests
* External input fund support cleanups
* refactor: use `{Read,Write}BE32` helpers for BIP32 nChild (de)serialization
* qt: never disable HD status icon
* util: Conditionalize some syscalls in syscall name table
* util: Add __NR_copy_file_range syscall constant for sandbox
* p2p: improve checkaddrman logging with duration in milliseconds
* [fuzz] Update comment in FillAddrman()
* [fuzz] Make Fill() a free function in fuzz/addrman.cpp
* [fuzz] Make RandAddr() a free function in fuzz/addrman.cpp
* Make CAddrman::Select_ select buckets, not positions, first
* [fuzz] Pass FuzzedDataProvider& into Fill() in addrman fuzz tests
* [fuzz] Create a FastRandomContext in addrman fuzz tests
* log, timer: add LOG_TIME_MILLIS_WITH_CATEGORY_MSG_ONCE macro
* log, timer: allow not repeating log message on completion
* multiprocess: add interfaces::ExternalSigner class
* refactor: Block unsafe fs::path std::string conversion calls
* refactor: Add fs::PathToString, fs::PathFromString, u8string, u8path functions
* util: Make sure syscall numbers used in profile are defined
* RPCConsole: Throw when overflowing size_t type for array indices
* style: Sort
* scripted-diff: Move bloom to src/common
* refactor: Remove unused MakeUCharSpan
* core_write: Rename calculate_fee to have_undo for clarity
* release-notes: Add release note about getblock verbosity level 3.
* rest: Add test for prevout fields in getblock
* rpc: Add test for level 3 verbosity getblock rpc call.
* rpc: Add level 3 verbosity to getblock RPC call.
* rpc: Replace boolean argument for tx details with enum class.
* wallet: resolve ambiguity of two ScriptPubKey managers providing same script
* util: Define SECCOMP_RET_KILL_PROCESS if not provided by the headers
* build: add python3.10 alias to AC_PATH_PROGS call in configure
* build: no-longer fail default configure if BDB isn\'t available
* sandbox: add copy_file_range to allowed filesystem syscalls
* sandbox: add newfstatat to allowed filesystem syscalls
* doc: add assumeutxo notes
* [refactor] pass coinsview and height to check()
* [mempool] simplify some check() logic
* [validation/mempool] use Spend/AddCoin instead of UpdateCoins
* MOVEONLY: remove single-use helper func CheckInputsAndUpdateCoins
* [mempool] remove now-unnecessary code
* [mempool] speed up check() by using coins cache and iterating in topo order
* [bench] Benchmark CTxMemPool::check()
* doc: Extract FundTxDoc
* Remove unused ParseDouble and ParsePrechecks
* Add an argparse abbreviated mode to --failfast
* allow send rpc take external inputs and solving data
* Tests for funding with external inputs
* allow fundtx rpcs to work with external inputs
* Test transactions conflicted by double spend in listtransactions
* contrib: Ask for captcha in signet getcoins.py
* refactor: Remove unused ParsePrechecks from ParseIntegral
* [refactor/bench] make mempool_stress bench reusable and parameterizable
* Add syscall sandboxing (seccomp-bpf)
* test: check abandoned tx in listsinceblock
* doc: Combine 23.0 release notes
* build: make --enable-werror just -Werror
* scripted-diff: rename DBErrors::RESCAN_REQUIRED to NEED_RESCAN
* test: update assert_fee_amount() in test_framework/util.py
* Replace use of locale dependent atoi(…) with locale-independent std::from_chars(…) (C++17)
* Return false on corrupt tx rather than asserting
* doc: Suggest using jom instead of nmake
* doc: Replace a link to Qt precompiled binaries with compile instructions
* consensus: use over in amount.h
* consensus: make COIN & MAX_MONEY constexpr
* [MOVEONLY] consensus: move amount.h into consensus
* Add rescan removal release note
* Remove -rescan startup parameter
* Corrupt wallet tx shouldn\'t trigger rescan of all wallets
* Allow Coin Selection be able to take external inputs
* Allow CInputCoin to also be constructed with COutPoint and CTxOut
* rpc: improve TransactionDescriptionString() \"generated\" help
* test: add listtransactions/listsinceblock \"trusted\" coverage
* rpc: fix \"trusted\" description in TransactionDescriptionString
* qt: Do not show unused widgets at startup
* log: Adjust coin selection log string
* test: Fix typos in tests
* log: Avoid broken DEBUG_LOCKORDER log
* Add release notes for fee est with replacement txs
* qa: test fee estimation with replacement transactions
* qa: split run_test into smaller parts
* test: use miniwallet in test_rpc() function in feature_rbf.py
* Re-include RBF replacement txs in fee estimation
* qt, refactor: Drop intermediate BitcoinApplication::shutdownResult slot
* qt: Do not exit and re-enter main event loop during shutdown
* test: introduce script_util helper for creating P2PK scripts
* Squashed \'src/crc32c/\' changes from b5ef9be675..0d624261ef
* test:
* -> &
* fuzz: Fix memory leak in system fuzz target
* Revert \"doc: Remove outdated comments\"
* doc: update developer docs for subtree renaming
* Fix feature_segwit failure due to witness
* Remove outdated dummy wallet -salvagewallet arg
* [style] Run changed files through clang formatter.
* scripted-diff: Rename CAddrInfo to AddrInfo
* scripted-diff: Rename CAddrMan to AddrMan
* [includes] Fix up included files
* bloom: cleanup includes
* bloom: use constexpr where appropriate
* bloom: use Span instead of std::vector for `insert` and `contains`
* psbt: sign without finalizing
* [doc] Update comments
* [refactor] Update GetAddr_() function signature
* [move-only] Move constants to test-only header
* [addrman] Change CAddrInfo access
* [move-only] Move CAddrInfo to test-only header file
* [net, addrman] Remove external dependencies on CAddrInfo objects
* [addrman] Introduce CAddrMan::Impl to encapsulate addrman implementation.
* [move-only] Match ordering of CAddrMan declarations and definitions
* Include vout when copying transaction ID from coin selection
* [test] Test that -blocksonly nodes still serve compact blocks.
* [test] Test that getdata(CMPCT) is still sent on regular low bandwidth connections.
* [test] Test that -blocksonly nodes do not send getdata(CMPCT) on a low bandwidth connection.
* [test] Test that -blocksonly nodes do not request high bandwidth mode.
* [net processing] Dont request compact blocks in blocks-only mode
* doc: update doxygen documention of ComputeTimeSmart() and AddToWalletIfInvolvingMe() regarding rescanning_old_block parameter
* test: add functional test to check transaction time determination during block rescanning
* wallet: fix ComputeTimeSmart algorithm to use blocktime during old block rescanning
* [move-only] Move CAddrMan function definitions to cpp
* doc: Remove un-actionable TODO from chainparams.cpp
* ci: Enable extended tests on native Windows
* test: pep-8 touched test
* test: Remove unused and confusing main parameter from script_util
* update estimatesmartfee rpc to return max of estimateSmartFee, mempoolMinFee and minRelayTxFee.
* test: pep-8
* test: Use assert_equal over assert for easier debugging
* build: Add ability to build qt in depends with -stdlib=libc++
* Namecoin: Rebrand build-unix docs
* GUI: Ask user to unlock wallet before signing psbt
* Add test that walletprocesspsbt requires unlocked wallet when signing
* wallet: enable SQLite extended result codes
* ci: Enable feature_asmap.py test on native Windows
* Ensure wallet is unlocked before signing in walletprocesspsbt
* qt: Keep InitExecutor in main gui thread
* test: use MiniWallet for p2p_filter.py
* test: introduce helper to create random P2WPKH scriptPubKeys
* test: MiniWallet: add `send_to` method to create arbitrary txouts
* log: Avoid broken SELECTCOINS log
* scripted-diff: Rename overloaded int GetArg to GetIntArg
* test: Add missing re.escape() to feature_addrman test
* qt: hyphenate usage of third-party modifier
* Add release notes for keypool flush changes
* Add test for flushing keypool with newkeypool
* Make legacy wallet upgrades from non-HD to HD always flush the keypool
* Fix outdated keypool size default
* Add newkeypool RPC to flush the keypool
* Run functional tests with all possible flags
* gui: Paste button in Open URI dialog
* Make GUI UTXO lock/unlock persistent
* Add release note for lockunspent change
* Update lockunspent tests for lock persistence
* Allow lockunspent to store the lock in the wallet DB
* Allow locked UTXOs to be store in the wallet database
* doc: Remove outdated comments
* doc: Add 23061 release notes
* test: Remove Windows workaround in authproxy
* test: avoid non-determinism in asmap-addrman test
* doc: add release notes for removal of the -deprecatedrpc=addresses flag
* refactor: minor styling, prefer snake case and same line if
* refactor: share logic between ScriptPubKeyToUniv and ScriptToUniv
* rpc: remove deprecated addresses and reqSigs from rpc outputs
* ci: Add more functional tests to the native Windows task
* ci: Increase the dynamic port range to the maximum on native Windows
* test: check for block reject reasons in p2p_segwit.py [2/2]
* test: check for block reject reasons in p2p_segwit.py [1/2]
* test: fix reference to block processing test in p2p_segwit.py
* test: Add -testactivationheight tests to rpc_blockchain
* test: Add remaining scenarios of 0 waste
* build: remove support for weak linking getauxval()
* build: remove arm includes from getauxval() check
* qt: ensure seperator when adding third-party transaction links
* qt: improve text for open third-party tx url action
* span, doc: provide span.h context and explain lifetimebound definition
* net, doc: provide context for UnserializeV1Array()
* log: Remove unnecessary timing logs for Callbacks bench
* qt, refactor: simplify third-party tx url action through overload
* log: call LogPrint only once with time data samples
* [net processing] Do not request transaction relay from feeler connections
* [test] Add testing for outbound feeler connections
* ci: update minimum compiler requirements for std::filesystem
* doc: update minimum compiler requirements for std::filesystem
* Fix (inverse) meaning of -persistmempool
* fuzz: Cleanup muhash fuzz target
* Revert \"test: Add missing suppression signed-integer-overflow:addrman.cpp\"
* qt: connection type translator comments
* Add BECH32_INVALID_VERSION test
* skip test_getaddressinfo() if wallet is disabled
* Use C++11 member initializer in CTxMemPoolEntry
* bench: fixed ubsan implicit conversion
* bench: various args improvements
* bench: clean up includes
* bench: add usage description and documentation
* bench: introduce -min_time argument
* bench: make EvictionProtection.
* work with any number of iterations
* bench: change AddrManGood to AddrManAddThenGood
* build: Restrict check for CRC32C intrinsic to aarch64
* bench: remove unnecessary & incorrect multiplication in MuHashDiv
* bench: update nanobench from 4.3.4 to 4.3.6
* doc: Fix RPC result documentation
* fuzz: Move all addrman fuzz targets to one file
* addrman: Replace assert with throw on corrupt data
* Refactor: Turn the internal addrman check helper into a forced check
* move-only: Move CAddrMan::Check to cpp file
* Fix BlockAssembler::AddToBlock, CTxMemPool::PrioritiseTransaction logging
* test: Check other fields are loaded correctly as well
* test: Remove unused self.connect_nodes
* test: pep8
* test: Use MiniWallet in mempool_persist
* test: Add MiniWallet get_descriptor function
* add missing includes in policy/rbf
* make MAX_BIP125_RBF_SEQUENCE constexpr
* cli: Display all proxies in -getinfo
* refactor: Remove unused validation includes
* ci: Set --nocleanup for Windows functional tests
* net: Avoid logging AlreadyHaveTx when disconnecting misbehaving peer
* test: Add addrman deserialization error tests
* test: Replace MiniWallet scan_blocks with rescan_utxos
* test: fix confusing off-by-one nValue in feature_coinstatsindex.py
* test: use test_framework.p2p P2P_SERVICES in functional tests
* Namecoin: Rebrand Guix
* util: Introduce ToIntegral(const std::string&) for locale independent parsing using std::from_chars(…) (C++17)
* net: switch to signet DNS seed
* wallet: Default new wallets to descriptor wallets
* ci: Update valgrind config
* ci: Update s390x config
* doc: remove WSL install instructions and point to upstream
* doc: test: unittest segfault gdb
* Enable TLS in links in documentation
* rpc, wallet: Descriptor wallets are no longer experimental
* doc/release-notes: Add new listunspent fields
* QA: Add tests for listunspent ancestor{count,size,fees} to mempool_packages
* RPC: Add ancestor{count,size,fees} to listunspent output
* multiprocess: Delay wallet client construction
* multiprocess: Add new bitcoin-gui, bitcoin-qt, bitcoin-wallet init implementations
* multiprocess: Make interfaces::Chain::isTaprootActive non-const
* test: Activate all regtest softforks at height 1, unless overridden
* Introduce -testactivationheight=nameAATTheight setting
* test: Add extra_args argument to TestChain100Setup constructor
* test: Remove version argument from build_next_block in p2p_segwit test
* test: Remove unused ~TestChain100Setup
* test: use MiniWallet for make_utxo helper in feature_rbf.py
* test: scale amounts in test_doublespend_tree down by factor 10
* test: scale amounts in test_doublespend_chain down by factor 10
* doc: Remove stale comment for CPrivKey
* build: set OSX_MIN_VERSION to 10.15
* gui: add RPC setting
* ci: use Debian Bullseye in ARM CI
* Fix Qt test broken by #22219
* fuzz: allow lower number of sources
* fuzz: Use public interface to fill addrman tried tables
* addrman: Improve performance of Good
* test: validation: add unittest for UpdateTip behavior
* test: refactor: separate CreateBlock in TestChain100Setup
* test: refactor: declare NoMalleation const auto
* move-only: unittest: add test/util/chainstate.h
* validation: fix CheckBlockIndex for multiple chainstates
* validation: insert assumed-valid block index entries into candidates
* validation: set BLOCK_ASSUMED_VALID during snapshot load
* chain: add BLOCK_ASSUMED_VALID for use with assumeutxo
* validation: change UpdateTip for multiple chainstates
* doc: add comment for g_best_block
* ci: Enable more functional tests on Windows MSVC task
* qa: Fix \"RuntimeError: Event loop is closed\" on Windows
* Add test for addrman consistency check on restart with asmap
* Add test for rpc addpeeraddress with \"tried\" argument
* Allow passing \"tried\" to rpc addpeeraddress to call CAddrMan::Good()
* doc: Fix walletdisplayaddress RPC doc
* refactor: net: avoid duplicate map lookups to `mapLocalHost`
* test: fix misleading fee unit in mempool_limit.py
* doc: Add historical release notes for 22.0
* doc: Update snap release process for new versioning scheme
* fix typos in logging messages
* replace: self.nodes[0] with node
* test: use MiniWallet in mempool_limit.py
* qt: fix bitcoin-qt app categorization on apple silicon
* test: Set peertimeout in write_config
* qt: add missing tooltips to options menu settings
* qt: ensure translator comments end in full stop
* wallet: refactor: avoid duplicate lookup on `mapValue[\"timesmart\"]`
* wallet: refactor: inline function WriteOrderPos()
* p2p: Rename fBlocksOnly, Add test
* test: Simplify p2p_blocksonly test with new miniwallet rescan_utxos method
* Cleanup headers after #20788
* wallet: refactor: inline function ReadOrderPos()
* qt: Add cancel button to configuration options popup
* [doc] improve RBF documentation
* [policy/refactor] pass in relay fee instead of using global
* doc: add glibc to dependencies.md
* compat: remove glibc_compat.cpp
* build: remove glibc-back-compat from build system
* remove --enable-glibc-back-compat from CI and docs
* build: improve check for ::(w)system
* qt, wallet: Drop no longer used WalletController::getOpenWallets()
* qt, wallet: Add LoadWalletsActivity class
* qt, wallet, refactor: Move connection to QObject::deleteLater to ctor
* qt, wallet: Move activity progress dialog from data member to local
* doc: Added hyperlink for doc/build
* util: remove libevent <= 2.0.18 back-compat code
* test: pep-8 whitespace
* test: Avoid intermittent test failure in feature_csv_activation.py
* Raise InitError when peers.dat is invalid or corrupted
* Inline ReadPeerAddresses
* Move LoadAddrman from init to addrdb
* bench: Fix 32-bit compilation failure in addrman bench
* doc: Set PYTHONUTF8=1 for functional tests on Windows
* cirrus: Enable tests on windows
* ci: Switch multiprocess to i686 build
* test: Add missing suppression signed-integer-overflow:addrman.cpp
* test: Fix tests on Windows
* build_msvc: Drop 32-bit build configurations
* build_msvc: Make bitcoin-util ProjectGuid unique
* doc: add missing copyright header to getuniquepath.cpp
* build: Make default name Qt and VS versions agnostic
* ci: Fix merge_script in MSVC task
* Make unexpected time type in BCLog::LogMsg() a compile-time error
* Add util/types.h with ALWAYS_FALSE template
* [net] Remove asmap argument from CNode::CopyStats()
* [asmap] Make DecodeAsmap() a utility function
* ci: Build and cache static Qt instead of downloading a pre-built one
* [asmap] Remove SanityCheckASMap() from netaddress
* ci: Add missed comments and test_bitcoin.exe command line option
* [net] Remove CConnman::Options.m_asmap
* Remove confusing CAddrDB
* Fix addrdb includes
* Move addrman includes from .h to .cpp
* Enable clang-tidy bugprone-argument-comment and fix violations
* qt, refactor: Allocate SendConfirmationDialog instances on heap
* qt, refactor: Keep HelpMessageDialog in the main event loop
* qt, refactor: Keep PSBTOperationsDialog in the main event loop
* qt, refactor: Keep AskPassphraseDialog in the main event loop
* qt, refactor: Keep EditAddressDialog in the main event loop
* qt, refactor: Keep CoinControlDialog in the main event loop
* qt, refactor: Keep OptionsDialog in the main event loop
* qt: Add GUIUtil::ShowModalDialogAndDeleteOnClose
* ci: Drop AppVeyor CI integration
* ci: Add Windows task to Cirrus CI
* log, timer: improve BCLog::LogMsg()
* sync: inline lock contention logging macro to fix time duration
* Namecoin / RPC: Give more specific errors in name_show
* qt: Add \"Copy address\" item to the context menu in the Peers table
* doc: Clarify that change_cost cannot be negative in GetSelectionWaste
* consensus: don\'t call GetBlockPos in ReadBlockFromDisk without lock
* netinfo: clarify client and server versions in header
* addrman: Fix format string in deserialize error
* Fixes Bug in Transaction generation in ComplexMempool benchmark
* build: Update default platform toolset in msvc-autogen.py
* Namecoin / Qt: Add Export button to Manage Names tab
* Namecoin / Qt: Use Unicode ellipsis
* Namecoin / Qt: Add icon for Configure Name button
* doc: add disclaimer highlighting shortcomings of the basic multisig example
* test, doc: basic M-of-N multisig minor cleanup and clarifications
* wallet: AddWalletDescriptor requires cs_wallet lock
* wallet: GetLabelAddresses requires cs_wallet lock
* test: Remove useless overwrite
* Add LIFETIMEBOUND to InitializeChainstate
* Add LIFETIMEBOUND to CScript where needed
* Use SelectCoinsSRD if it has less waste
* Add SelectCoinsSRD function
* tests: wallet_basic lock needed unspents
* tests: wallet_txn explicilty specify inputs
* tests: rpc_fundrawtx better test for UTXO inclusion with include_unsafe
* tests: rpc_fundrawtx use specific inputs for unavailable change test
* tests: rpc_fundrawtx lock to UTXO types
* MOVEONLY: Expose BanMapToJson / BanMapFromJson
* qt, refactor: Replace WalletFrame::addWallet with WalletFrame::addView
* whitespace fixups after move and scripted-diff
* scripted-diff: rename variables in policy/rbf
* MOVEONLY: fee checks (Rules 3 and 4) to policy/rbf
* MOVEONLY: check that fees > direct conflicts to policy/rbf
* MOVEONLY: check for disjoint conflicts and ancestors to policy/rbf
* MOVEONLY: BIP125 Rule 2 to policy/rbf
* Make GetEntriesForConflicts return std::optional
* policy: document we intentionally don\'t lower the dust threshold for Taproot
* test: Rename bitcoin-util-test.py to util/test_runner.py
* scripted-diff: Use generate
* from TestFramework
* test: Update test README and lint script
* test: Always clear reject reason in IsStandard tx test
* tests: Add TrimString(...) tests
* Replace use of boost::trim_right with locale-independent TrimString
* Replace use of boost::trim use with locale-independent TrimString
* msvc: update bitcoin_config.h defines
* sync: remove DEBUG_LOCKCONTENTION preprocessor directives
* log, sync: improve lock contention logging and add time duration
* log, timer: add timing macro in usec LOG_TIME_MICROS_WITH_CATEGORY
* Namecoin / Qt: Clarify \"Receive\" tooltip
* fuzz: Remove addrdb fuzz target
* refactor: Detach wallet transaction methods (followup for move-only)
* test, refactor: rpc_rawtransaction PEP8
* refactor: separate the rpc_rawtransaction tests into functions
* move-only: regroup similar rpc_rawtransaction tests together
* test: remove no longer needed (ASCII art) comments
* test: add and harmonize getrawtransaction logging
* test: run 2nd getrawtransaction section with/without -txindex
* refactor: txid to constant in rpc_rawtransaction to isolate tests
* refactor: dedup/reorg createrawtransaction sequence number tests
* Test src/node/transaction::GetTransaction() without -txindex
* Remove CBanEntry::SetNull
* Remove unused SERIALIZE_METHODS for CBanEntry
* guix/prelude: Override VERSION with FORCE_VERSION
* policy: unit test Segwit dust thresholds
* ci: Fuzz with -ftrivial-auto-var-init=pattern
* builder-keys: add kristapsk
* build: fix unoptimized libraries in depends
* release: remove gitian
* doc: mention bech32m/BIP350 in doc/descriptors.md
* Stricter BIP32 decoding and test vector 5
* test: Check that non-signaling BIP125 tx can be replaced via parent
* refactor: remove RecursiveMutex cs_nBlockSequenceId
* Use waste metric for deciding which selection to use
* tests: Test GetSelectionWaste
* Add waste metric calculation function
* scripted-diff: tests: Use KnapsackSolver directly
* tests: Add KnapsackGroupOutputs helper function
* tests: Use SelectCoinsBnB directly instead of AttemptSelection
* Allow the long term feerate to be configured, default of 10 sat/vb
* build, qt: Fix typo in QtInputSupport check
* [fuzz] Add ConsumeAsmap() function
* [addrman] Make m_asmap private
* [net] Rename the copyStats arg from m_asmap to asmap
* [addrman] Set m_asmap in CAddrMan initializer list
* test: Avoid race after connect_nodes
* [refactor] [addrman] Update constant comments
* [move-only] Extract constants from addrman .h to .cpp
* [addrman] Change addrman #define constants to be constexprs
* [addrman] Move CAddrMan::Unserialize to cpp file
* [addrman] Move CAddrMan::Serialize to cpp file
* [test] checks descendants limtis for second generation Package descendants
* qt: Add copy IP/Netmask action for banned peer
* qt, refactor: Declare getWalletModel with const and noexcept qualifiers
* qt, refactor: Drop redundant checks of walletModel
* qt, refactor: Pass WalletModel object to WalletView constructor
* ci: Re-enable verify-commits.py check
* ci: Unconditionally set the global git author name in cirrys.yml
* Set regtest.BIP65Height = 111 to speed up tests
* Remove GetAddrName
* Remove unused RecursiveMutex cs_addrName
* test, doc: refer to the correct variable names in p2p_invalid_tx.py
* Use `context.args` in `src/wallet/load.cpp`.
* [net] Remove CConnMan::SetAsmap()
* [init] Read/decode asmap before constructing addrman
* Remove unused MaybeSetAddrName
* MOVEONLY: getting mempool conflicts to policy/rbf
* [validation] quit RBF logic earlier and separate loops
* call SignalsOptInRBF instead of checking all inputs
* [validation] default conflicting fees and size to 0
* MOVEONLY: BIP125 max conflicts limit to policy/rbf.h
* Fix build with Boost 1.77.0
* external_signer: improve fingerprint matching logic (stop on first match)
* refactor: replace QDateTime::toTime_t with QDateTime::toSecsSinceEpoch
* refactor: replace QDateTime::fromTime_t with QDateTime::fromSecsSinceEpoch
* Use `context.args` in `CWallet::Create` instead of `gArgs`.
* Fix typo in bitcoin-cli.cpp
* Consolidate XOnlyPubKey lookup hack
* Namecoin / Qt: Add decoration for outgoing name transfers
* qt: Add missing mnemonics in menu bar options
* doc: Remove incorrect INIT_PROTO_VERSION from nTime comment
* test: fix failure in feature_nulldummy.py on single-core machines
* test: refactor: use named args for block_submit in feature_nulldummy.py
* test: add aarch64-apple-darwin platform entry to get_previous_releases
* Node-context extraction in a shared function.
* doc: remove outdated comment
* refactor: Remove unused KeyIDHasher
* Namecoin / Qt: Add name_firstupdate GUI
* script: Add commits signed with sipas expired key to allow-revsig-commits
* Namecoin / Qt: Add decoration for incoming name transfers
* the result of CWallet::IsHDEnabled() was initialized with true.
* Drop us=... message in net debug for sending version message
* refactor: move CAddress-without-nTime logic to net_processing
* qt: Handle new added plurals in bitcoin_en.ts
* doc: add info for debugging with relative paths
* fuzz: Use LIMITED_WHILE instead of limit_max_ops
* Add references for the generator/constant used in Bech32(m)
* Avoid temporary vectors/uint256s in VerifyTaprootCommitment
* Assert that IsComplete() in GetSpendData()
* Remove default nHashTypeIn arguments to MutableTransactionSignatureCreator
* Simplify SignTransaction precomputation loop
* Improve comments in taproot signing logic
* Remove txindex migration code
* doc: Fix validation typo
* Add missing includes and forward declarations, remove unused ones
* fuzz: Avoid timeout in blockfilter fuzz target
* ci: Make git available for all merge commits
* scripted-diff: Rename template to avoid CI configuration parsing warning
* doc: Mention the flat directory structure for uploads
* ci: Run arm task on arm64 hardware
* doc: Update GitHub documentation links
* [net] Replace GetID() with id in TransportDeserializer constructor
* [net] Don\'t return an optional from TransportDeserializer::GetMessage()
* Use generate
* from TestFramework
* Add I2P network SetReachable/IsReachable unit test assertions
* Improve doc/i2p.md regarding I2P router options/versions
* test: Add generate
* calls to test framework
* [addrman] Clean up ctor
* [addrman] inline Clear() into CAddrMan ctor
* [addrman] Remove all public uses of CAddrMan.Clear() from the tests
* test: fix bug in 22686
* doc: link to managing-wallets from doc readme
* guix: Don\'t include directory name in SHA256SUMS
* Namecoin / Qt: Move name operation into Type column
* log, sync: add LOCK logging category, apply it to lock contention
* ci: Run fuzzer task for the master branch only
* ci: Invalidate depends caches when sources have been changed
* [tests] Remove CAddrMan.Clear() call from CAddrDB::Read()
* [addrman] Don\'t call Clear() if parsing peers.dat fails
* [addrman] Move peers.dat parsing to init.cpp
* scripted-diff: replace clientInterface with m_client_interface in net
* net: use clientInterface rather than uiInterface
* test: use f-strings in mining_
*.py tests
* test: use f-strings in interface_
*.py tests
* test: use f-strings in feature_proxy.py
* test: use f-strings in feature_segwit.py
* test: use f-strings in feature_versionbits_warning.py
* test: use f-strings in feature_settings.py
* test: use f-strings in feature_pruning.py
* test: use f-strings in feature_notifications.py
* test: use f-strings in feature_minchainwork.py
* test: use f-strings in feature_logging.py
* test: use f-strings in feature_loadblock.py
* test: use f-strings in feature_help.py
* test: use f-strings in feature_filelock.py
* test: use f-strings in feature_fee_estimation.py
* test: use f-strings in feature_dersig.py
* test: use f-strings in feature_dbcrash.py
* test: use f-strings in feature_csv_activation.py
* test: use f-strings in feature_config_args.py
* test: use f-strings in feature_cltv.py
* test: use f-strings in feature_blocksdir.py
* test: use f-strings in feature_backwards_compatibility.py
* test: use f-strings in feature_asmap.py
* [MOVEONLY] [tests] Move addrman ser/deser tests to addrman_tests.cpp
* windres: use PACKAGE_VERSION rather than building more version numbers
* Start using init makeNode, makeChain, etc methods
* refactor: remove ::vpwallets and related global variables
* contrib: use hkps://keys.openpgp.org to retrieve builder keys
* refactor: replace remaining binascii method calls
* doc: Add missing PR 16333 release note
* test: check for invalid `-prune` parameters
* test: only use verbose for getrawmempool when necessary in functional tests
* test: use getmempoolentry instead of getrawmempool in functional tests when appropriate
* test: improve mempool_updatefrom efficiency by using getmempoolentry for specific txns
* ci: Reorder scripts to make git available before depends_sources_cache
* wallet: use PACKAGE_NAME instead of \"Bitcoin\" in rpcdump
* wallet: use FormatFullVersion instead of CLIENT_BUILD in rpcdump
* doc: add another signing flow for multisig with descriptor wallets and PSBTs
* doc: M-of-N multisig using descriptor wallets and PSBTs, as well as a signing flow
* test: add functional test for multisig flow with descriptor wallets and PSBTs
* [addrman] Merge the two Add() functions
* Document about wallet backup and restoration
* qt, refactor: Replace `if` check with `assert`
* qt, refactor: Drop redundant signalling in WalletView::setWalletModel
* qt, refactor: Emit WalletView::encryptionStatusChanged signal directly
* qt: Add WalletFrame::currentWalletSet signal
* builder-keys: Add dongcarl
* p2p: log addrman consistency checks
* Display peers in -netinfo that we don\'t relay addresses to
* Display peers in -netinfo that request we not relay transactions
* test: Test for ApproximateBestSubset edge case with too little fees
* wallet: Assert that enough was selected to cover the fees
* wallet: Use GetSelectionAmount for target value calculations
* builder-keys: add jamesob
* test: added test for disabled wallet
* [addrman] Make addrman consistency checks a runtime option
* clientversion: No suffix #if CLIENT_VERSION_IS_RELEASE
* qt: Add Load PSBT functionaliy with nowallet
* qt, refactor: Fix indentation
* qt: Add SubFeeFromAmount option
* Change the wallet_backup.py test to use the restorewallet RPC command instead of restoring wallets manually.
* Add a new RPC command: restorewallet
* Simplify a few conditionals in -netinfo
* Add addr_processed and addr_rate_limited stats to -netinfo
* scripts: prevent GCC optimising test symbols in test-symbol-check
* Namecoin / Qt: Decorate renewal transactions
* Namecoin: Add WalletTx::name_debit
* Namecoin: Add WalletTx::name_credit
* Specifies how to set the value of TORGROUP
* contrib: return non-zero status if getcoins.py errors
* contrib: catch bitcoin-cli RPC call errors in getcoins.py
* contrib: refactor: introduce bitcoin-cli RPC call helper in getcoins.py
* fuzz: Re-enable assert in banman again
* Update i2p.md and tor.md regarding -onlynet config option
* refactor: Reuse MakeUnorderedList where possible
* refactor: Move MakeUnorderedList into util/string.h to make it reusable
* scripted-diff: Rename JoinErrors in more general MakeUnorderedList
* fuzz: add guide to fuzzing with Eclipser v1.x
* fuzz: Avoid OOM in system fuzz target
* [test] mempool package ancestor/descendant limits
* [test] parameterizable fee for make_chain and create_child_with_parents
* [test] helper function to increase transaction weight
* extract/rename helper functions from rpc_packages.py
* [policy] ancestor/descendant limits for packages
* gui: ensure external signer option remains disabled without signers
* guix-verify: Non-zero exit code when anything fails
* release: Release with separate SHA256SUMS and sig files
* [tests] Make deterministic addrman use nKey = 1
* [addrman] Add deterministic argument to CAddrMan ctor
* Add missing const to CAddrMan::Check_()
* [mempool] check ancestor/descendant limits for packages
* [refactor] pass size/count instead of entry to CalculateAncestorsAndCheckLimits
* MOVEONLY: add helper function for calculating ancestors and checking limits
* misc package validation doc improvements
* Namecoin / Qt: Disable Renew/Configure for unspendable names
* test: Set regtest.BIP66Height = 102 to speed up tests
* doc: Add packages that provide Qt Wayland plugin for Linux
* test: Add missing include
* Add cleaner errors for unsuccessful faucet transactions
* [script] Update signet getcoins.py for custom network
* [net_processing] Provide debug error if code assumptions change.
* [docs] Add release notes for #21528
* test: refactor: remove binascii from test_framework
* p2p, rpc, test: address rate-limiting follow-ups
* fuzz: check that ser+unser produces the same AddrMan
* test: Check if specified config file cannot be opened
* util: check MoneyRange() inside ParseMoney()
* util: make ParseMoney return a std::optional
* make ParseOutputType return a std::optional
* util: Check if specified config file cannot be opened
* qt: Fix regression in \"Encrypt Wallet\" menu item
* p2p, rpc: address relay fixups
* doc: update -addrinfo in release-notes.md and tor.md
* Improve mempool_accept_wtxid.py
* doc: Correct description of CAddrMan::Create()
* doc: Update high-level addrman description
* cli: Add progress bar for -getinfo
* [GetTransaction] remove unneeded `cs_main` lock acquire
* doc: Add release notes for 22570 (ignore banlist.dat)
* consensus/params: simplify ValidDeployment check to avoid gcc warning
* fuzz: move init code to the CAddrManDeterministic constructor
* Expose ancestorsize and ancestorfees via getTransactionAncestry
* test: refactor: remove `hex_str_to_bytes` helper
* error if settings.json exists, but is unreadable
* Close minor startup race between main and scheduler threads
* [style] Small style improvements to DNS parameters
* [test] Test the delay before querying DNS seeds
* [test] Test the interactions between -forcednsseed and -dnsseed
* [init] Disallow starting up with conflicting paramters for -dnsseed and -forcednsseed
* [test] Test -forcednsseed causes querying DNS seeds
* [test] Test the interactions between -connect and -dnsseed
* [test] Test logic to query DNS seeds with block-relay-only connections
* [test] Introduce test logic to query DNS seeds
* Fix whitespace in touched files
* Remove unused CSubNet serialize code
* doc: add info to i2p.md about IBD time and multiple networks
* Ignore banlist.dat
* contrib, p2p: update I2P hardcoded seeds
* [test] Use the new endpoint to improve tests
* [RPC] Add field to getpeerinfo to indicate if addr relay is enabled
* [test] Test that we intentionally select addr relay peers.
* [net_processing] Remove RelayAddrsWithPeer function
* [net_processing] Introduce new field to indicate if addr relay is enabled
* [net_processing] Defer initializing m_addr_known
* [test] Update p2p_addr_relay test to prepare
* [net_processing] Introduce SetupAddressRelay
* test: Add temporary sanitizer suppression implicit-signed-integer-truncation:netaddress.cpp
* build: Fix macOS Apple Silicon build with miniupnpc and libnatpmp
* macdeploy: alternative info to download the macOS SDK
* Document faster throughput configuration
* guix: Ensure EPOCH_SOURCE_DATE does not include GPG information
* guix: Remove extra \\r from all.SHA256SUMS line ending
* guix, doc: Add a note that codesigners need to rebuild after tagging
* test: use MiniWallet for simple doublespend test in feature_rbf.py
* test: add addr-fetch timeout connection coverage in p2p_addrfetch.py
* test: add assert_getpeerinfo method and coverage in p2p_addrfetch.py
* test: assert logging categories are sorted in rpc and help
* test: feature_rbf.py: make MiniWallet instance available for all sub-tests
* tracing: Tracepoint for connected blocks
* tracing: Tracepoints for in- and outbound P2P msgs
* doc: document systemtap dependency
* doc: Add initial USDT documentation
* fuzz: silence a compiler warning about unused CBanEntry comparator
* build: Fix undefined reference to __mulodi4
* Fix typo in comment
* test: add type annotations to util.get_rpc_proxy
* test: use constants for CSV/CLTV activation heights in rpc_signrawtransaction
* test: introduce `generate_to_height` helper, use in rpc_signrawtransaction
* test: Disable automatic connections by default
* p2p: refactor: tidy up `PeerManagerImpl::Misbehaving(...)`
* test: check that CSV/CLTV are active in rpc_signrawtransaction
* coinstats: Add comments for new coinstatsindex values
* Index: Improve logging in coinstatsindex
* rpc: Block until synced if coinstatsindex is used in gettxoutsetinfo
* rpc: Add missing gettxoutsetinfo help docs
* cli -addrinfo: drop torv2, torv3 becomes onion per GetNetworkName()
* script, doc: guix touchups
* Updated Readme, Corrected the codesign typo
* Fix incorrect whitespace in addrman
* Add missing GUARDED_BY to CAddrMan::insecure_rand
* guix: Allow changing the base manifest in guix-verify
* guix: Make all.SHA256SUMS rather than codesigned.SHA256SUMS
* guix/build: Remove vestigial SKIPATTEST.TAG
* guix/INSTALL: Misc fixups
* log, refactor: use guard clause in LogCategoriesList()
* log: sort LogCategoriesList and LogCategoriesString alphabetically
* doc: GetTransaction()/getrawtransaction follow-ups to #22383
* test: verify number of categories returned by logging RPC
* refactor: move `GetTransaction(...)` to node/transaction.cpp
* contrib: use newer config.guess & config.sub in install_db4.sh
* depends: use latest config.guess and config.sub for sqlite
* depends: use latest config.guess and config.sub for cctools
* depends: use latest config.guess and config.sub for libevent
* test: update logging and docstring in rpc_blockchain.py
* test: replace magic values by constants in rpc_blockchain.py
* test: assert on mediantime in getblockheader and getblockchaininfo
* test: assert on the value of getblockchaininfo#time
* fuzz: Actually use const addrman
* refactor: Mark CAddrMan::GetAddr const
* refactor: Mark CAddrMan::Select const
* fuzz: Temporarily disable failing assert in banman fuzz test
* cli: Implement human readable -getinfo.
* doc: clean out release notes post branch-off
* guix: Silence getent(1) invocation
* test: check for RPC error \'Transaction already in block chain\' (-27)
* doc: Adjust commit message template for the guix.sigs repo
* [addrman] Remove unused test_before_evict argument from Good()
* build: Bump master version to 22.99.0
* [net processing] Default initialize m_recent_confirmed_transactions
* scripted-diff: Rename recentRejects
* [net processing] Default initialize recentRejects
* [net processing] Default initialize m_stale_tip_check_time
* [net processing] Add Orphanage empty consistency check
* mempool: apply rule of 5 to epochguard.h, fix compiler warnings
* [addrman] Remove RemoveInvalid()
* rpc: Return block time in getblockchaininfo
* util: improves error messages on get_previous_releases script
* fuzz: Extend addrman fuzz test with deserialize
* Replace $(AT) with .SILENCE.
* [Refactor] Rename scriptPubKey -> exec_script
* ci: Bump Android NDK to r22 which supports std::filesystem
* build: Add support for Android NDK r22+
* refactor: remove unused assumeutxo methods
* validation: add chainman ref to CChainState
* test: add logging to wallet_listtransactions
* test: remove unneeded/redundant code in wallet_listtransactions
* test: speedup wallet_listtransactions by whitelisting peers (immediate tx relay)
* test: remove unneeded initialization code in feature_rbf.py
* Move pblocktree global to BlockManager
* Move LoadBlockIndexDB to BlockManager
* fuzz: Limit max ops in tx_pool fuzz targets
* fuzz: Use ConsumeUInt256 helper to simplify rolling_bloom_filter fuzz test
* fuzz: Speed up rolling_bloom_filter fuzz test
* qt, refactor: Fix code styling of moved InitExecutor class
* qt, refactor: Move InitExecutor class into its own module
* scripted-diff: Rename BitcoinCore class to InitExecutor
* qt: Add BitcoinCore::m_thread member
* Squashed \'src/secp256k1/\' changes from efad3506a8..be8d9c262f
* fuzz: Speed up prevector fuzz target
* doc: update enum naming in developer notes
* test: fix segwit terminology (s/witness_program/witness_script/)
* wallet, rpc: add listdescriptors private option
* gui: Prompt to reset settings when settings.json cannot be read
* [validation] Always include merkle root in coinbase commitment
* [validation] Set witness script flag with p2sh for blocks
* [p2p] remove redundant NODE_WITNESS checks
* [p2p] remove unused segwitheight=-1 option
* [test] remove or move tests using `-segwitheight=-1`
* configure: keep relative paths in debug info
* test: remove confusing `MAX_BLOCK_BASE_SIZE`
* prefer to use txindex if available for GetTransaction
* system: skip trying to set the locale on NetBSD
* Change SignTransaction\'s input_errors to use bilingual_str
* Use bilingual_str for address fetching functions
* Add bilingual_str::clear()
* wallet: Properly set fInMempool in mempool notifications
* test: introduce `get_weight()` helper for CBlock
* test: introduce `get_weight()` helper for CTransaction
* torcontrol: Resolve Tor control plane address
* [crypto] Fix K1/K2 use in ChaCha20-Poly1305 AEAD
* Highlight DNS request part
* doc: Add IPv6 address to zmq example
* test: Add IPv6 test to zmq
* zmq: Enable IPv6 on listening socket
* test: Set BIP34Height = 2 for regtest
* test: Create all blocks with version 4 or higher
* test: Properly set BIP34 height in CreateNewBlock_validity unit test
* refactor: Pass script verify flags as uint32_t
* wallet test: Add test for subtract fee from recipient behavior
* wallet test refactor: add CreateSyncedWallet function
* qt: Refactor open date range to use std::optional
* Avoid wallet code writing node settings file
* Add FoundBlock.found member
* Add ipc::Context and ipc::capnp::Context structs
* gui: Unregister wallet notifications before unloading wallets
* Index: Return early from failed coinstatsindex init
* index: Use batch writing in coinstatsindex WriteBlock
* scripted-diff: Fix coinstats data member names
* doc: Drop no longer required notes for Windows builds
* build: Try posix-specific CXX first for mingw32 host
* qt, test: use regex search in apptests
* qt, test: introduce FindInConsole function
* gui: add Direction column to peers tab
* index: Avoid unnecessary type casts in coinstatsindex
* refactor: Make m_cs_fee_estimator non-recursive
* refactor: Add non-thread-safe CBlockPolicyEstimator::_removeTx helper
* Add thread safety annotations to CBlockPolicyEstimator public functions
* Generate doxygen documentation for test sources
* RPC/blockchain: getblockchaininfo: Include versionbits signalling details during LOCKED_IN
* Namecoin: clarify \"coins\" in passphrase dialog
* ci: Make Cirrus CI Windows build with --enable-werror
* Fix Windows build with --enable-werror on Ubuntu Focal
* net: do not advertise address where nobody is listening
* refactor: net: subnet lookup: use single-result LookupHost()
* doc: nChainTx needs to become a 64-bit earlier due to SegWit
* Reduced number of validations in `tx_validationcache_tests` to keep the run time reasonable.
* rpc: fix/add missing RPCExamples for \"Util\" RPCs
* Bugfix: GUI: Check validity when QValidatedLineEdit::setText is called
* Bugfix: GUI: Re-check validity after QValidatedLineEdit::setCheckValidator
* Bugfix: GUI: Only apply invalid style to QValidatedLineEdit, not its tooltip
* Sun Feb 13 2022 marecAATTdetebe.org- Update to version 22.0.0:
* Namecoin: net: Hardcoded seeds update for 23.0
* Namecoin / Qt: Fix double lock when creating a new wallet
* Namecoin: Rebrand Guix
* Some small improvements to release notes
* doc: Manual pages update for 22.0 final
* build: Bump version to 22.0 final
* doc: Move 22.0 release notes from wiki
* Namecoin: Add operator info for DNS seeds
* Namecoin: Add mainnet DNS seed from Jonas Ostman
* Stricter checks for valid UTF-8.
* test: Add functional test for name queue
* wallet: Process queue after each block
* rpc: Add dequeuetransaction RPC
* Namecoin: Add listqueuedtransactions RPC method
* Namecoin: Add queuerawtransaction RPC method
* Namecoin: Add transaction queue to wallet
* Check return value of name-hash index start.
* Strip name prefixes in descriptor wallet.
* Avoid legacy SPK for deterministic salts.
* Fix more warnings from CI.
* Use std::optional in name_update UI.
* Namecoin: Add name_update Qt GUI
* Namecoin / Qt: Fix registerName widget
* test: Add unit tests for getNameSalt
* test: Add functional test for deterministic salts
* rpc: Add deterministic salts to name_new and name_firstupdate
* Fix doc strings.
* Mark functions as override.
* Namecoin: Add name_pending Qt GUI
* Namecoin / Qt: Show expired/transferred status from name_list
* Chainstate from request for name RPCs.
* Chainstate from request context for auxpow RPCs.
* Decode auxpow parent block in RPC calls.
* Explicitly specify addresstype for wallet_send.
* Skip auxpow_mining if no wallet.
* Namecoin / Qt: Decorate name transactions
* Namecoin / Qt: Edit existing name table instead of resetting
* Namecoin: Rebrand macOS deploy readme
* Namecoin: Rebrand Gitian distname
* Namecoin / Qt: Add Renew button
* Namecoin: Fix Gitian path for depends
* Namecoin: Add Renew to Qt GUI context menu
* Fix sign-compare warning.
* Fix integer overflow in auxpow code.
* Use joinpsbts in name_ant_workflow.py.
* Make CAuxPow movable but not copyable.
* Add missing lock in auxpow_tests.
* Add EXCLUSIVE_LOCKS_REQUIRED for auxpow miner.
* Namecoin: rebrand Cirrus build directory
* Namecoin: Add Qt GUI for name_list
* rpc, test: Make name value optional in name_firstupdate and name_update
* fix illegal instruction failure in Qt on Darwin
* Instantiate Consensus::Rules on signet.
* ValidateNameDB pass interruption point as argument.
* Assert RPCArg names in name RPCs.
* Assert RPCArg names in auxpow RPCs.
* Fix RPC client for namepsbt.
* Add new testnet DNS seed
* remove midnight\'s gitian signing key from list of gitian keys
* rpc: Amend copyright notice in names.cpp
* doc: Add release notes for PR #354
* rpc: Change default value of allow_expired to false
* test: Make name tests explicitly set -allowexpired parameter
* test: Add functional test for allow_expired options and parameters
* cli: Add parameter -allowexpired for whether to allow expired names by default
* rpc: Make name_show take option for whether to error on expired names
* Add namepsbt RPC method.
* Update README.md to reflect new binary situation
* rpc: Let name_show error for expired names (disabled by default)
* Pass ChainstateManager to Namecoin code.
* Add NodeContext to WalletContext.
* Use new serialisation for names.
* Switch CAuxPow to new serialisation.
* Add changelog entry for byHash lookups.
* Regtest for name lookup by hash.
* Allow lookups of names by hash.
* Add optional index for hash->name mapping.
* Rebrand BIP-44 derivation coin type.
* Add regtest for atomic name trading.
* Minor tweaks to name_sendcoins.py.
* Remove run_name_tests.sh script.
* Fix RPC help for sendtoname.
* Fix oversights in updated name regtests.
* Remove unused stuff in test_framework/names.py.
* Speed up and simplify name_wallet.py.
* Streamline name_registration.py.
* Avoid unnecessary syncs in name_rawtx.py.
* Remove some syncs in name_list.py.
* Simplify and speed up name_reorg.py.
* Simplify and speed up name_pending.py.
* Simplify and speed up name_expiration.py.
* Update name_multiupdate.py regtest.
* Option to limit the length of pending name ops.
* Retrieve length of pending name chains.
* Allow file update in convertAddres.py.
* Check submit result in getauxblock.
* Use RPCHelpMan::Check for name RPCs.
* Use RPCHelpMan::Check for auxpow RPCs.
* Fix explicit constructor call.
* Add release notes entry about multi updates.
* Allow multiple updates of a name per block.
* Remove CNameMemPool::getTxForName.
* Link to new namecoin-core-docs repo
* Split name mempool test into subtests.
* Split out name mempool tests as well.
* Factor out name mempool to separate files.
* Small C++11 refactorings.
* Use gitian-building.md from upstream
* Disable detached sigs repo in Gitian automated script
* Rebrand Git tags in release process to Namecoin
* Check auxpow PoW before the auxpow itself.
* Create 0.19 section for Namecoin release notes.
* Mention segwit activation in release notes.
* Remove unneeded #include.
* Rebrand the man pages.
* Schedule segwit activation softfork.
* Allow createauxblock RPC with different coinbase addresses
* Add auxpow mining tests for different coinbase addresses
* Test multiple updates of a name in one block.
* Fix string conversion of block hashes.
* Get rid of CBaseMerkleTx.
* Decouple CAuxPow from CBaseMerkleTx.
* Zero CAuxPow\'s hashBlock field.
* Enabled some upstream tests that work now.
* Use nBits to get target in auxpow_invalidpow.py.
* Namecoin: Fix PYTHONPATH in convertBechAddress.sh
* Add test for valid block with invalid auxpow.
* Add auxpow to getblock help text.
* Rebrand Unix build notes for Namecoin
* Rebrand bitcoins -> coins in example config.
* Remove left over dead code.
* Use RPCResults for getauxblock.
* Use CPureBlockHeader in chain.h where possible.
* Remove \"ismine\" for RPC calls without wallet.
* Fix whitespace format.
* Updated assumed chain size values in chainparams.
* Rebrand name of regtest data directories.
* Fix typo in help text.
* Strip name prefix for IsWitnessProgram.
* Unit tests for IsWitnessProgram and IsP2WSH.
* Remove unused local variable.
* Use STR_HEX as RPCArg type.
* Use RPCHelpMan for name RPC methods.
* Use RPCHelpMan for auxpow RPCs.
* Add options argument for name_pending.
* Add options argument to name_list.
* Add options argument for name_show/history.
* Add help text for name_scan filter options.
* Make use_bitcoin_relay_fees always-on.
* Apply use_bitcoin_relay_fees for wallet tests.
* Apply use_bitcoin_relay_fees for rpc regtests.
* Apply use_bitcoin_relay_fees to p2p regtests.
* Apply use_bitcoin_relay_fees for mempool tests.
* Generic override for -minrelaytxfee in tests.
* Remove name_filter.
* Add filtering options for name_scan.
* Allow empty string with hex encoding.
* Support encoding options for name_scan.
* Add _encoding / _error fields to help text.
* Move help builder for \"options\" to rpc/names.
* Add options argument to getNameInfo.
* Allow encoding override in write RPCs.
* Separate method for decoding value from RPC.
* Namecoin: Rebrand contrib/gitian-build.py
* Disable invalid tests from feature_block.py.
* Return DoS state for missing inputs in name tx.
* Define variable for config file in regtests.
* Remove space to be consistent.
* Fix some lint scripts and warnings for auxpow.
* Remove declaration of ApplyTxInUndo.
* Use READWRITEAS for CBlockHeader.
* Add version headings to NMC release notes.
* Gitian: Add OpenPGP fingerprint for Jeremy Rand.
* Remove obsolete FIXME in name_encodings test.
* Handle names for gettxoutsetinfo.
* Use pushKV in auxpow-related RPCs.
* Use pushKV in name-related RPCs.
* Add release notes entry for encodings.
* Support -name/valueencoding for namecoin-tx.
* Handle encodings on the output side.
* Explicitly use UTF-8 for name_filter regexp check.
* Introduce EncodeNameForMessage for logs / errors.
* Move names/encoding library to common lib.
* Remove ValtypeFromString.
* Use configured encoding for \"input\" names/values.
* Add -nameencoding / -valueencoding options.
* Add new names/encoding source files.
* Expose univalue\'s UTF-8 validation logic.
* Add missing lock for mempool.cs.
* Add missing lock for Misbehaving.
* Fix overflow in auxpow computation.
* Update remaining includes from \"\" to <>.
* Update the signmessage \"magic string\".
* Add virtual d\'tor for ConsensusRules.
* Run name_multisig with and without BIP16 active.
* Expand name vs P2SH regtests.
* Reduce syncing wait time for name_multisig.
* Add missing \'override\' markers.
* New contrib script for bech32 address conversion.
* Fix missing rebranding in intro screen.
* More explicit error code for missing tx input.
* Split out test-only code from auxpow.py module.
* Use // for integer division in Python.
* Support name operations in namecoin-tx.
* Perform hashing inside buildNameNew.
* Add allowExisting option for name_new.
* Introduce generalised HelpTextBuilder.
* Update release notes with recent changes.
* Split out Namecoin-related parts of rpc/server.h.
* Clean up of ownership RPC helper methods.
* Add \'ismine\' field to other name RPCs.
* Use jsonrpclib instead of jsonrpc.
* Change name_list\'s transferred to ismine.
* Refactor ismine computation for name_pending.
* Add script for solo-mining based on getauxblock.
* Split auxpow construction logic into two.
* Adding midnightmagic to list of gitian keys for namecoin builds
* Use stripped-down CBaseMerkleTx for auxpow.
* Make CheckMerkleBranch private in CAuxPow.
* Do not inherit CMerkleTx from CAuxPow.
* Separate creation and initialisation of auxpow\'s.
* Make CAuxPow internals actually private.
* Correcting the instance where the prior opcode is a OP_NAME
*, but the referenced name is shorter than 5 bytes. As in issue#140, this converts the asm decode into interpreting the name value as an integer by accident.
* Rename \"immature new\" to \"immature inputs\" for test.
* Correctly handle unconfirmed name_new in mining.
* Move doubleHashHex before mineBlock.
* Clean smart-pointer usage for auxpow.
* Construct auxpow object before setting it.
* Nit: Add missing include for auxpow_miner.cpp.
* Deflake the recently-introduced tests for AuxpowMiner.
* Explicitly handle name outputs for listunspent.
* Make name-script-to-JSON publicly accessible.
* Move AuxpowMinerForTest into test namespace.
* Add my GPG key to the list of Gitian signing keys.
* Rebrand and update init scripts for Namecoin.
* Fix help text for name_pending.
* Add \"sendCoins\" option for name operations.
* Move getNamePrevout close to name_firstupdate.
* Add unit test for AuxpowMiner.
* Change include style from \"\" to <>.
* Encapsulate merge-mining RPC logic in AuxpowMiner.
* Add options argument to name_new.
* Replace toaddress argument with options dictionary.
* Add comment to check-rpc-mappings, clariying rpcnames.
* Refactor help-text building for name info RPCs.
* Use getNameInfo for name_pending.
* Add vout to Namecoin RPC\'s help texts.
* Add vout field to name_pending RPC call.
* Use #include <> instead of \"\".
* Change RPC category from \"namecoin\" to \"names\".
* Change validation_block_tests to use auxpow.
* Switch activation of segwit and CSV from version bits.
* Remove some whitespace
* Rebrand logo for macOS deploy.
* Re-enabled OS X builds in Release Process docs.
* Add src/rpc/names.cpp to check-rpc-mappings.py source list.
* Make modal overlay mention name lookups.
* Make modal overlay mention names (not just coins).
* Rebrand Qt modal overlay to Namecoin.
* Run generate-seeds.py against 96918f327adc09cd12082a908bee57c404f0d13b
* Fix merge conflicts in release process docs.
* Rebrand Gitian Windows descriptor to Namecoin.
* Fix rpcnestedtests after change to createrawtransaction RPC.
* GetDesirableServiceFlags: Do not desire NODE_WITNESS
* New onion address
* Update default ports in REST API documentation
* Build: macOS: Rebrand the rest of Info.plist.in
* Build: macOS: Rebrand CFBundleExecutable.
* Fix include file header guard.
* Allow name_new raw tx to generate rand automatically.
* Support name_new and name_firstupdate with namerawtransaction.
* Add release notes for Namecoin.
* Add namerawtransaction RPC command.
* Apply RPCTypeCheck for Namecoin RPC methods.
* Remove nameop support in createrawtransaction.
* Fix bool values in JSON RPC results.
* Build: macOS: Rebrand filenames (part 2).
* Build: macOS: Rebrand filenames.
* Rebrand contrib/seeds/README.md to Namecoin.
* added markasoftware.com dns seed
* removed non-functional DNS seeds
* Add more testing for mempool cleanup.
* Update seed nodes based on Peter Conrad\'s DNS seed. Peter\'s DNS seed didn\'t list any .onion nodes, so I\'ve manually edited nodes_main.txt to include both of the .onion nodes that we already had.
* Replace wiki reference with main site in doc/README.md
* Merge auxpow Python tests to share code.
* Clean up auxpow mining code.
* [test] Add new RPC: createauxblock and submitauxblock
* rename functions and fix rpc help info
* add aux mining rpc commands: “createauxblock” and “submitauxblock”
* Use pushKV instead of push_back(Pair()).
* Fix NameConflict signature in validationinterface.
* Add assert about initialisation of pblock.
* Rename Bitcoin to Namecoin in Travis-CI.
* Replaced Bitcoin trusted-keys with Namecoin.
* Fix Makefile.am\'s txcreatesign and blanktx dependencies.
* Rename Bitcoin to Namecoin in OS X build docs.
* Renamed from bitcoin to namecoin
* Replace bitcoin -> namecoin in Makefile.
* Set activation height of BIP65.
* Change explicit try-except to assert_raises_jsonrpc.
* Use assert_raises_jsonrpc in getauxblock.py.
* Remove duplicate variable definition.
* Remove domob.eu DNS seed.
* Add argument names for name RPC functions.
* Re-enable getblocktemplate for Namecoin.
* Introduce an earlier check for invalid Namecoin tx.
* Fix name_update for the case of very low wallet balance.
* Rebrand NSIS images
* Fix paths in release process.
* Fix hasNewHeaders check.
* Contrib script for converting BTC->NMC addresses.
* Amend URL strings for \"About Namecoin Core\" pop-up.
* Use GetBaseVersion() in new pre-BIP9 checks.
* Fix some rebranding issues.
* Make use of std::unique_ptr for getauxblock.
* Fix bitcoin-util-test for latest updates.
* Disable p2p-fullblocktest for now.
* Add note to release process docs that OS X outputs aren\'t created yet.
* Add note to release process docs about merged pull list tooling not existing in Namecoin yet.
* Fix release process docs branding regressions from 88b41237b2fc5b9146715525287a7cfe8a0fa5bd .
* Renamed bitcoin to namecoin in Windows Gitian descriptor.
* Renamed \"Bitcoin\" to \"Namecoin\" in the NSIS script.
* Switch from auto_ptr to unique_ptr.
* Rebrand bitcoin -> namecoin in src/test/Makefile.
* Disable bip68-112-113-p2p.py for now.
* Add missing header file
* Fix sending of name transactions.
* Add NMC note on detatched sigs in build docs
* Rebrand gitian-building.md
* Release process docs: temporarily mark the binary upload process at the end as disabled.
* Release process docs: temporarily mark committing Gitian sigs of signed OS X / Windows binaries as disabled.
* Release process docs: temporarily mark Windows signing as disabled.
* Release process docs: temporarily mark OS X signing as disabled.
* Release process docs: temporarily marked OS X as disabled.
* Release process docs: temporarily mark detached sigs as disabled.
* Release process docs: temporarily mark \"Update bips\" as disabled.
* Release process docs: temporarily mark \"Update translations\" as disabled.
* Release process docs: replace \"bitcoin\" with \"namecoin\" or \"namecoin-core\" in most places.
* Release process doc: change \"v\" tag prefix to \"nc\".
* Allow locktime in createrawtransaction without nameop.
* Disable BIP9 versionbits warning test.
* Make generate and setgenerate merge-mine blocks.
* Disable getblocktemplate.
* Transform block nVersion back to ordinary variable.
* Fix linker error between pureheader.cpp and chainparams.cpp.
* Fix build issue with --disable-wallet.
* Rename Bitcoin to Namecoin
* update icon
* Fix rejection of invalid name_firstupdate\'s from mempool.
* Add some fixed seed nodes.
* Rename \"namecore\" to \"namecoin-core\" in Linux Gitian descriptor remote URL, because the repo was renamed a while back.
* Update README.md
* Update Readme to be about Namecoin
* Update README.md
* Change protocol version to add size-based \"headers\" limit.
* Fix namecoin-tx test calls.
* Fix typo in DNS seed.
* Add my own DNS seed.
* Replace \"bitcoinconsensus\" with \"namecoinconsensus\" in all code
* git mv libbitcoinconsensus.pc.in libnamecoinconsensus.pc.in
* git mv bitcoinconsensus.
* namecoinconsensus.
* So that we can coexist nicely with Bitcoin.
* Enable #namecoin-dev notification on travis-ci build failure
* Do not enforce IsInitialBlockDownload() check for testnet.
* Fix chainmerklebranch field after UniValue change.
* Add name_pending RPC command.
* Clarify auxpow computations wrt system compatibility.
* Correctly handle the \"dummy view\" for names in AcceptToMemoryPool.
* Use LogPrint(\"name\") instead of LogPrintf for update messages.
* Fix crash with empty keypool for getauxblock.
* Windows Autostart to Namecoin Collides with Bitcoin
* Revert change of Bitcoin to Namecoin.
* Trivial whitespace \"fix\" to make the formatting consistent.
* Assert empty bug list for testnet/regtest mode.
* .rc files: \"Namecoin Core\" instead of \"Namecore\"
* .rc files: Proper task names At least on windows these are displayed in the task manager. I left Namecore as product name as is the case in the Qt .rc file.
* guiconstants.h: Fix datadirpath / registry issue On Windows Namecore modifies the Bitcoin registry entry making Bitcoin disfunctional.
* Remove bip34 monitor contrib script.
* Replace bitcoin/btc with namecoin/nmc.
* Implement sendtoname RPC command.
* Clean up code, fix iterator syntax.
* add webbtc.com dnsseeds for main- and testnet
* Fix Qt tests and namecoin: URIs.
* black text
* Rebrand Namecoin Core client
* Document /rest/name REST interface.
* Move getauxblock from \"extended\" tests to \"ordinary\" ones.
* Refactor name RPC tests for test_framework change.
* Move name DB code to txdb.cpp.
* Add seek method to CNameIterator.
* Use real DB coins view in iteration test.
* Implement name iteration also in the cache.
* Replace some BITCOIND\'s by NAMECOIND in pull tester.
* Update mininode for auxpow.
* Get rid of getExtraArgs in tests.
* Replace WalkNames by name iterator.
* Introduce constants for name DB keys.
* Change default regtest port to 18445.
* Update getauxblock.py for new \'generate\' RPC call.
* Check in script to analyse the auxpow sizes in the blockchain.
* Add new DNS seed \"digi-masters.uk\".
* Increase maximum message size to fix headers.
* Move name expiration and minimum locked amount to consensus params.
* Move auxpow-related parameters to Consensus::Params.
* Add new DNS seed by digi-masters.com.
* Split wallet-related code off rpcnames.cpp.
* Fail reading name DB while in initial download.
* Fix name code for endianness patch.
* Turn auxpow test into FIXTURE test.
* Add \'auxpow\' to block JSON.
* Check in script to monitor BIP34 status.
* Renamed bitcoin to namecoin in the Gitian Linux descriptor.
* Update bipdersig test to Namecoin changes.
* Add explicit locks to name RPC calls.
* Add quisquis.de DNS seed.
* Fix rebase after changes to Makefile.am.
* Add script/names.cpp also to libbitcoinconsensus.
* Update .gitignore file accordingly.
* Rename bitcoin-qt to namecoin-qt in build system.
* Update bitcoin-util-test data to match Namecoin.
* Add name tests to pull tester scripts.
* Add missing lock to name_tests.
* Remove \'LenientVersionCheck\'.
* Add fee to name_multisig test.
* Fix rebase after uint256 upstream changes.
* Add mempool-flags for new extra checks introduced.
* Set P2SH address prefix for namecoin.
* Add regtest for name multisig.
* Recognise name prefixes in \'IsPayToScriptHash\'.
* Disallow \"greedy names\" at the 212,500 softfork.
* Enable strict tx version checks at softfork height 212,500.
* Split names code into common/server parts.
* Expire names one block earlier from UTXO set.
* Fix rebase, remove nHeight from CheckInputs.
* Fix test framework after rebase.
* Fix stated default values for ports in the help text.
* Implement REST API for names (/rest/name/).
* Fix primitives/ include paths.
* Increase default relay fee to 0.001 NMC.
* Mention changes to merge-mining RPC calls in Changes file.
* Update TODO.
* Enforce that auxpow parent blocks have no auxpow block version.
* Limit blocks by BDB locks required.
* Harmonise .gitignore with Bitcoin\'s.
* Fix help string and remove done TODO.
* Fix rebase.
* Update private key base58 version.
* Handle old encrypted privkeys.
* Disable strict BIP16 checks for now.
* Prevent \"name_new stealing\" with a mempool rule.
* Remove TODO entry that has been done (on auxpow patch).
* Enable testnet configuration.
* Document historic bugs.
* Fully update mainnet checkpoints.
* Work around historic bugs.
* Check in TODO list.
* Use Namecoin\'s modified difficulty retargeting.
* Make Namecoin tx \"standard\" and disable BIP30 checks.
* Fix other RPC tests for -namehistory.
* Reject \"greedy\" names from mempool.
* Implement name_history.
* Fix for GetRandBytes change.
* Implement name_filter.
* Implement name_scan.
* Fail gracefully when attempting to name_update a pending name.
* Clean the mempool for expiring/unexpired names.
* Add unit test for ExpireNames and UnexpireNames.
* Fix serialisation of ExpireEntry.
* Remove expired names from the UTXO set.
* Add file with important changes vs namecoin 0.3.
* Add GetNamesForHeight and -checknamedb parameter.
* Keep an index of name heights -> names.
* Add vout to CNameData.
* Handle name outputs properly in the wallet.
* Implement name ops for createrawtransaction.
* Update after rebase with coins.h splitting.
* Implement name mempool, remove conflicting registrations.
* Update for rebase.
* Add test for reorg / undoing of name operations.
* Allow to specify what to sync in sync_all (blocks / mempool).
* Switch name RPC tests to updated test framework.
* Add RPC test for rawtx decoding.
* Add RPC regtest for name_list.
* Implement name_list.
* Add RPC testing for basic name registration.
* Implement name_update.
* Add txid to name database.
* Implement name_firstupdate.
* Enable name script decoding for ScriptPubKeyToJSON.
* Add check for maximal name length to name_new.
* Implement name_new.
* Update regtest framework.
* Add name_show RPC call.
* Unit tests for name updates and name undo data.
* Implement undo support for name operations.
* Record name updates in the chain state.
* Write unit tests for CheckNameTransaction.
* Implement checking of name transactions.
* Implement name database into CCoinsView.
* Implement basic tests for name scripts.
* Disable some failing tests.
* Strip name prefixes in Solver.
* Set Namecoin\'s chain parameters.
* Rename bitcoin to namecoin for CLI programs.
* Update flags for getauxblock RPC call.
* Add locking to getauxblock.
* Fix rebase with BIP66.
* Disable comparison tool in Travis CI.
* Add getauxblock.py to pull tester scripts.
* Add missing lock in auxpow_tests.
* Move CMerkleTx code to auxpow.cpp.
* Differentiate between uint256 and arith_uint256.
* Fix REST header check for auxpow headers.
* Correctly set the coinbase for getauxblock results.
* Implement getauxblock plus regression test.
* Introduce CPureBlockHeader.
* Add check for memory-layout of CBlockVersion.
* Weaken auxpow chain ID checks for the testnet.
* Fix after rebase.
* Add unit tests for auxpow verification.
* Accept auxpow as PoW verification.
* Abstract the block version.
* Thu Sep 16 2021 marecAATTdetebe.org- Update to version 22.0.0:
* Some small improvements to release notes
* doc: Manual pages update for 22.0 final
* build: Bump version to 22.0 final
* doc: Move 22.0 release notes from wiki
* guix/prelude: Override VERSION with FORCE_VERSION
* doc: mention bech32m/BIP350 in doc/descriptors.md
* doc: Manual pages update for rc3
* doc: Stop nixing `-` in manual pages
* Improve doc/i2p.md regarding I2P router options/versions
* build: Bump version to 22.0rc3
* Fix build with Boost 1.77.0
* qt: Handle new added plurals in bitcoin_en.ts
* qt: Pre-rc3 translations update
* doc: Mention the flat directory structure for uploads
* guix: Don\'t include directory name in SHA256SUMS
* test: fix bug in 22686
* clientversion: No suffix #if CLIENT_VERSION_IS_RELEASE
* test: Test for ApproximateBestSubset edge case with too little fees
* wallet: Assert that enough was selected to cover the fees
* wallet: Use GetSelectionAmount for target value calculations
* release: Release with separate SHA256SUMS and sig files
* guix-verify: Non-zero exit code when anything fails
* gui: ensure external signer option remains disabled without signers
* qt: Fix regression in \"Encrypt Wallet\" menu item
* consensus/params: simplify ValidDeployment check to avoid gcc warning
* ci: Run fuzzer task for the master branch only
* doc: Manual pages update for 22.0rc2
* build: Bump RC to rc2
* doc: add info to i2p.md about IBD time and multiple networks
* contrib, p2p: update I2P hardcoded seeds
* qt: Pre-rc2 translations update
* guix: Ensure EPOCH_SOURCE_DATE does not include GPG information
* guix: Remove extra \\r from all.SHA256SUMS line ending
* guix, doc: Add a note that codesigners need to rebuild after tagging
* guix: Allow changing the base manifest in guix-verify
* guix: Make all.SHA256SUMS rather than codesigned.SHA256SUMS
* script, doc: guix touchups
* Updated Readme, Corrected the codesign typo
* guix/build: Remove vestigial SKIPATTEST.TAG
* guix/INSTALL: Misc fixups
* guix: Silence getent(1) invocation
* qt: Pre-rc2 translations update
* build: Bump version to 22.0.0rc1
* doc/release-process: Add torrent creation details
* guix/INSTALL: Guix installs init scripts in libdir
* guix/INSTALL: Add coreutils/inotify-dir-recreate troubleshooting
* guix: Adapt release-process.md to new Guix process
* guix-attest: Produce and sign normalized documents
* guix: Overhaul README
* scripted-diff: Revert \"fuzz: Add Temporary debug assert for oss-fuzz issue\"
* tests: Test for dumpwallet lock order issue
* Reorder dumpwallet so that cs_main functions go first
* Update assumed chain params
* scripted-diff: remove ResetI2PPorts() (revert e0a2b390c14)
* Test that descriptor wallet upgrade does nothing
* guix: Bump to version-1.3.0 from upstream
* guix: Pin kernel header version
* Make IsSegWitOutput return true for taproot outputs
* Improve tests using statistics
* bench: fix 32-bit narrowing warning in bench/peer_eviction.cpp
* Add logging and addr rate limiting statistics
* Functional tests for addr rate limiting
* Randomize the order of addr processing
* Rate limit the processing of incoming addr messages
* Change ScriptPubKeyMan::Upgrade to default to return true
* addrman: detect on-disk corrupted nNew and nTried during unserialization
* test: move rpc_rawtransaction tests to < 30s group
* test: whitelist rpc_rawtransaction peers to speed up tests
* test: Fix wallet_listdescriptors.py if bdb is not compiled
* Move implementations of non-template fuzz helpers
* refactor: move UpdateTip into CChainState
* refactor: no mempool arg to GetCoinsCacheSizeState
* refactor: move UpdateMempoolForReorg into CChainState
* validation: make CChainState::m_mempool optional
* build: use aarch64 Clang if cross-compiling for darwin on aarch64
* init: remove straggling boost thread_group code
* fix incorrect testmempoolaccept doc
* test: Add functional test for AddrFetch connections
* net, rpc: Enable AddrFetch connections for functional testing
* [style] Clean up BroadcastTransaction()
* [test] Allow rebroadcast for same-txid-different-wtxid transactions
* [mempool] Allow rebroadcast for same-txid-different-wtxid transactions
* [test] Test transactions are not re-added to unbroadcast set
* [mempool] Only add a transaction to the unbroadcast set when it\'s added to the mempool
* doc: mention that we enforce port=0 in I2P
* addrman: reset I2P ports to 0 when loading from disk
* test: ensure I2P ports are handled as expected
* net: do not connect to I2P hosts on port!=0
* net: distinguish default port per network
* net: change I2P seeds\' ports to 0
* net: change assumed I2P port to 0
* Namecoin: Add operator info for DNS seeds
* Namecoin: Add mainnet DNS seed from Jonas Ostman
* tree-wide: Rename gitian-keys to builder-keys
* guix: Update various check_tools lists
* guix: Check for a sane services database
* p2p: earlier continuation when no remaining eviction candidates
* p2p: process more candidates per protection iteration
* p2p: iterate eviction protection only on networks having candidates
* bench: add peer eviction protection benchmarks
* [test] submit same txid different wtxid as mempool tx
* [validation] distinguish same txid different wtxid in mempool
* net: don\'t bind on 0.0.0.0 if binds are restricted to Tor
* guix: Test security-check sanity before performing them
* scripts: adjust test-symbol-check for guix release environment
* scripts: more robustly test macOS symbol checks
* build: Use and test PE binutils with --reloc-section
* guix: Patch binutils to add security-related disable flags
* devtools: Improve
*-check.py tool detection
* ci: skip running the Linux test-security-check target for now
* lint: Run mypy with --show-error-codes
* Avoid GCC 7.1 ABI change warning in guix build
* refactor: move GetRandomNodeEvictionCandidates() to test utilities
* doc: added info to bitcoin.conf doc
* script: remove gitian reference from symbol-check.py
* guix: add additional documentation to patches
* lint: exclude Guix patches from spell-checking
* guix: no-longer pass --enable-glibc-back-compat to Guix
* build: remove glibc backcompat requirement for Linux symbol checks
* test: add `bad-txns-prevout-null` test to mempool_accept.py
* test: add `bad-txns-prevout-null` test case to invalid_txs.py
* test: use script_util helpers for creating P2W{PKH,SH} scripts
* test: use script_util helpers for creating P2SH scripts
* build: remove --enable-determinism configure option
* doc: Install Rosetta on M1-macOS for qt in depends
* build: Add -Werror=implicit-fallthrough compile flag
* Use C++17 [[fallthrough]] attribute, and drop -Wno-implicit-fallthrough
* fuzz: Move CTxDestination fuzzing to script fuzz target
* fuzz: Simplify CTxDestination fuzzing in the script target
* fuzz: Improve ConsumeTxDestination
* fuzz: Move ConsumeTxDestination to cpp file
* doc: Remove unnecessary steps from translations update process
* doc: Add steps for transifex to release process
* guix: Also sort SHA256SUMS.part
* Stricter checks for valid UTF-8.
* ci: use Ubuntu 20.04 as the default Docker container
* guix: Build depends/qt with our platform definition
* guix: Rebase toolchain on glibc 2.24 (2.27 for riscv64)
* Use DeploymentEnabled to hide VB deployments
* doc: Move buried deployment doc to the enum that enumerates them
* Translations update
* build: Fix Boost Process compatibility with mingw-w64 compiler
* wallet: erase spkmans rather than setting to nullptr
* test: Add test for replacement relay fee check
* qt: allow prompt icon to be colorized
* Do not clone qa-assets git repository if not necessary
* refactor: remove m_internal from DescriptorSPKman
* tests: remove ComputeBlockVersion shortcut from versionbits tests
* [refactor] Move ComputeBlockVersion into VersionBitsCache
* [move-only] Move ComputeBlockVersion from validation to versionbits
* [refactor] versionbits: make VersionBitsCache a full class
* [refactor] rpc/blockchain.cpp: SoftForkPushBack
* deploymentinfo: Add DeploymentName()
* [move-only] Rename versionbitsinfo to deploymentinfo
* scripted-diff: rename versionbitscache
* [refactor] Add versionbits deployments to deploymentstatus.h
* [refactor] Add deploymentstatus.h
* versionbits: Use dedicated lock instead of cs_main
* versionbits: correct doxygen comments
* wallet: do not spam about non-existent spk managers
* wallet: deactivate descriptor
* test: wallet importdescriptors update existing
* wallet: maintain SPK consistency on internal flag change
* wallet: don\'t mute exceptions in importdescriptors
* wallet: allow to import same descriptor twice
* test: use script_util helpers for creating P2PKH scripts
* test: wallet util: fix multisig P2SH-P2WSH script creation
* qt: Emit dataChanged signal to dynamically re-sort Peers table
* refactor: Make httpserver work queue a unique_ptr
* doc: Remove unused section from release process
* qt: Draw \"eye\" sign at the beginning of watch-only addresses
* qt: Do not extend recent transaction width to address/label string
* Remove unused wallet pointer from NotifyAddressBookChanged
* Remove unused wallet pointer from NotifyTransactionChanged signal
* ci: Upgrading pip version in macos environment
* doc: Document minimum required libc++ version
* doc: doc/README.md IRC updates
* Avoid the use of P0083R3 std::set::merge
* Mark print-% target as phony.
* wallet, rpc: listdescriptors does not need unlocked
* Pass in DescriptorCache to ToNormalizedString
* Change DescriptorImpl::ToStringHelper to use an enum
* Remove priv option for ToNormalizedString
* wallet: Upgrade existing descriptor caches
* wallet: Store last hardened xpub cache
* descriptors: Cache last hardened xpub
* Move DescriptorCache writing to WalletBatch
* Refactor Cache merging and writing
* Revert \"Cache parent xpub inside of BIP32PubkeyProvider\"
* fuzz: Check banman roundtrip
* doc: recommend `--disable-external-signer` in OpenBSD build guide
* doc: update doc/benchmarking.md
* bench: bench_bitcoin.cpp help fixups
* bench: bench.h fixes and improvements
* cli: Avoid truncating -rpcwaittimeout
* script, doc: spelling update
* doc: sort entries in doc/README.md#Miscellaneous alphabetically
* doc: add basic I2P documentation
* build: remove check for Boost Process header
* build: remove workaround for Boost and std::atomic
* build: set minimum required Boost to 1.64.0
* wallet: Add error message to GetReservedDestination
* Disallow bech32m addresses for legacy wallet things
* Use BECH32M for tr() desc, WitV1Taproot, and WitUnknown CTxDests
* Opportunistically use bech32m change addresses if available
* Add OutputType::BECH32M
* Limit LegacyScriptPubKeyMan address types
* GUI: Always call parent changeEvent handler
* GUI: Enable palette change adaptation on all platforms
* test: Add missing sync_all to feature_coinstatsindex
* test: Add missing syncwithvalidationinterfacequeue
* test: Misc cleanup
* test: Run pep-8
* scripted-diff: Renames
* add missing atomic include
* Revert \"test: Add temporary logging to debug #20975\"
* wallet: Add missing BlockUntilSyncedToCurrentChain
* [test] Prevent intermittent issue
* [test] Remove GetAddrStore class
* [test] Update GetAddrStore callers to use AddrReceiver
* [test] Add functionality to AddrReceiver
* [test] Allow AddrReceiver to be used more generally
* add dummy file param to fix jupyter
* doc: Final merge of release notes snippets
* style: remove () from assert in rpc_setban.py
* doc: fix grammar in doc/files.md
* test: ensure banlist can be read from disk after restart
* banman: save the banlist in a JSON format on disk
* test: doc: improve doc for `from_hex` helper (mention `to_hex` alternative)
* scripted-diff: test: rename `FromHex` to `from_hex`
* test: remove `ToHex` helper, use .serialize().hex() instead
* test: introduce `tx_from_hex` helper for tx deserialization
* fuzz: add missing ECCVerifyHandle to base_encode_decode
* Taproot descriptor inference
* Report address as solvable based on inferred descriptor
* consensus refactor: extract ComputeTapleafHash, ComputeTaprootMerkleRoot
* doc: add comment about CCoinsViewDBCursor constructor
* move-only(ish): don\'t expose CCoinsViewDBCursor
* refactor: Pass grind args vector as const reference
* Remove gArgs from AppInitUtil
* Remove unused OptionsCategory arg from AddCommand
* Remove unused includes from bitcoin-util
* test: Add bitcoin-util tests
* build_msvc: Add bitcoin-util.exe
* devtools: Integrate ARCH_MIN_GLIBC_VER table into MAX_VERSIONS in symbol-check.py
* p2p: Add timeout for AddrFetch peers
* fuzz: Assert roundtrip equality for `CPubKey`
* refactor: wrap CCoinsViewCursor in unique_ptr
* fuzz: Add Temporary debug assert for oss-fuzz issue
* fuzz: Speed up crypto fuzz target
* Added new test for future blocks reacceptance
* Fixed inconsistencies between code and comments
* build: Disable deprecated-copy warning only when external warnings are enabled
* gui: misc external signer fixes and translation hints
* refactor: make ExternalSigner NetworkArg() and m_chain private
* refactor: reduce #ifdef ENABLE_EXTERNAL_SIGNER usage
* build: enable external signer by default
* refactor: clean up external_signer.h includes
* fuzz: fix fuzz binary linking order
* build: improve detection of eBPF support
* build, qt: Do not install
*.prl files
* test: check rejected future block later accepted
* build, qt: Fix wrong cross-compiling detection on macOS
* build, qt: Force bootstrap while building linguist tools
* build, qt: Drop translations.pro hack
* build, qt: Drop lrelease dependency patch
* build, qt: Add linguist_tools list
* build: Use Qt top-level build facilities
* test: kill process group to avoid dangling processes
* guix-attest: Error out if SHA256SUMS is unexpected
* Switch Appveyor CI to VS2019 stable image
* devtools: Add xkb version to symbol-check
* devtools: Fix verneed section parsing in pixie
* refactor: Make CAddrMan::cs non-recursive
* Add AssertLockHeld to CAddrMan private functions
* Add thread safety annotations to CAddrMan public functions
* refactor: Avoid recursive locking in CAddrMan::Clear
* refactor: Apply consistent pattern for CAddrMan::Check usage
* refactor: Avoid recursive locking in CAddrMan::Check
* refactor: Fix CAddrMan::Check style
* Make CAddrMan::Check private
* refactor: Avoid recursive locking in CAddrMan::size
* test: Drop excessive locking in CAddrManTest::SimConnFail
* test: add combined I2P/onion/localhost eviction protection tests
* test: add tests for inbound eviction protection of I2P peers
* p2p: extend inbound eviction protection by network to I2P peers
* test: add combined onion/localhost eviction protection coverage
* p2p: remove unused m_is_onion member from NodeEvictionCandidate struct
* p2p: remove unused CompareLocalHostTimeConnected()
* p2p: remove unused CompareOnionTimeConnected()
* p2p: update ProtectEvictionCandidatesByRatio() doxygen docs
* p2p: make ProtectEvictionCandidatesByRatio() fully ratio-based
* Bugfix: GUI: Use a different shortcut for \"1 d&ay\" banning, due to conflict with \"&Disconnect\"
* test: remove combined onion/localhost eviction protection tests
* p2p: add CompareNodeNetworkTime() comparator struct
* p2p: add m_network to NodeEvictionCandidate struct
* p2p, refactor: rename vEvictionCandidates to eviction_candidates
* p2p, refactor: improve constness in ProtectEvictionCandidatesByRatio()
* test: add ALL_NETWORKS to test utilities
* test: speed up and simplify peer_eviction_test
* fuzz: Call const member functions in addrman fuzz test only once
* refactor: Remove chainparams arg from CChainState member functions
* refactor: Remove ::Params() global from inside CChainState member functions
* GUI: Add keyboard shortcuts for other context menus
* GUI: Restore keyboard shortcuts for context menu entries
* Add support for SIGHASH_DEFAULT in RPCs, and make it default
* tests: check spending of P2TR
* Basic Taproot signing logic in script/sign.cpp
* Make GetInputUTXO safer: verify non-witness UTXO match
* Construct and use PrecomputedTransactionData in PSBT signing
* Construct and use PrecomputedTransactionData in SignTransaction
* Don\'t nuke witness data when signing fails
* Permit full precomputation in PrecomputedTransactionData
* Add precomputed txdata support to MutableTransactionSignatureCreator
* Add CKey::SignSchnorr function for BIP 340/341 signing
* Use HandleMissingData also in CheckSchnorrSignature
* Add TaprootSpendData data structure, equivalent to script map for P2[W]SH
* build: Fix MSVC linker /SubSystem option for bitcoin-qt.exe
* doc: update release notes with removal of tor v2 support
* Fix gui segfault caused by bitcoin/bitcoin#22216
* test: ensure I2P addresses are relayed
* test: make CAddress in functional tests comparable
* test: implement ser/unser of I2P addresses in functional tests
* Update msvc and appveyor builds to use Qt5.12.11 binaries.
* test: use NODE_
* constants instead of magic numbers
* p2p, refactor: rm redundant erase_size calculation in SelectNodeToEvict()
* refactor: Pass block reference instead of pointer to PeerManagerImpl::BlockRequested
* Allow tr() import only when Taproot is active
* validation: Farewell, global Chainstate!
* qt/test: Reset chainman in ~ChainstateManager instead
* scripted-diff: tree-wide: Remove all review-only assertions
* tree-wide: Remove stray review-only assertion
* qt/test: Use existing chainman in ::TestGUI (can be scripted-diff)
* scripted-diff: wallet/test: Use existing chainman
* fuzz: Initialize a TestingSetup for test_one_input
* scripted-diff: test: Use existing chainman in unit tests
* test: Pass in CoinsTip to ValidateCheckInputsForAllFlags
* test/miner_tests: Pass in chain tip to CreateBlockIndex
* test/util: Use existing chainman in ::PrepareBlock
* init: Use existing chainman
* Rearrange fillPSBT arguments
* Make SetupServerArgs callable without NodeContext
* tests: Add test for compact block HB selection
* net: relay I2P addresses even if not reachable (by us)
* test: Run pep-8 on touched test
* test: Use MiniWallet in test_no_inherited_signaling RBF test
* test: Remove unused generate() from test
* test: Add txin.sequence option to MiniWallet
* Update REVIEWERS: I\'ve found that I keep track of PRs in need of review without the need for DrahtBot\'s automated notification :)
* scripts: check macOS SDK version is set
* scripts: check minimum required Windows version is set
* scripts: check minimum required macOS vesion is set
* scripts: LIEF 0.11.5
* doc: remove obsolete `okSafeMode` RPC guideline from developer notes
* Reject invalid coin height and output index when loading assumeutxo
* test: Use ConnmanTestMsg from test lib in denialofservice_tests
* test: Add temporary coinstats suppressions
* test: Correct outstanding -Werror=sign-compare errors
* Rewrite guix-{attest,verify} for new hier
* Make SHA256SUMS fragment right after build
* zmq: use msg: prefix over errno= in zmqError
* zmq: use std::string in zmqError()
* macdeploy: cleanup .temp.dmg if present
* macdeploy: remove qt4 related code
* macdeploy: select the plugins we need, rather than excluding those we don\'t
* macdeploy: fix framework printing when passing -verbose
* macdeploy: remove unused plistlib import
* Use latest signapple commit
* test: MiniWallet: fix fee calculation for P2PK and check tx vsize
* test: MiniWallet: force P2PK signature to have fixed size (71 bytes)
* Add sync_blocks in wallet_orphanedreward.py.
* build, qt: Fix compiling qt package in depends with GCC 11
* test: doc: improve doc for chain_transaction() helper
* test: refactor: dedup utility function chain_transaction()
* Remove `Warning:`
* qt: Handle peer addition/removal in a right way
* addrman: remove invalid addresses when unserializing
* fuzz: Increase branch coverage of the float fuzz target
* fuzz: Remove confusing return keyword from CallOneOf
* build, qt: Fix libraries linking order for Linux hosts
* Do not load external signers wallets when unsupported
* doc: update tor.md with removal of tor v2 support
* p2p, rpc, fuzz: various tiny follow-ups
* qt: Connect WalletView signal to BitcoinGUI slot directly
* qt: Drop redundant OverviewPage::handleOutOfSyncWarningClicks slot
* qt: Drop redundant WalletView::requestedSyncWarningInfo slot
* qt: Save/restore column sizes of the tables in the Peers tab
* test: Fix p2p_leak.py intermittent failure by lowering timeout
* fuzz: reduce possible networks check
* net: simplify CNetAddr::IsRoutable()
* test: Remove unused node from feature_nulldummy
* test: Add temporary logging to debug #20975
* util: Properly handle -noincludeconf on command line
* Protect last outbound HB compact block peer
* [doc] explain why CheckBlock() is called before AcceptBlock()
* scripted-diff: rename MarkBlockAs functions
* [net processing] Tidy up MarkBlockAsReceived()
* [net processing] Add IsBlockRequested() function
* rpc: Add test for -rpcwaittimeout
* test: convert docs into type annotations in test_framework/test_node.py
* test: convert docs into type annotations in test_framework/wallet.py
* test: convert docs into type annotations in test_framework/util.py
* contrib: remove torv2 seed nodes
* contrib: update generate-seeds.py to ignore torv2 addresses
* [net processing] Remove QueuedBlock.hash
* script: fix spelling linter raising spuriously on \"invokable\"
* doc: Various validation doc fixups
* scripted-diff: rename nPeersWithValidatedDownloads
* [net processing] Remove CNodeState.nBlocksInFlightValidHeaders
* [net processing] Remove QueuedBlock.fValidatedHeaders
* [net processing] Remove unnecessary hash arg from MarkBlockAsInFlight()
* p2p, refactor: extract OnionToString() from CNetAddr::ToStringIp()
* p2p: remove torv2 from CNetAddr::ToStringIP()
* p2p: remove torv2 in SetIP() and ADDR_TORV2_SIZE constant
* p2p: remove pre-addrv2 onions from SerializeV1Array()
* p2p: ignore torv2-in-ipv6 addresses in SetLegacyIPv6()
* p2p: remove BIP155Network::TORV2 from GetBIP155Network()
* rpc: Prefix rpcwaittimeout error with details on its nature
* doc: Add release notes for the `-rpcwaittimeout` cli parameter
* rpc: Add a `-rpcwaittimeout` parameter to limit time spent waiting
* build, qt: Make QWindowsVistaStylePlugin available again (regression)
* Randomize message processing peer order
* CRegTestParams: Use `args` instead of `gArgs`.
* MOVEONLY: context-free package policies
* Testcase for wallet issue with orphaned rewards.
* depends: Fix qt.mk for mac arm64
* disallow_mempool_conflicts -> allow_bip125_replacement and check earlier
* [refactor] comment/naming improvements
* [rpc] reserve space in txns
* [package] static_assert max package size >= max tx size
* ci: Bump macOS image to big-sur-xcode-12.5
* Fix issues when `walletdir` is root directory
* qt: Translations update
* test: remove sanitizer suppression for nanobench
* test: update nanobench from release 4.0.0 to 4.3.4
* qt, rpc: Do not accept command while executing another one
* qt, rpc: Accept stop RPC even another command is executing
* qt, rpc, refactor: Return early in RPCConsole::on_lineEdit_returnPressed
* qt, rpc: Add \"Executing…\" message
* test: feature_cltv.py: don\'t return tx copies in modification functions
* test: drop unused node parameters in feature_cltv.py
* test: fix typo in feature_cltv.py (s/ctlv/cltv/)
* test: run mempool_reorg.py even with wallet disabled
* doc: Fix external links (IRC, ...)
* refactor: Switch serialize to uint8_t (1/n)
* scripted-diff: rename GetSystemTimeInSeconds to GetTimeSeconds
* net: cleanup newly added PeerManagerImpl::ProcessNewBlock
* validation: change ProcessNewBlock() to take a CBlock reference
* Use COINBASE_MATURITY constant in functional tests.
* test: Fix IPv6 check on BSD systems
* scripted-diff: Rename SelectCoinsMinConf to AttemptSelection
* Move vin filling to before final fee setting
* Set m_subtract_fee_outputs during recipients vector loop
* Move variable initializations to where they are used
* Move recipients vector checks to beginning of CreateTransaction
* Rename nSubtractFeeFromAmount in CreateTransaction
* Rename nValue and nValueToSelect
* Remove extraneous scope in CreateTransactionInternal
* Move cs_wallet lock in CreateTransactionInternal to top of function
* qt: Drop BitcoinGUI
* WalletFrame data member
* qt: Move CreateWalletActivity connection from WalletFrame to BitcoinGUI
* qt: Move WalletView connections from WalletFrame to BitcoinGUI
* test: check anchors.dat when node starts for the first time
* doc: add maxuploadtarget to bitcoin.conf example
* p2p: AddrFetch - don\'t disconnect on self-announcements
* addrman: use unordered_map instead of map
* Additional test vector for hardened derivation with leading zeros
* test: remove BasicTestingSetup from util_threadnames unit tests
* test: remove BasicTestingSetup from uint256 unit tests
* test: remove BasicTestingSetup from torcontrol unit tests
* test: remove BasicTestingSetup from sync unit tests
* test: remove BasicTestingSetup from reverse_lock unit tests
* test: remove BasicTestingSetup from policy_fee unit tests
* test: remove BasicTestingSetup from merkleblock tests
* test: remove BasicTestingSetup from hash unit tests
* test: remove BasicTestingSetup from compilerbug unit tests
* test: remove BasicTestingSetup from bswap unit tests
* test: remove BasicTestingSetup from bech32 unit tests
* test: remove BasicTestingSetup from base64 unit tests
* test: remove BasicTestingSetup from base32 unit tests
* test: remove BasicTestingSetup from arith_uint256 unit tests
* test: remove BasicTestingSetup from amount unit tests
* test: remove BasicTestingSetup from allocator unit tests
* p2p: remove torv2 from SetNetFromBIP155Network()
* fuzz: rename CNetAddr/CService deserialize targets
* p2p: drop onions from IsAddrV1Compatible(), no longer relay torv2
* doc: improve note on choosing posix mingw32
* p2p: remove torv2/ADDR_TORV2_SIZE from SetTor()
* qt: Drop PeerTablePriv class
* qt, refactor: Use default arguments for overridden functions
* index: refactor-only: Reuse CChain ref
* index: Add chainstate member to BaseIndex
* bench: Use existing chainman in AssembleBlock
* bench: Use existing NodeContext in DuplicateInputs
* miner: Pass in chainman to RegenerateCommitments
* rest: Add GetChainman function and use it
* test: update feature_proxy to torv3
* gui: send using external signer
* gui: wallet creation detects external signer
* node: add externalSigners to interface
* gui: display address on external signer
* wallet: add displayAddress to interface
* gui: create wallet with external signer
* gui: add external signer path to options dialog
* test: Add functional test for name queue
* wallet: Process queue after each block
* rpc: Add dequeuetransaction RPC
* Namecoin: Add listqueuedtransactions RPC method
* Namecoin: Add queuerawtransaction RPC method
* Namecoin: Add transaction queue to wallet
* depends: Bump Qt version to 5.12.11
* English translations update
* scripted-diff: Fix ellipsis after pr20773
* Add src/qt/android/.gitignore
* MOVEONLY: CWallet transaction code out of wallet.cpp/.h
* depends: latest config.sub (2021-04-30)
* depends: latest config.guess (2021-05-24)
* build: don\'t use cf-protection when targeting arm-apple-darwin
* fuzz: don\'t try and use fopencookie when building for Android
* guix: Check for disk space availability before building
* qt: add translator comments for peers table columns
* Replace size/weight estimate tuple with struct for named fields
* Mark `CheckTxInputs` `[[nodiscard]]` (out-param `txfee` only set if call is successful). Avoid UUM in fuzzing harness `coins_view`.
* guix: Remove dest if OUTDIR mv fails
* build: Use Qt archive of the same version as the compiled binaries
* [fuzz] Occasional valid magic bytes for transport serialization test
* [fuzz] Occasional valid checksum for transport serialization fuzz test
* [fuzz] Add serialization to deserialization test
* ci: Bump multiprocess memory
* contrib: add torv3 seed nodes for testnet, drop v2 ones
* doc: describe in fuzzing.md how to reproduce a CI crash
* test: use MiniWallet (P2PK mode) for feature_dersig.py
* Add roundtrip fuzz tests for CAddress serialization
* Use addrv2 serialization in anchors.dat
* Introduce well-defined CAddress disk serialization
* Remove support for double serialization
* Convert uses of double-serialization to {En,De}codeDouble
* Convert existing float encoding tests
* Add unit tests for serfloat module
* Add platform-independent float encoder/decoder
* Remove unused float serialization
* tests: check derivation of P2TR
* Add tr() descriptor (derivation only, no signing)
* Add TaprootBuilder class
* Add XOnlyPubKey::CreateTapTweak
* Make consensus checking of tweaks in pubkey.
* Taproot-specific
* Separate WitnessV1Taproot variant in CTxDestination
* Avoid dependence on CTxDestination index order
* Change Solver() output for WITNESS_V1_TAPROOT
* Make XOnlyPubKey act like byte container
* move-only: Group and re-order CAddrMan members by access type
* [policy] detect unsorted packages
* [doc] add release note for package testmempoolaccept
* [test] functional test for packages in RPCs
* [rpc] allow multiple txns in testmempoolaccept
* test: MiniWallet: introduce enum type for output mode
* [policy] limit package sizes
* [fuzz] add ProcessNewPackage call in tx_pool fuzzer
* [test] unit tests for ProcessNewPackage
* [test] make submit optional in CreateValidMempoolTransaction
* [validation] package validation for test accepts
* Factor feefilter logic out
* rpc: simplify addpeeraddress and improve code constness
* Remove `GetDataDir(bool fNetSpecific = true)` function
* scripted-diff: Replace `GetDataDir(true)` calls with `gArgs.GetDataDirNet()` calls
* scripted-diff: Replace `GetDataDir()` calls with `gArgs.GetDataDirNet()` calls
* Make `ArgsManager.GetDataDirPath` private and drop needless suffix
* scripted-diff: Change `ArgsManager.GetDataDirPath()` to `ArgsManager.GetDataDirBase()` in tests
* Add `ArgsManager.GetDataDirBase()` and `ArgsManager.GetDataDirNet()` as an intended replacement for `ArgsManager.GetDataDirPath(net_identifier)`
* build: Convert warnings into errors when testing for -fstack-clash-protection
* refactor: Do not expose CAddrMan members as protected without need
* test: addpeeraddress functional test coverage
* qt: Improve GUI responsiveness
* qt, macos: Fix GUIUtil::PolishProgressDialog bug
* Make `m_cached_blocks_path` mutable. Make `ArgsManager::GetBlocksDirPath()` const.
* rpc: fix code comment for bumpfee/psbtbumpfee output
* rpc: fix docs for bumpfee psbt update
* fuzz: Terminate immediately if a fuzzing harness ever tries to perform a DNS lookup (belts and suspenders)
* Update Windows code signing certificate
* Move COINBASE_MATURITY from `feature_nulldummy` test to `blocktools`.
* Cleanup -includeconf error message
* Fix crash when parsing command line with -noincludeconf=0
* net: ignore block-relay-only peers when skipping DNS seed
* txmempool: add thread safety annotations
* qt: Make RPC console welcome message translation-friendly
* [validation] explicit Success/Failure ctors for MempoolAcceptResult
* [policy] Define packages
* [refactor] add option to disable RBF
* [coins/mempool] extend CCoinsViewMemPool to track temporary coins
* [validation] make CheckSequenceLocks context-free
* fuzz: Terminate immediately if a fuzzing harness ever tries to create a TCP socket (belt and suspenders)
* fuzz: Speed up banman fuzz target
* fuzz: Speed up transaction fuzz target
* rpc/blockchain: Use existing blockman in gettxoutsetinfo
* Have OutputGroup determine the value to use
* guix: repro: Sort find output in libtool for gcc-8
* Change SelectCoins_test to actually test SelectCoins
* Remove CreateTransaction while loop and some related variables
* Remove use_bnb and bnb_used
* Do both BnB and Knapsack coin selection in SelectCoinsMinConf
* Have KnapsackSolver actually use effective values
* p2p: pass strings to NetPermissions::TryParse functions by const ref
* Roll static tx fees into nValueToSelect instead of having it be separate
* Move output reductions for fee to after coin selection
* Remove -feefilter option
* doc: release note for getnodeaddresses by network
* test: improve getnodeaddresses coverage, test by network
* rpc: enable filtering getnodeaddresses by network
* p2p: allow CConnman::GetAddresses() by network, add doxygen
* p2p: allow CAddrMan::GetAddr() by network, add doxygen
* p2p: pull time call out of loop in CAddrMan::GetAddr_()
* p2p: enable CAddrMan::GetAddr_() by network, add doxygen
* wallet: make chain optional for CWallet::Create
* CWallet::Create move chain init message up into calling code
* refactor: Add CWallet:::AttachChain method
* refactor: move first run detection to client code
* net: Return IPv6 scope id in `CNetAddr::ToStringIP()`
* build: Silent lupdate \"unknown namespace/class\" warnings
* refactor: Make CFeeRate constructor architecture-independent
* build: libevent 2.1.12-stable
* doc: note that brew installed qt is not supported
* rpc: Improve avoidpartialspends and avoid_reuse documentation
* wallet: Increase OUTPUT_GROUP_MAX_ENTRIES to 100
* qt, test: use qsignalspy instead of qeventloop
* test: use P2PK-MiniWallet for feature_csv_activation.py
* qt: Add shortcuts for console font resize buttons
* qt: Add GUIUtil::AddButtonShortcut
* test: MiniWallet: add P2PK support
* wallet: refactor: dedup sqlite PRAGMA assignments
* wallet: refactor: dedup sqlite PRAGMA integer reads
* qt: English translations update
* qt: Extract translations correctly from UTF-8 formatted source
* Check return value of name-hash index start.
* fuzz: Add missing CheckTransaction before CheckTxInputs
* fuzz: Sanity check result of CheckTransaction
* fuzz: Add utxo_snapshot target
* qt: Replace disambiguation strings with translator comments
* qt, refactor: Revert explicit including QStringBuilder
* qt, build: Optimize string concatenation
* qt: make console buttons look clickable
* validation: document lack of inherited signaling in RBF policy
* test: Extend feature_rbf.py with no inherited signaling
* Strip name prefixes in descriptor wallet.
* Avoid legacy SPK for deterministic salts.
* test: Fix off-by-one in mockscheduler test RPC
* doc: Fix OSS-Fuzz links
* qt: Use native presentation of shortcut
* docs: improve make with parallel jobs description.
* Make cost_of_change part of CoinSelectionParams
* Move some calculations to common code in SelectCoinsMinConf
* scripted-diff: rename some variables
* codesigning: Use SHA256 as digest for osslsigncode (Windows)
* guix: Add codesigning functionality
* guix: Package codesigning tools
* guix: Reindent existing manifest.scm
* Makefile.am: use APP_DIST_DIR instead of hard-coding dist
* refactor: Replace memset calls with array initialization
* Fix more warnings from CI.
* qt: Align numbers in the \"Peer Id\" column to the right
* ci: Bump cirrus fuzz CPUs to avoid timeout
* build: add
*~ to .gitignore
* scripted-diff: update noban documentation in net_processing.cpp
* scripted-diff: rename NetPermissionFlags enumerators
* p2p, refactor: make NetPermissionFlags a uint32 enum class
* fuzz: Remove incorrect float round-trip serialization test
* wallet: Do not iterate a directory if having an error while accessing it
* p2p: NetPermissions::HasFlag() pass flags param by value
* scripted-diff: add NetPermissionFlags scopes where not already present
* index: Avoid async shutdown on init error
* fuzz: Run const CScript member functions only once
* doc: Update bips.md for 0.21.1
* fuzz: Avoid timeout in EncodeBase58
* build: improve macro for testing -latomic requirement
* rpc/wallet: use OMITTED_NAMED_ARG instead of Default(VNULL)
* net: initialize nMessageSize to max uint32_t instead of -1
* rpc/createwallet: omitted named arguments
* net: use stronger AddLocal() for our I2P address
* rpc: address:amount dictionaries are OBJ_USER_KEYS
* rpc/getpeerinfo: bytesrecv_per_msg is a dynamic dictionary
* rpc/gettxoutsetinfo: hash_or_height is a named argument
* doc: Remove mention of priority estimation
* refactor: Avoid magic value of all-zeros in assumeutxo base_blockhash
* Fix assumeutxo crash due to invalid base_blockhash
* refactor: Use type-safe assumeutxo hash
* refactor: Remove unused code
* move-only: Add util/hash_type
* refactor: remove redundant fOnlySafe argument
* Use std::optional in name_update UI.
* fuzz: Limit max insertions in timedata fuzz test
* build: Makes rcc output always deterministic
* Namecoin: Add name_update Qt GUI
* Namecoin / Qt: Fix registerName widget
* refactor: Remove useless extern keyword
* refactor: feature_csv_activation.py: move tx helper functions to methods
* test: use MiniWallet for feature_csv_activation.py
* qt: enable wordWrap for peers-tab detail services
* rpc/listaddressgroupings: redefine inner-most array as ARR_FIXED
* rpc/createrawtransaction: redefine addresses as OBJ_USER_KEYS
* rpc: include OBJ_USER_KEY in RPCArg constructor checks
* test: fee rate values that cannot be represented as sat/vB
* rpc: for sat/vB fee rates, limit ParseFixedPoint decimals to 3
* rpc: enable passing decimals to AmountFromValue, add doxygen
* test: ParseFixedPoint with 3 decimals for sat/vB fee rates
* test: type error and out of range fee rates where missing
* test: explicit fee rates with invalid amounts
* refactor: Add TSA annotations to the WorkQueue class members
* fuzz: Avoid excessively large min fee rate in tx_pool
* fuzz: Remove strprintf test cases that are known to fail
* fuzz: Limit ParseISO8601DateTime fuzzing to 32-bit
* scripts: test for MACHO control flow instrumentation
* build: build Boost with -fcf-protection when targeting Darwin
* fuzz: Remove unused --enable-danger-fuzz-link-all option
* gui: Add access to the Peers tab from the network icon
* net: Clarify message header validation errors
* fuzz: Add WRITE_ALL_FUZZ_TARGETS_AND_ABORT
* test: minor fixes & improvements for files linter test
* net: Sanitize message type for logging
* test: improve zero-value explicit fee rate coverage
* depends: Add missing -D_LIBCPP_DEBUG=1 to debug flags
* test: use MiniWallet for p2p_blocksonly.py
* ci: Properly pass msan cflags
* fix permissions on 00_setup_env_native_fuzz_with_msan
* streams: Accept URef obj for VectorReader unserialize
* fuzz: Create a block template in tx_pool targets
* doc: add OSS-Fuzz section to fuzzing.md doc
* gui: rename \"Peer Id\" to \"Peer\" in tab column and details area
* ci: Add msan fuzz config
* ci: Use clang-12 in msan task
* ci: Set BASE_SCRATCH_DIR early, so that it can be used in test configs
* test: install lief in CI
* contrib: consolidate PIE and NX security checks
* contrib: use LIEF in PE symbol checks
* contrib: use LIEF in macOS symbol checks
* contrib: use f strings in symbol-check.py
* contrib: add PE PIE check to security checks
* contrib: use LIEF for PE security checks
* contrib: use LIEF for macOS security checks
* contrib: use f strings in security-check.py
* guix: install LIEF in Guix container
* gitian: install LIEF in gitian container
* [net processing] Add internal _RelayTransactions()
* fuzz: Limit toxic test globals to their respective scope
* refactor: Replace &foo[0] with foo.data()
* refactor: Avoid &foo[0] on C-Style arrays
* refactor: Use only one temporary buffer in CreateObfuscateKey
* refactor: Use CPubKey vector constructor where possible
* script: Replace address-of idiom with vector data() method
* guix-attest: Avoid incomplete sigdirs with ERR traps
* fuzz: Add -fsanitize=integer suppression needed for RPC fuzzer
* guix: Consistently use gcc-8 for $HOST
* guix: Skip attesting to dist-archive
* guix: Attest to inputs in inputs.SHA256SUMS
* guix: Construct $OUTDIR in ${DISTSRC}/output
* guix: Minor quoting fix in libexec/build.sh
* guix-attest: Allow skipping GPG signing with NO_SIGN
* guix-attest: Use ascii-armor signatures
* guix-attest: Only use cross-platform flags for find+xargs
* guix: Add guix-verify script
* guix: Add guix-attest script
* test: Add unit tests for getNameSalt
* test: Add functional test for deterministic salts
* rpc: Add deterministic salts to name_new and name_firstupdate
* script: update REVIEWERS
* bench: Remove duplicate constants
* test: Use throwing variant accessor
* test: Use loop to register RPCs
* Fix doc strings.
* Mark functions as override.
* scripted-diff: Replace three dots with ellipsis in the UI strings
* net: add I2P seeds to chainparamsseeds
* contrib: add a few I2P seed nodes
* contrib: parse I2P addresses in generate-seeds.py
* doc: Add doc/release-notes/release-notes-0.21.1.md
* Remove user input from URI error message
* doc: Clarify that feerates are per virtual size
* Remove Visual Studio 2017 reference from readme
* qt: Make TransactionView aware of runtime palette change
* qt: Make CoinControlDialog aware of runtime palette change
* qt: Make OverviewPage aware of runtime palette change
* qt: Make UnitDisplayStatusBarControl aware of runtime palette change
* qt: Replace base class of ClickableLabel with ThemedLabel
* qt: Use GUIUtil::ThemedLabel class
* qt: Add GUIUtil::ThemedLabel class
* qt: Make SignVerifyMessageDialog aware of runtime palette change
* qt: Make SendCoinsEntry aware of runtime palette change
* qt: Make RPCConsole aware of runtime palette change
* qt: Make BitcoinGUI aware of runtime palette change
* qt: Make PlatformStyle aware of runtime palette change
* doc: add indexes/coinstats/db/ to files.md
* doc: fix -coinstatsindex help, and test/rpc touchups
* refactor: [index] Replace deprecated char with uint8_t in serialization
* test: resolve bug in test/functional/interface_bitcoin_cli.py - Test -getinfo with -rpcwallet=unloaded wallet returns no balances
* ci: Clarify that previous_releases task is using DEBUG
* ci: Use clang in multiprocess task to avoid OOM
* test: Add missing test for empty P2WSH redeem
* scripted-diff: Clarify that feerates are per virtual size
* build: use -stdlib++-isystem with Clang 10
* guix: use Clang 10 for the macOS cross compile
* build: no longer patch threading out of ld64
* build: Xcode 12.1, macOS SDK 10.15.6
* build: native cctools 973.0.1, ld64 609
* build: Clang 10.0.1
* build: libtapi 1100.0.11
* doc: add coinstatsindex to bitcoin.conf
* rpc: include_unsafe option for fundrawtransaction
* [refactor] Remove unused ForEachNodeThen() template
* scripted-diff: rename address relay fields
* [net processing] Move addr relay data and logic into net processing
* test: Fix feature_config_args.py intermittent issue
* ci: Enable D_GLIBCXX_DEBUG for multiprocess task
* test: add new python linter to check file names and permissions
* qt: Use template function qOverload in signal-slot connections
* fuzz: Reduce maintenance requirements by allowing RPC annotations also for conditionally available RPC commands (such as wallet commands) without the fragility of #ifdef forests
* refactor: Replace std::bind with lambdas
* refactor: Use appropriate thread constructor
* test: Assert that exit code indicates failure
* test: Fix intermittent issue in p2p_segwit.py
* build: use -isysroot over --sysroot on macOS
* refactor: Avoid sign-compare compiler warning in util/asmap
* [tests] Speed up p2p_segwit.py
* test: Run feature_cltv with MiniWallet
* test: Hide tx rehash in helper
* test: Remove new_tx reference
* qt: Refactor to remove unnecessary block in DispatchNotifications
* qt: Early subscribe core signals in transaction table model
* qt: Refactor ShowProgress to DispatchNotifications
* qt: Set flag after inital load on transaction table model
* fuzz: Limit mocktime to MTP in tx_pool targets
* fuzz: Use correct variant of ConsumeRandomLengthString instead of hardcoding a maximum size
* fuzz: Allow to pass min/max to ConsumeTime
* fuzz: RPC fuzzer post-merge follow-ups. Remove unused includes. Update list of fuzzed RPC commands.
* doc: add release notes for 20867
* rpc/util: multisig: only check redeemScript size is <= 520 for P2SH
* test/functional: standardness sanity checks for P2(W)SH multisig
* script: allow up to 20 keys in wsh() descriptors
* script: match multisigs with up to MAX_PUBKEYS_PER_MULTISIG keys
* fuzz: Add RPC interface fuzzing. Increase fuzzing coverage from 65% to 70%.
* test: Fix intermittent issue in p2p_addr_relay.py
* test: Use self.send_addr_msg
* test: fix off-by-ones in rpc_fundrawtransaction
* doc: IsFinalTx comment about nSequence & OP_CLTV
* style: Add { } to multi-line if
* move-only: Move functions to blockstorage
* move-only: Move constants to blockstorage
* refactor: Move block storage globals to blockstorage
* refactor: Move pruning/reindex/importing globals to blockstorage
* qt: peertableview alternating row colors
* refactor + document coin selection strategy
* [docs] add doxygen comments to wallet code
* validation: remove nchaintx from assumeutxo metadata
* doc/style followups in MempoolAcceptResult
* test: Fix feature_notifications.py intermittent issue
* Remove progress bar on modal overlay
* qt: Avoid unnecessary translations
* qt: Do not use QObject::tr plural syntax for numbers with a unit symbol
* p2p: Limit m_block_inv_mutex
* refactor: Make TraceThread a non-template free function
* fuzz: Ensure prevout is consensus-valid
* test: fix file permissions on various scripts
* doc: IsSnapshotActive
* validation: prepare VerifyDB for assumeutxo
* refactor: rename active_chainstate in VerifyDB
* libsecp256k1 no longer has --with-bignum= configure option
* Squashed \'src/secp256k1/\' changes from 3967d96bf1..efad3506a8
* multiprocess: Add echoipc RPC method and test
* multiprocess: Add comments and documentation
* multiprocess: Add bitcoin-node process spawning support
* multiprocess: Add Ipc interface implementation
* multiprocess: Add Ipc and Init interface definitions
* Update libmultiprocess library
* test: Speed up mempool_spend_coinbase.py
* test: Fix test cache issue
* test: Create MiniWallet.create_self_transfer
* qt: Do not clear console prompt when font resizing
* qt, refactor: Drop redundant history cleaning in RPC console
* qt: Untie irrelevant signal-slot parameters
* [docs] format existing comments as doxygen
* doc: note on SDK for macOS depends cross-compile
* test: Add MiniWallet.sendrawtransaction
* net: Avoid calling getnameinfo when formatting IPv6 addresses in CNetAddr::ToStringIP
* net: Make IPv6ToString do zero compression as described in RFC 5952
* cleaned up and added missing \"include\" statements for pubkey.cpp and pubkey.h
* net, refactor: Fix style in CConnman::StopNodes
* net: Combine two loops into one, and update comments
* net: Restrict period when cs_vNodes mutex is locked
* doc: add -addrinfo troubleshooting section to tor.md
* test: Bump shellcheck version
* net: remove unnecessary check of CNode::cs_vSend
* refactor: init: mark fReset const
* [validation] RewindBlockIndex no longer needed
* [test] Add tests for addr relay in -blocksonly mode
* [test] Add address relay tests involving outbound peers
* [test] Add tests for getaddr behavior
* [test] Extract sending an addr message into a helper
* [test] Refactor the addr relay test to prepare for new tests
* qt: Bump transifex slug for 22.x
* Add bitcoin_en.xlf intermediate translation file to the repo
* qt [experimental]: Add a translation comment and a disambiguation string
* build: Add Qt lconvert tool to depends
* build: Use XLIFF file to provide more context to Transifex translators
* test: Add missing shift-base:nanobench.h suppression
* ci: Use clang-12 for asan task
* cli: use C++17 std::array class template argument deduction (CTAD)
* doc: Fix doxygen comment silent merge conflict in descriptor.cpp
* Re-add command to install vcpkg
* rpc: gettxoutsetinfo rejects hash_serialized_2 for specific height
* test: Add test for coinstatsindex behavior in reorgs
* rpc: Allow gettxoutsetinfo and getblockstats for stale blocks
* index, rpc: Add use_index option for gettxoutsetinfo
* test: Test coinstatsindex robustness across restarts
* test: Add tests for block_info in gettxoutsetinfo
* rpc, index: Add verbose amounts tracking to Coinstats index
* test: add coinstatsindex getindexinfo coverage, improve current tests
* rpc: Add Coinstats index to getindexinfo
* test: Add unit test for Coinstats index
* test: Add functional test for Coinstats index
* rpc: gettxoutsetinfo can be requested for specific blockheights
* index: Coinstats index can be activated with command line flag
* index: Add Coinstats index
* refactor: Simplify ApplyStats and ApplyHash
* refactor: Pass hash_type to CoinsStats in stats object
* crypto: Make MuHash Remove method efficient
* Update msvc build to use Qt5.12.10 binaries.
* refactor: Add and use EnsureConnman in rpc code
* Move common package version code to init/common
* Move common logging start code to init/common
* Move common logging GetArgs code to init/common
* Move common logging AddArg code to init/common
* Move common sanity check code to init/common
* Move common global init code to init/common
* remove executable flag for src/net_processing.cpp
* refactor, qt: Simplify SendCoinsDialog::updateCoinControlState
* refactor: Drop CCoinControl::SetNull
* update docstring in feature_csv_activation.py
* p2p: allow NetPermissions::ClearFlag() only with PF_ISIMPLICIT
* test: add net permissions noban/download unit test coverage
* Change ClearDataDirPathCache() to ArgsManager.ClearPathCache().
* Change GetBlocksDir() to ArgsManager.GetBlocksDirPath().
* scripted-diff: Modify unit tests to use the ArgsManager in the BasicTestingSetup class instead of implicitly relying on gArgs.
* scripted-diff: Replace m_args with m_local_args in getarg_tests.cpp
* BasicTestingSetup: Add ArgsManager.
* Modify \"util_datadir\" unit test to not use gArgs.
* rpc: Improve getblock error message for invalid data type.
* doc: update bitcoin.conf maxconnections info
* doc: update reduce-memory.md peer connections info
* refactor: Mark member functions const
* Move GetDataDir(fNetSpecific) implementation to ArgsManager.
* Move StripRedundantLastElementsOfPath before ArgsManager class.
* doc: update -maxconnections config option help
* test: Run versionbits_sanity for all chains
* Refactor ProcessNewBlock to reduce code duplication
* test: Address outstanding versionbits_test feedback
* test: Check that no versionbits are re-used
* rpc: Check default value type againts argument type
* rpc: Keep default argument value in correct type
* qa: Test default include_mempool value of gettxout
* doc: update -addnode config option help
* doc: update addnode rpc help
* build: Drop pointless sed commands
* Namecoin: Add name_pending Qt GUI
* Namecoin / Qt: Show expired/transferred status from name_list
* Remove no longer used contrib/bitcoin-qt.pro from the repo
* fuzz: use ConsumeBool() instead of !ConsumeBool()
* fuzz: split FuzzedSock interface and implementation
* fuzz: make FuzzedSock::Wait() sometimes simulate an occurred event
* fuzz: set errno from FuzzedSock::Wait() if it simulates a failure
* style: remove extra white space
* test: Remove intermittently failing and not very meaningful `BOOST_CHECK` in `cnetaddr_basic`
* Add mainnet and testnet taproot activation params
* Avoid use of low file descriptor ids (which may be in use) in FuzzedSock and StaticContentsSock
* validation: fix ActivateSnapshot to use hardcoded nChainTx
* p2p, bugfix: use NetPermissions::HasFlag() in CConnman::Bind()
* qt, refactor: Use better QMenu::addAction overloaded function
* qt: Do not assign Alt+ shortcuts to context menu actions
* qt: Drop menu separator that separates nothing
* qt, refactor: Make AddressBookPage::deleteAction a local variable
* test: Reset mocktime in the common setup
* rpc/rest: Take and reuse local Chain/ChainState obj
* rpc: style: Improve BuriedForkDescPushBack signature
* rpc: Remove unnecessary casting of block height
* rpc: Tidy up local references (see commit message)
* rest/rpc: Remove now-unused old Ensure functions
* scripted-diff: rest/rpc: Use renamed EnsureAny
*()
* rpc: Add renamed EnsureAny
*() functions
* test: Fix TSan suppression
* test: Use mocktime to avoid intermittent failure
* ci: Only cache depends/sdk-sources for macos/apk task in cirrus
* Revert \"test: Add tsan supp for leveldb::DBImpl::DeleteObsoleteFiles\"
* doc: remove boostrap info from GUIX_COMMON_FLAGS doc
* test: Remove spurious double lock tsan suppressions by bumping to clang-12
* net: flag relevant Sock methods with [[nodiscard]]
* external_signer: remove ExternalSignerException
* external_signer: use const where appropriate
* wallet: remove CWallet::GetExternalSigner()
* external_signer: remove ignore_errors from Enumerate()
* refactor: unify external wallet runtime errors
* refactor: add missing includes to external signer code
* refactor: move all signer code inside ENABLE_EXTERNAL_SIGNER #ifdefs
* refactor: add [[noreturn]] attribute where applicable
* tests: Skip SQLite fsyncs while testing
* rpc: Add alt Ensure
* functions acepting NodeContext
* addrinfo: raise helpfully on server error or incompatible server version
* ci: Fix macOS brew install command
* build,boost: update download url.
* doc: Fix name of script guix-build
* chainparams: drop versionbits threshold to 90% for mainnnet and signet
* versionbits: simplify state transitions
* versionbits: Add explicit NEVER_ACTIVE deployments
* fuzz: test versionbits delayed activation
* tests: test versionbits delayed activation
* versionbits: Add support for delayed activation
* tests: clean up versionbits test
* tests: test ComputeBlockVersion for all deployments
* tests: pull ComputeBlockVersion test into its own function
* build: mac_alias 2.2.0
* build, qt: No longer need to set QT_RCC_TEST=1 for determinism
* ci: Fix previous releases cache order
* qt: Do not use QClipboard::Selection on Windows and macOS.
* qt: Elide long strings in their middle in the Peers tab
* Ignore guix builds
* ci: Run self-hosted ci
* ci: Make cirrus cache folders relative to cirrus base dir
* ci: Restart docker before run
* ci: [refactor] Create setting for ephemeral config in .cirrus.yml
* fuzz: Extend psbt fuzz target a bit
* doc: Use CONFIG_SITE instead of --prefix
* doc: add cli -addrinfo release note
* cli: add -addrinfo command
* cli: create AddrinfoRequestHandler class
* depends: Fix id_string invocations
* doc: release notes for new listbanned fields
* rpc: add help for enumeratesigners and walletdisplayaddress
* ci: use --enable-external-signer instead of --with-boost-process
* Move external signer out of wallet module
* i2p: cancel the Accept() method if waiting on the socket errors
* cirrus: Use SSD cluster for speedup
* test: Remove option to make TestChain100Setup non-deterministic
* test: Use compressed keys in TestChain100Setup
* [test] check that mapFlagNames is up to date
* [test] remove unnecessary OP_1s from invalid tests
* [test] minor improvements / followups
* [test] fix bug in ExcludeIndividualFlags
* guix: Register garbage collector root for containers
* guix: Update hint messages to mention guix-clean
* doc: Fix typos from codespell lint
* build: fix configuring when building depends with NO_BDB=1
* rpc: improve getnodeaddresses help
* rpc: simplify/constify getnodeaddresses code
* rpc: add network field to rpc getnodeaddresses
* Drop JSONRPCRequest constructors after #21366
* test: increase listbanned unit test coverage
* rpc: add time_remaining field to listbanned
* rpc: add ban_duration field to listbanned
* doc: improve listbanned help
* rpc: swap position of banned_until and ban_created fields
* fuzz: Fix uninitialized read in test
* Chainstate from request for name RPCs.
* script: Add trusted key for hebasto
* Chainstate from request context for auxpow RPCs.
* doc: Remove irrelevant link to GitHub
* build: enable -Wdocumentation if suppressing external warnings
* doc: fixup -Wdocumentation issues
* build: suppress libevent warnings if supressing external warnings
* Fix a typo in guix-build output
* ci: increase CPU count of sanitizer job to increase memory limit
* build: remove -Wdeprecated-register from NOWARN flags
* guix: Record precious directories and add guix-clean
* build: Remove spaces from variable-printing rules
* blockstorage: [refactor] Use chainman reference where possible
* move-only: Move
*Disk functions to blockstorage
* rest: Use existing NodeContext
* rest: Pass in NodeContext to rest_block
* rpc/rawtx: Use existing NodeContext
* rpc/mining: Use existing NodeContext
* rpc/blockchain: Use existing NodeContext
* rpc/
*,rest: Add review-only assertion to EnsureChainman
* miner: Pass in previous CBlockIndex to RegenerateCommitments
* guix: Build dmg as a static binary
* depends: libdmg-hfsplus: Skip CMake RPATH patching
* guix: Remove codesign_allocate+pagestuff from unsigned tarball
* guix: Use clang-toolchain instead of clang
* guix: Fallback to local build for substitute-enabled Guix users
* guix: Add early health check for guix-daemon
* guix: More thoroughly control native toolchain
* guix: Supply --link-profile
* guix: Add troubleshooting documentation entries
* guix: Adapt guix-build to prelude, restructure hier
* guix: Remove guix-build.sh filename extension
* guix: Add source-able bash prelude and utils
* test: Document why no symbol names can be used for suppressions
* qt: Handle exceptions in SendCoinsDialog::sendButtonClicked slot
* qt: Handle exceptions in TransactionView::bumpFee slot
* qt: Handle exceptions in WalletModel::pollBalanceChanged slot
* net: Deserialize hardcoded seeds from BIP155 blob
* contrib: Add explicit port numbers for testnet seeds
* contrib: Add a few TorV3 seed nodes
* contrib: generate-seeds.py generates output in BIP155 format
* test: Document race:validation_chainstatemanager_tests suppression
* refactor: Remove negative lock annotations from globals
* test: Replace blanket UBSan signed integer overflow suppression for txmempool.cpp with specific suppression
* move-only: Move AbortNode to shutdown
* move-only: Move ThreadImport to blockstorage
* build, qt, refactor: Drop sed commands for win32-g++/qmake.conf
* Fix assumeutxo crash due to missing base_blockhash
* refactor: Prefer clean assert over UB in coinstats
* Fix assumeutxo crash due to truncated file
* test: Add missing suppression for signed-integer-overflow:txmempool.cpp
* build: additional PKG_CHECK_MODULES calls in bitcoin_qt.m4
* build: misc doc changes in bitcoin_qt.m4
* build: set QT_
*_CFLAGS & QT_
*_LIBS in PKG_CHECK_MODULES() calls
* build: use QT_
*_LIBS rather than passing lib names
* scripted-diff: replace Qt5 with ${qt_lib_prefix} in _BITCOIN_QT_CHECK_STATIC_LIBS
* build: reorder libs in _BITCOIN_QT_CHECK_STATIC_LIBS (move-only)
* Disable certain false positive warnings for libsecp256k1 msvc build
* refactor: Move load block thread into ChainstateManager
* Fix wrong wallet RPC context set after #21366
* test: make sure non-IP peers get discouraged and disconnected
* test: also check disconnect in denialofservice_tests/peer_discouragement
* test: use pointers in denialofservice_tests/peer_discouragement
* wallet: refactor: dedup sqlite statement deletions
* wallet: refactor: dedup sqlite statement preparations
* Doc: Copyright: Fix embedded font file location
* guix: Create windeploy inside distsrc-
*
* contrib: Silence git-describe when looking for tag
* guix: Use --cores instead of --max-jobs
* [doc] correct comment about ATMPW
* [doc] correct comment in chainparams
* [doc] GetBestBlock() doesn\'t do nothing
* [net] Changes to RunInactivityChecks
* rpc: Fail to return undocumented return values
* net: Avoid calling getnameinfo when formatting IPv4 addresses in CNetAddr::ToStringIP
* net: Add IPv4ToString (we already have IPv6ToString)
* [net processing] Make RelayAddress() a member function of PeerManagerImpl
* [net processing] Take NodeId instead of CNode
* as originator for RelayAddress()
* qt: Handle exceptions in BitcoinGUI::addWallet slot
* qt: Add GUIUtil::ExceptionSafeConnect function
* qt: Add BitcoinApplication::handleNonFatalException function
* qt: Make PACKAGE_BUGREPORT link clickable
* test: check that _all_ invalid-CLTV txs are rejected after BIP65 activation
* test: check that _all_ invalid-CLTV txs are allowed in a block pre-BIP65
* test: prepare cltv_invalidate to test all failure reasons in feature_cltv.py
* test: add tx modfication helper function in feature_cltv.py
* [net processing] Refactor MaybeSendAddr()
* [test] remove invalid test from tx_valid.json
* build: set --build when configuring packages in depends
* test: small cleanup in RPCNestedTests tests
* node/ifaces: ChainImpl: Use an accessor for ChainMan
* node/ifaces: NodeImpl: Use an accessor for ChainMan
* validation: Make BlockManager::LookupBlockIndex const
* node: Avoid potential UB by asserting assumptions
* net_processing: Move comments to declarations
* fuzz: [refactor] Use IsValidFlagCombination in signature_checker fuzz target
* fuzz: Removed unused try-catch in coins_view
* fuzz: [refactor] Use ConsumeScript in signature_checker fuzz target
* build: split native_cctools
* Clean up context dependent checks in descriptor parsing
* refactor: move uncompressed-permitted logic into ParsePubkey
*
* refactor: split off subscript logic from ToStringHelper
* Account for key cache indices in subexpressions
* Make DescriptorImpl support multiple subscripts
* refactor: move population of out.scripts from ExpandHelper to MakeScripts
* Remove support for subdescriptors expanding to multiple scripts
* remove unused class util::Ref and its unit test
* refactor: replace util::Ref by std::any (C++17)
* util: introduce helper AnyPtr to access std::any instances
* doc: Merge release notes
* rpc: Missing doc updates for bumpfee psbt update
* [net processing] Fix overindentation in MaybeSendAddr()
* [net processing] Refactor MaybeSendAddr() - early exits
* [net processing] Change MaybeSendAddr() to take a reference
* [net processing] Extract `addr` send functionality into MaybeSendAddr()
* [net] Change addr send times fields to be guarded by new mutex
* [net processing] Only call GetTime() once in SendMessages()
* build: Enable safe warnings for msvc builds
* test: remove qt byteswap compattests
* net: add ifaddrs.h include
* build: check if -lsocket is required with
*ifaddrs
* rand: only try and use freeifaddrs if available
* cirrus: Add missing depends_sources_cache to Android task
* cirrus: Only cache releases when needed
* ci: Bump Android cross-build to Ubuntu Focal
* ci: Build depends only once for Android build
* ci: Set DEPENDS_DIR when setting BASE_ROOT_DIR
* ci: Bump macOS VM image to the latest version
* [test] no send feefilters when txrelay is turned off
* remove incompatibility release note for darkmode on macos
* build, qt: Fix static builds on macOS Big Sur
* node/coinstats: Replace #include with fwd-declaration
* miner: Add chainstate member to BlockAssembler
* Revert \"miner: Pass in chainstate to BlockAssembler::CreateNewBlock\"
* Revert \"scripted-diff: Invoke CreateNewBlock with chainstate\"
* Revert \"miner: Remove old CreateNewBlock w/o chainstate param\"
* remove unnecessary newline from initWarning() argument
* fuzz: [refactor] Use PickValue where possible
* Unconditionally check for fRelay field in test framework
* test: Use deterministic chain in utxo set hash test
* test: Remove wallet dependency of utxo set hash test
* rpc: Improve gettxoutsetinfo help
* p2p: Don\'t send FEEFILTER in blocksonly mode
* qt: fix issue when disabling the auto-enabled blank wallet checkbox
* doc: Add release notes for #18335 (rpc work queue exceeded error)
* doc: Add release notes for -deprecatedrpc=addresses and bitcoin-tx
* rpc: deprecate `addresses` and `reqSigs` from rpc outputs
* qt, refactor: Drop redundant setEditTriggers(NoEditTriggers) calls
* fuzz: Fix tx_pool target to properly fuzz immature outpoints
* fuzz: Style fixups
* build: miniupnpc 2.2.2
* build: Remove unused header from the build system
* contrib: Use -daemonwait in systemd init script
* [net] remove fUpdateConnectionTime from FinalizeNode
* refactor: return std::nullopt instead of {}
* build: Do not build unused CoreWLAN stuff in depends for macOS
* depends: fix Qt precompiled headers bug
* depends: disable Qt Vulkan support on Android
* CI: add Android APK build to cirrus
* CI: add Android APK build script
* Qt: add Android packaging support
* test: remove duplicate assertions in util_tests
* fuzz: cleanups for versionbits fuzzer
* fuzz: Use ConsumeWeakEnum in addrman for service flags
* [net] remove CConnman::AddNewAddresses
* [net] remove CConnman::MarkAddressGood
* [net] remove CConnman::SetServices
* [net_processing] Keep addrman reference in PeerManager
* [net] Construct addrman outside connman
* test: add functional test for anchors.dat
* test: add ParseUInt16() test coverage
* tests: Add test for CNetAddr::ToString IPv6 address formatting (RFC 5952)
* Add unit test coverage for our onion peer eviction protection
* Protect onion+localhost peers in ProtectEvictionCandidatesByRatio()
* Use EraseLastKElements() throughout SelectNodeToEvict()
* Add m_inbound_onion to AttemptToEvictConnection()
* Add unit tests for ProtectEvictionCandidatesByRatio()
* Use std::unordered_set instead of std::vector in IsEvicted()
* Move peer eviction tests to a separate test file
* Extract ProtectEvictionCandidatesByRatio from SelectNodeToEvict
* Fix wrong(1024) divisor for 1000-based prefixes
* Doc: Tell howto install clang-format on Debian/Ubuntu
* build: Make Windows-specific targets available for Windows builds only
* build: Make macOS-specific targets available for macOS builds only
* fuzz: Add tx_pool fuzz targets
* style-only: Remove whitespace
* net: Simplify ProcessGetBlockData execution by removing send flag.
* log: Clarify that block request below NODE_NETWORK_LIMITED_MIN_BLOCKS disconnects
* qt: Improve URI/file handling message
* refactor: Pass PeerManagerImpl members only once
* refactor: post Optional<> removal cleanups
* Rename CoinSelectionParams::effective_fee to m_effective_feerate
* wallet: Move discard feerate fetching to CreateTransaction
* wallet: Move long term feerate setting to CreateTransaction
* test: add missing netaddress include headers
* util: add missing braces and apply clang format to SplitHostPort()
* util: add ParseUInt16(), use it in SplitHostPort()
* p2p, refactor: pass and use uint16_t CService::port as uint16_t
* doc: Update libnatpmp info in dependencies.md
* wallet: Replace nFeeRateNeeded with effective_fee
* wallet: Use existing feerate instead of getting a new one
* test: give fundraw more time for test_transaction_too_large
* test: add I2P test for a runaway SAM proxy
* fuzz: add tests for the I2P Session public interface
* i2p: use pointers to Sock to accommodate mocking
* net: change ConnectSocketDirectly() to take a Sock argument
* net: add connect() and getsockopt() wrappers to Sock
* fuzz: avoid FuzzedSock::Recv() repeated errors with EAGAIN
* fuzz: extend FuzzedSock::Recv() to support MSG_PEEK
* fuzz: implement unimplemented FuzzedSock methods
* test: add a test to ensure RecvUntilTerminator() limit works
* i2p: limit the size of incoming messages
* Always add -daemonwait to known command line arguments
* Use PrecomputedTransactionData in signet check
* Treat amount<0 also as missing data for P2WPKH/P2WSH
* Make all SignatureChecker explicit about missing data
* Add MissingDataBehavior and make TransactionSignatureChecker handle it
* refactor: reuse test string with embedded null char in util_tests
* test: add ParseUInt8() unit and fuzz test coverage
* Update vcpkg checkout commit.
* Add new format string placeholders for walletnotify to include relevant block information for transactions
* net: fix hSocket param in netbase.h::ConnectSocketDirectly()
* net: move Doxygen docs from netbase.cpp to netbase.h
* tests: Add fuzzing harness for LoadMempool(...) and DumpMempool(...)
* net: update incorrect Doxygen documentation in netbase.cpp
* fuzz: Implement fuzzed_dns_lookup_function as lambda
* rpc: remove scantxoutset EXPERIMENTAL warning
* scripted-diff: remove Optional & nullopt
* scripted-diff: Drop redundant QString calls
* ci, gitian: Drop unneeded python3-dev package for macOS builds
* doc: Update zlib info in dependencies.md
* test: Drop unused get_machine function
* test: Cleanup test files in test-{security,symbol}-check.py
* Revert \"qt: Use \"fusion\" style on macOS Big Sur with old Qt\"
* [net processing] Add ChainSyncTimeoutState default initializers
* [net processing] Remove CNodeState ctor body
* build: don\'t try and use -fstack-clash-protection on Windows
* validation: Make DumpMempool(...) and LoadMempool(...) easier to test/fuzz/mock
* tests: Set errno in FuzzedFileProvider. Implement seek(..., ..., SEEK_END).
* tests: Add fuzzing harness for versionbits
* bugfix: fix bech32_encode calls in gen_key_io_test_vectors.py
* naming nits
* Add signet support to gen_key_io_test_vectors.py
* Use Bech32m encoding for v1+ segwit addresses
* Add Bech32m test vectors
* Implement Bech32m encoding/decoding
* doc: Update dependencies.md with a new Qt version
* build: Cleanup libxkbcommon_postprocess_cmds
* build, qt: Drop redundant -lxcb-static flag
* build, qt: Always test plugins/subdir before adding to search paths
* test: use fewer blocks in wallet_groups and move sync call
* doc: specify minimum HWI version
* rpc: don\'t require wallet for enumeratesigners
* doc: update developer notes for removal of MakeUnique
* scripted-diff: remove MakeUnique()
* test: use 327 fewer blocks in feature_nulldummy
* test, refactor: abstract the feature_nulldummy blockheight values
* compat: remove memcpy -> memmove backwards compatibility alias
* build: update qt qpaint non determinism patch for 5.12.10
* build: update qt no-xlib patch for 5.12.10
* build: update qt android jni static patch for 5.12.10
* build: update qt lrelease patch for 5.12.10
* build, qt: Fix lib paths in
*.pc files
* build: disable qt SDK version checking
* build: Add QMacStyle support
* build: revert to using Qts internal zlib
* build: qt 5.12.10
* build: Add xkbcommon 0.8.4
* build: only pass -optimized-tools to qt in debug mode
* build, qt: Fix regression introduced in #21363
* doc: Update fuzzing docs for afl-clang-lto
* fuzz: Bump FuzzedDataProvider.h
* [net processing] Remove unused CNode.address member
* wallet, rpc: update listdescriptors response format
* [doc] Improve comment about protected peers
* tests: Add fuzzing harness for Lookup(...)/LookupHost(...)/LookupNumeric(...)/LookupSubNet(...)
* net: Make DNS lookup code testable
* net_processing: Add review-only assertion to PeerManager
* scripted-diff: net_processing: Use existing chainman
* net_processing: Move some static functions to PeerManager
* node/ifaces: ChainImpl: Use existing NodeContext member
* node/ifaces: NodeImpl: Use existing NodeContext member
* node: Use existing NodeContext
* node/coinstats: Pass in BlockManager to GetUTXOStats
* miner: Pass in blockman to ::RegenerateCommitments
* miner: Remove old CreateNewBlock w/o chainstate param
* scripted-diff: Invoke CreateNewBlock with chainstate
* miner: Pass in chainstate to BlockAssembler::CreateNewBlock
* validation: Remove extraneous LoadGenesisBlock function prototype
* doc: Rename fuzz seed_dir to corpus_dir
* doc: add signet to doc/bitcoin-conf.md
* doc: add signet to share/examples/bitcoin.conf
* build: Small libxcb.mk improvements
* build: Clean remnants of QTBUG-34748 fix
* test: add missing logging to wallet_groups.py
* qt, refactor: Drop no longer used PeerTableModel::getRowByNodeId func
* qt, refactor: Drop no longer used PeerTableModel::sort function
* qt: Use PeerTableSortProxy for sorting peer table
* qt: Add peertablesortproxy module
* wallet: Mark replaced tx to not be in the mempool anymore
* qt test: Don\'t bind to regtest port
* qt: Do not translate file extensions
* fuzz: fix gcc Woverloaded-virtual build warnings
* Use C++11 member initializer in CNodeState
* build, refactor: Fix indentation
* build, qt: Make Qt static libs check regardless of plugindir
* build, refactor: Rename internal _BITCOIN_QT_FIND_STATIC_PLUGINS macro
* build, qt: Refactor internal _BITCOIN_QT_CHECK_STATIC_PLUGINS macro
* Test that signrawtx works when a signed CSV and CLTV inputs are present
* Introduce DeferringSignatureChecker and inherit with SignatureExtractor
* rpc: refactor rpc wallet functions to take references instead of pointers
* rpc: remove calls to CWallet.get()
* fuzz: Avoid -Wreturn-type warnings
* net: Replace enum CConnMan::NumConnections with enum class ConnectionDirection
* bitcoind: Add -daemonwait option to wait for initialization
* shutdown: Use RAII TokenPipe in shutdown
* util: Add RAII TokenPipe
* util: Make Assume() usable as unary expression
* [net processing] Don\'t pass CConnman to RelayTransactions
* [net processing] Move RelayTransaction into PeerManager
* fuzz: Add missing include (test/util/setup_common.h)
* build: compile libnatpmp with -DNATPMP_STATICLIB on Windows
* build: use newer source for libnatpmp
* doc: revamp macOS build doc
* build, doc: Drop libbz2-dev from macOS cross-compiling dependencies
* build, doc: Drop libcap-dev from macOS cross-compiling dependencies
* validation: CVerifyDB::VerifyDB: Use locking annotation
* guix: Remove libcap from manifest
* validation: Use existing chain member in CChainState::LoadGenesisBlock
* validation: Use existing chain member in CChainState::AcceptBlock
* validation: Pass in chain to FindBlockPos+SaveBlockToDisk
* validation: Use
*this in CChainState::ActivateBestChainStep
* validation: Pass in chainstate to CTxMemPool::check
* Make tx relay data structure use std::chrono types
* Make all Poisson delays use std::chrono types
* Convert block/header sync timeouts to std::chrono types
* Change all ping times to std::chrono types
* wallet: Add IsAddressUsed / SetAddressUsed methods
* interfaces: Stop exposing wallet destdata to gui
* test: Add gui test for wallet receive requests
* build: Fix fuzz-cuckoocache cross-compiling for Windows with DEBUG=1
* test: HelpExampleCliNamed and HelpExampleRpcNamed
* rpc: Add HelpExampleCliNamed and use it for `createwallet` doc
* rpc: Add HelpExampleRpcNamed
* Move MakeNoLogFileContext to common libtest_util, and use it in bench
* guix: Update darwin native packages dependencies
* doc: install qt5 when building on macOS
* test: bring p2p_leak.py up to date.
* fuzz: Add FUZZED_SOCKET_FAKE_LATENCY mode to FuzzedSock to allow for fuzzing timeout logic
* fuzz: Add fuzzing harness for Socks5(...)
* doc: Remove outdated comment
* build: Make AM_CONDITIONAL([ENABLE_EXTERNAL_SIGNER]) unconditional
* build, refactor: Fix indentation for if..then..fi
* util: Avoid invalid integer negation in ValueFromAmount: make ValueFromAmount(const CAmount& n) well-defined also when n is std::numeric_limits::min()
* util: Avoid invalid integer negation in FormatMoney: make FormatMoney(const CAmount& n) well-defined also when n is std::numeric_limits::min()
* Make .gitignore ignore src/test/fuzz/fuzz.exe
* tests: Add fuzzing harness for TorController
* torcontrol: Move TorControlReply, TorControlConnection and TorController to improve testability
* txorphanage: comment improvements
* build: set Unicode true for NSIS installer
* doc: Update build instructions for Fedora
* validation: Use
*this in CChainState::InvalidateBlock
* validation: Move LoadBlockIndexDB to CChainState
* validation: Move invalid block handling to CChainState
* validation: Pass in chainstate to CVerifyDB::VerifyDB
* validation: Remove global ::VersionBitsTip{State,SinceHeight,Statistics}
* validation: Pass in chainstate to ::PruneBlockFilesManual
* validation: Pass in chainstate to UpdateTip
* net: Do not skip the I2P network from GetNetworkNames()
* net: recognize I2P from ParseNetwork() so that -onlynet=i2p works
* net: accept incoming I2P connections from CConnman
* net: make outgoing I2P connections from CConnman
* net: add I2P to the reachability map
* init: introduce I2P connectivity options
* net: implement the necessary parts of the I2P SAM protocol
* net: extend Sock with a method to check whether connected
* net: extend Sock with methods for robust send & read until terminator
* lint: Fix spelling errors in comments
* Correction for VerifyTaprootCommitment comments
* net: extend Sock::Wait() to report a timeout
* net: dedup MSG_NOSIGNAL and MSG_DONTWAIT definitions
* net: move the constant maxWait out of InterruptibleRecv()
* net: extend CNetAddr::SetSpecial() to support I2P
* net: avoid unnecessary GetBindAddress() call
* net: isolate the protocol-agnostic part of CConnman::AcceptConnection()
* net: get the bind address earlier in CConnman::AcceptConnection()
* net: check for invalid socket earlier in CConnman::AcceptConnection()
* util: fix WriteBinaryFile() claiming success even if error occurred
* util: fix ReadBinaryFile() returning partial contents
* util: extract {Read,Write}BinaryFile() to its own files
* guix, doc: Update default HOSTS value
* guix: Add curl to required tool list
* build: fix libnatpmp macos cross compile
* zmq test: fix sync-up by matching notification to generated block
* build: adds switch for disabling random base addresses in MSVC
* Hoist repeated translated strings to RPCConsole struct members
* RPCConsole::updateDetailWidget: convert strings to translated strings
* rpc: document optional fields for getchaintxstats result
* qt: Fix regression with initial sorting after pr205
* net_processing: move AddToCompactExtraTransactions into PeerManagerImpl
* scripted-diff: Update txorphanage naming convention
* txorphanage: Move functions and data into class
* txorphanage: Extract EraseOrphansForBlock
* net_processing: drop AddOrphanTx
* denialofservices_tests: check txorphanage\'s AddTx
* txorphanage: Extract OrphanageAddTx
* txorphanage: Extract GetOrphanTx
* txorphanage: Extract HaveOrphanTx
* txorphanage: Extract AddChildrenToWorkSet
* txorphanage: Add lock annotations
* txorphanage: Pass uint256 by reference instead of value
* move-only: Add txorphanage module
* script: Add explanatory comment to tc.sh
* allow darkmode on macos build
* Allow icon colorization on mac os to better support dark mode
* test: remove unneeded node from feature_blockfilterindex_prune.py
* test: improve assertions in feature_blockfilterindex_prune.py
* gui: add \"Last Block\" (CNodeStats::nLastBlockTime) to peer details
* gui: add \"Last Tx\" (CNodeStats::nLastTXTime) to peer details
* qt: add RPCConsole::TimeDurationField helper, call systime only once
* test: Add feature_taproot.py --previous_release
* test: move releases download incantation to README
* test: previous releases: add v0.20.1
* rpc: Properly document submitblock return value
* rpc: Properly document getblocktemplate return value
* rpc: Properly document scantxoutset return value
* rpc: Properly document gettxout return value
* guix: Bump glibc and linux-headers
* guix: Rebase on 95aca2991b (1.2.0-12.dffc918)
* test: Replace accidentally placed bit-OR with logical-OR
* build, doc: Fix configure script output indentation and typos
* qt: Rename \"Edit label\" to \"Edit address label\"
* Revert \"qt: Remove Transactionview Edit Label Action\"
* build: Bump minimum Qt version to 5.9.5
* wallet: fix doc typo in signer option
* guix: Explicitly set umask in build container
* qt: Disable requests context menu actions when appropriate
* doc: add external-signer.md
* rpc: send: support external signer
* rpc: signerdisplayaddress
* wallet: ExternalSigner: add GetDescriptors method
* wallet: add GetExternalSigner()
* test: external_signer wallet flag is immutable
* rpc: add external_signer option to createwallet
* rpc: signer: add enumeratesigners to list external signers
* rpc: add external signer RPC files
* wallet: add ExternalSignerScriptPubKeyMan
* wallet: add external_signer flag
* test: add external signer test
* wallet: add -signer argument for external signer command
* qt: Prevent the main window popup menu
* wallet: listdescriptors uses normalized descriptor form
* assumptions: check C++17 assumption with MSVC
* assumptions: assume a C++17 compiler
* qt: Add Copy Address Action to Payment Requests
* guix: Passthrough SDK_PATH into container
* qt: Make warning label look clickable
* validation: Remove global ::{{Precious,Invalidate}Block,ResetBlockFailureFlags}
* validation: Remove global ::LoadGenesisBlock
* validation: Check chain tip is non-null in CheckFinalTx
* build: make HAVE_O_CLOEXEC available outside LevelDB (bugfix)
* init: only use pipe2 if availabile, check in configure
* scripted-diff: Rename MakeFuzzingContext to MakeNoLogFileContext
* scripted-diff: Rename PROVIDE_MAIN_FUNCTION -> PROVIDE_FUZZ_MAIN_FUNCTION
* doc: Clarify that squashing should happen before review
* qt, refactor: Use enum type as switch argument in TransactionTableModel
* qt, refactor: Use enum type as switch argument in PeerTableModel
* qt, refactor: Use enum type as switch argument in BanTableModel
* qt, refactor: Use enum type as switch argument in AddressTableModel
* guix: only download sources for hosts being built
* contrib: run test-symbol check for RISCV
* gui: Add monospaced font settings
* qt: Choose monospaced font in C++ code rather in `
*.ui` file
* qt: Make GUIUtil::fixedPitchFont aware of embedded font
* gui: Add Roboto Mono font
* test: framework: add skip_if_no_external_signer
* configure: add --enable-external-signer
* test: Avoid connecting to real network when running tests
* test: Assume node is running in subtests
* test: Intermittent issue in feature_blockfilterindex_prune
* ci: Avoid invoking curl on the host
* guix: Update conservative space requirements
* guix: Add support for powerpc64{,le}
* build: Add /opt/homebrew to path to look for boost libraries
* Fix fuzz binary compilation under windows
* style-only: Make AcceptToMemoryPool signature readable
* style-only: Make CheckSequenceLock signature readable
* validation: Use
*this in CChainState::LoadMempool
* validation: Pass in chainstate to UpdateMempoolForReorg
* validation: Pass in chainstate to CTxMemPool::removeForReorg
* validation: Pass in chain to ::TestLockPointValidity
* tree-wide: Fix erroneous AcceptToMemoryPool replacements
* validation: Remove old AcceptToMemoryPool w/o chainstate param
* scripted-diff: Invoke ::AcceptToMemoryPool with chainstate
* test: Fix NODE_NETWORK_LIMITED_MIN_BLOCKS disconnection
* test: Make test actually test something
* test: pep8 touched test
* validation: Pass in chainstate to ::AcceptToMemoryPool
* validation: Pass in chainstate to ::LoadMempool
* validation: Pass in chainstate to AcceptToMemoryPoolWithTime
* validation: Add chainstate member to MemPoolAccept
* validation: Pass in chainstate to ::CheckSequenceLocks
* validation: Remove old CheckFinalTx w/o chain tip param
* scripted-diff: Invoke ::CheckFinalTx with chain tip
* validation: Pass in chain tip to ::CheckFinalTx
* validation: Pass in coins tip to CheckInputsFromMempoolAndCache
* validation: Pass in chainstate to IsCurrentForFeeEstimation
* validation: Pass in coins cache to ::LimitMempoolSize
* Avoid comparision of integers with different signs
* guix: Jump forwards in time-machine and adapt
* guix: Supply --keep-failed for debugging
* log: Clarify log message when file does not exist
* gui: display BIP152 high bandwidth relay in peer details
* gui: display fRelayTxes in peer details
* [tools] Allow argument/parameter bin packing in clang-format
* [net] Move checks from GetLocalAddrForPeer to caller
* [net] Change AdvertiseLocal to GetLocalAddrForPeer
* qt: Remove Transactionview Edit Label Action
* [doc] Add a note about where lock annotations should go.
* [validation] Move the lock annotation from function definition to declaration
* cli: update -netinfo help doc following the merge of 882ce251
* cli: small -netinfo simplification and performance improvement
* cli: improve -netinfo invalid argument error message
* cli: warn in help that -netinfo is not intended to be a stable API
* cli: enable -netinfo help to run without a remote server
* test: Move P2WSH_OP_TRUE to shared test library
* [test] Check user agent string from test framework connections
* [test] Add P2P_SERVICES to p2p.py
* [test] Move MY_RELAY to p2p.py
* [test] Move MY_SUBVERSION to p2p.py
* [test] Move MY_VERSION to p2p.py
* [test] Move MIN_VERSION_SUPPORTED to p2p.py
* doc: Rework internal and external links
* util: Use std::chrono for time getters
* time: add runtime sanity check
* build: actually stop configure if Boost isn\'t available
* build: explicitly install libboost-dev package
* build: remove mostly pointless BOOST_PROCESS macro
* test: disallow sendtoaddress/sendmany when private keys disabled
* Disallow sendtoaddress and sendmany when private keys disabled
* [doc / util] Use comments to clarify time unit for int64_t type.
* [util] Introduce a SetMockTime that takes chrono time
* [util] Change GetMockTime to return chrono type instead of int
* [test] Throw error instead of segfaulting in failure scenario
* [test] Introduce a unit test helper to create a valid mempool transaction.
* guix: Passthrough BASE_CACHE into container
* test: Speed up rpc_blockchain.py by removing miniwallet.generate()
* test: Change address type from P2PKH to P2WSH in rpc_blockchain
* test: Cache 25 mature coins for ADDRESS_BCRT1_P2WSH_OP_TRUE
* test: Remove unused bug workaround
* test: Start only the number of nodes that are needed
* net: Log to net debug in MaybeDiscourageAndDisconnect except for noban and manual peers
* Add \"index/blockfilterindex -> validation -> index/blockfilterindex\" to expected circular dependencies
* Add functional test for blockfilterindex in prune-mode
* Add debug startup parameter -fastprune for more effective pruning tests
* Avoid pruning below the blockfilterindex sync height
* faster HexStr => 13% faster blockToJSON
* cli: Treat high detail levels as the maximum in -netinfo
* scripted-diff: rename ping members
* [net processing] Move ping data fields to net processing
* [net processing] Move ping timeout logic to net processing
* [net processing] Move send ping message logic into function
* [net] Add RunInactivityChecks()
* [net processing] Add Peer& arg to MaybeDiscourageAndDisconnect()
* fuzz: Remove expensive and redundant muhash from crypto fuzz target
* scripted-diff: Remove shadowing lock annotations
* Add benchmark to write JSON into a string
* Re-add dead code detection
* net: remove CNode::m_inbound_onion defaults for explicitness
* net: make CNode::m_inbound_onion public, drop getter, update tests
* doc/bips: Add BIPs 43, 44, 49, and 84
* [test] Use mocktime in test_seed_peers()
* [refactor] Correct log message in net.cpp
* doc: Guix is shipped in Debian and Ubuntu
* doc: remove potentially confusing ChainstateManager comment
* test: Add tests with maleated snapshot data
* tests: add snapshot activation test
* tests: add deterministic chain generation unittest fixture
* move-onlyish: break out CreateUTXOSnapshot from dumptxoutset
* txdb: don\'t reset during in-memory cache resize
* simplify ChainstateManager::SnapshotBlockhash() return semantics
* chainparams: add allowed assumeutxo values
* build: consolidate reduced export checks
* test: fix sign comparison warning in socket tests
* build: add building libconsensus to end-of-configure output
* build: remove ax_gcc_func_attribute macro
* build: remove AX_GCC_FUNC_ATTRIBUTE test for dllimport
* build: test for __declspec(dllexport) in configure
* build: remove duplicate visibility attribute detection
* [p2p] No delay in adding fixed seeds if -dnsseed=0 and peers.dat is empty. Add -fixedseeds arg.
* fuzz: version handshake
* Avoid accessing nullpointer in BaseIndex::GetSummary()
* Allow blockfilter in conjunction with prune
* test: add Sock unit tests
* fuzz: Fail if message type is not fuzzed
* fuzz: Count message type fuzzers before main()
* contrib/init: (OpenRC) quote some unquoted variables.
* contrib/init: (OpenRC) Do not fail if both rpcuser and rpcpassword are unset.
* log: Move \"Pre-allocating up to position 0x[...] in [...].dat\" log message to debug category
* log: Move \"Leaving block file [...]: [...]\" log message to debug category
* style: rename hSocket to sock
* net: use Sock in InterruptibleRecv() and Socks5()
* net: add RAII socket and use it instead of bare SOCKET
* net: move CloseSocket() from netbase to util/sock
* net: move MillisToTimeval() from netbase to util/time
* Deduplicate some block-to-JSON code.
* ci: Re-run wine tests once if they fail
* Add EditorConfig file.
* validation: don\'t try to invalidate genesis block
* zmq test: speedup test by whitelisting peers (immediate tx relay)
* zmq test: fix flakiness by using more robust sync method
* zmq test: accept arbitrary sequence start number in ZMQSubscriber
* zmq test: dedup message reception handling in ZMQSubscriber
* ci: Properly bump to focal for win cross build
* wallet: load flags before everything else
* test: remove unused function xor_bytes
* script: Make LXC container size suitable for gitian builds
* [refactor] improve style for touched code
* [refactor] const ATMPArgs and non-const Workspace
* [refactor] return MempoolAcceptResult
* Change BOOST_CHECK to BOOST_CHECK_EQUAL to see mismatched values when a check fails.
* test: remove unnecessary assignment in bdb
* ci: use Ubuntu Focal for macOS cross build
* [refactor] txmempool: split epoch logic into class
* test: remove assert_blockchain_height
* build: Disable --disable-fuzz-binary for guix builds
* build: Disable --disable-fuzz-binary for gitian builds
* test: Fix Windows cross build
* Decode auxpow parent block in RPC calls.
* doc: Fixup docs in fuzz/script_assets_test_minimizer.cpp
* fuzz: Hide script_assets_test_minimizer
* Explicitly specify addresstype for wallet_send.
* Skip auxpow_mining if no wallet.
* test: remove type: comments in favour of actual annotations
* docs: correctly identify script type
* gui: update to \"Direction/Type\" peer details name/tooltip
* gui: add \"Type\" column to Peers main window
* gui: allow ConnectionTypeToQString to prepend direction optionally
* contrib/signet/miner: remove debug code
* bitcoin-util: use AddCommand / GetCommand
* contrib/signet/README.md: Update miner description
* contrib/signet/miner: Automatic timestamp for first block
* contrib/signet/miner: --grind-cmd is required for calibrate
* contrib/signet: Fix typos
* build: build fuzz tests by default.
* test: fix timeout decrease in feature_assumevalid
* [doc] clarify -peertimeout and -timeout descriptions
* refactor: Treat ArgsManager::Flags as uint32_t explicitly
* fix the unreachable code at feature_taproot
* fuzz: Configure check for main function (take 2)
* doc: Replace tabs for spaces
* Introduce GetUniquePath(base) helper method to replace boost::filesystem::unique_path() which is not available in std::filesystem.
* doc: Fix markdown formatting
* wallet: Fix already-loading error message grammar
* fuzz: Avoid extraneous copy of input data, using Span<>
* depends: Include GUIX_ENVIRONMENT in id string
* depends: Improve id string robustness
* build: Proper quoting for var printing targets
* gitian: remove execstack workaround for ricv64 & powerpc64le
* build: use focal in gitian descriptors
* netinfo: display only outbound block relay counts
* netinfo: add i2p network
* netinfo: add bip152 high-bandwidth to/from fields
* netinfo: display manual peers count
* netinfo: update to use peer connection types
* Verify that all validation flags are backward compatible
* [test] check verification flags are minimal/maximal
* [test] Check for invalid flag combinations
* [refactor] use CheckTxScripts, TrimFlags, FillFlags
* Apply minimal validation flags to tx_invalid tests
* [test] add BADTX setting for invalid txns that fail CheckTransaction
* [test] fix two witness tests in invalid tests with empty vout
* Apply maximal validation flags to tx_valid tests
* [test] fix CSV test missing OP_ADD
* [test] remove unnecessary OP_1s from CSV and CLTV tests
* [refactor] clean up logic in testmempoolaccept
* netinfo: add ConnectionTypeForNetinfo member helper function
* doc: refer to BIPs 339/155 in feature negotiation
* build: make macOS HOST in download-osx generic
* util: Disallow negative mocktime
* net: Avoid UBSan warning in ProcessMessage(...)
* Add release notes for listdescriptors RPC
* ci: remove boost thread installation
* build: don\'t build or use Boost Thread
* refactor: replace Boost shared_mutex with std shared_mutex in sigcache
* refactor: replace Boost shared_mutex with std shared_mutex in cuckoocache tests
* validation: Guard all chainstates with cs_main
* init: use GetNetworkNames() in -onlynet help
* rpc: use GetNetworkNames() in getnetworkinfo and getpeerinfo helps
* net: create GetNetworkNames()
* net: update NET_UNROUTABLE to not_publicly_routable in GetNetworkName()
* scripted-diff: Remove setup_clean_chain if default is not changed
* doc: Improve setup_clean_chain documentation
* build: Add -Werror=mismatched-tags
* doc: More precise -debug and -debugexclude doc
* Drop boost/preprocessor dependencies
* refactor: Move STRINGIZE macro to macros.h
* Fix -Wmismatched-tags warnings
* refactor: replace sizeof(a)/sizeof(a[0]) by std::size (C++17)
* refactor: init vectors via std::{begin,end} to avoid pointer arithmetic
* qt: Save/restore recentRequestsView table column sizes
* qt: Drop buggy TableViewLastColumnResizingFixer class
* qt: Move recentRequestsView properties settings to constructor
* qt: Save/restore TransactionView table column sizes
* qt: Move transactionView properties settings to constructor
* qt, refactor: Drop intermediate assignment
* refactor: iterate arrays via C++11 range-based for loops if idx is not needed
* test: Add test for deterministic UTXO set hash results
* test: Add test for gettxoutsetinfo RPC with MuHash
* gui: display plain \"Inbound\" in peer details
* rpc: Add hash_type MUHASH to gettxoutsetinfo
* refactor: Separate hash and stats calculation in coinstats
* fuzz: Avoid designated initialization (C++20) in fuzz tests
* Remove pointer cast in CRPCTable::dumpArgMap
* refactor: Add RPC server ExecuteCommands function
* refactor: Replace JSONRPCRequest fHelp field with mode field
* net_processing: simplify MaybeSetPeerAsAnnouncingHeaderAndIDs args
* net_processing: move MaybeSetPeerAsAnnouncingHeadersAndIDs into PeerManagerImpl
* net_processing: simplify ProcessGetData and FindTxForGetData args
* net_processing: move FindTxForGetData and ProcessGetData to PeerManagerImpl
* net_processing: simplify PeerManageImpl method args
* net_processing: move MarkBlockAs
*, TipMayBeStale, FindNextBlocksToDL to PeerManagerImpl
* net_processing: simplify AlreadyHaveTx args
* net_processing: move AlreadyHaveTx into PeerManageImpl
* net_processing: move some globals into PeerManagerImpl
* [addrman] Don\'t repeat \"Bucketing method was updated\" log multiple times
* [addrman] Improve serialization comments
* doc: Document use of make-tag script to make tags
* refactor: remove boost::thread_group usage
* Namecoin / Qt: Decorate name transactions
* Namecoin / Qt: Edit existing name table instead of resetting
* peers-tab: bug fix right panel toggle
* bitcoin-cli: Correct docs (no \"generatenewaddress\" exists)
* rpc, test: document {previous,next}blockhash as optional
* style-only: Remove redundant sentence in ActivateBestChain comment
* style-only: Make TestBlockValidity signature readable
* validation: Use accessible chainstate in ChainstateManager::ProcessNewBlock
* validation: Use existing chainstate in ChainstateManager::ProcessNewBlockHeaders
* validation: Move LoadExternalBlockFile to CChainState
* validation: Remove global ::ActivateBestChain
* validation: Pass in chainstate to ::NotifyHeaderTip
* validation: Pass in chainstate to TestBlockValidity
* validation: Make CChainState.m_blockman public
* validation: Pass in blockman to ContextualCheckBlockHeader
* validation: Move GetLastCheckpoint to BlockManager
* validation: Move GetSpendHeight to BlockManager
* validation: Move FindForkInGlobalIndex to BlockManager
* validation: Remove global LookupBlockIndex
* scripted-diff: Use BlockManager::LookupBlockIndex
* validation: Move LookupBlockIndex to BlockManager
* validation: Guard the active_chainstate with cs_main
* Improve gui/src/qt README.md
* fuzz: Disable shuffle when merge=1
* rpc: Return total fee in mempool
* rpc: Remove duplicate name and argNames from CRPCCommand
* rpc: Use RPCHelpMan for check-rpc-mappings linter
* rpc: [refactor] Use concise C++11 code in CRPCConvertTable constructor
* net_processing: log txrelay flag from version message
* net: use peer=N instead of from=N in debug log
* net_processing: additional debug logging for ignored messages
* net: make debug logging conditional on -debug=net
* net, net_processing: log disconnect reasons with -debug=net
* qt: Save/restore RPCConsole geometry only for window
* wallet, rpc: add listdescriptors command
* tests: Disable bdb dump test when no bdb
* Fix wallet_send.py wallet setup to work with descriptors
* Require legacy wallet for wallet_upgradewallet.py
* Explicitly mark legacy wallet tests as such
* Setup wallets for interface_zmq.py
* Use MiniWallet in rpc_net.py
* Setup wallets for interface_bitcoin_cli.py
* Setup wallets with descriptors for feature_notifications
* Have feature_filelock.py test both bdb and sqlite, depending on compiled
* Disable upgrades tests that require BDB if BDB is not compiled
* Disable wallet_descriptor.py bdb format check if BDB is not compiled
* tests: Don\'t make any wallets unless wallet is required
* Skip legacy wallet reliant tests if BDB is not compiled
* tests: Set descriptors default based on compilation
* Namecoin: Rebrand macOS deploy readme
* doc: update tor.md manual config, move after automatic config
* ci: Fuzz with integer sanitizer
* Add information to \"Confirm fee bump\" window
* refactor: remove straggling boost::mutex usage
* fuzz: Add UBSan suppressions needed for fuzz tests to not warn under -fsanitize=integer
* fuzz: Avoid -fsanitize=integer warnings in fuzzing harnesses
* doc: update/improve automatic tor section of tor.md
* doc: update -proxy, -onion and -onlynet info in tor.md
* doc: update -onlynet help in src/init.cpp
* Namecoin: Rebrand Gitian distname
* raise helpMessageDialog
* Namecoin / Qt: Add Renew button
* Namecoin: Fix Gitian path for depends
* Fix docker args conditional
* rpc: Add specific error code for \"wallet already loaded\"
* gitian-linux: Extend noexec-stack workaround to powerpc
* gitian-linux: Build binaries for 64-bit POWER
* gitian-keys: Add signer aliases, some historical keys
* refactor: Improve encapsulation between MuHash3072 and Num3072
* Fix BlockToJsonVerbose benchmark
* Better error messages for invalid addresses
* Add documentation to contrib folder
* Add Message Capture Test
* Add capture parser
* Call CaptureMessage at appropriate locations
* Add CaptureMessage
* fuzz: Avoid initializing version to less than MIN_PEER_PROTO_VERSION
* fuzz: move-only FillNode implementation to cpp file
* test: store subversion (user agent) as string in msg_version
* doc: add instructions for generating RPC docs
* gitian-keys: add CoinForensics key
* [docs] Update developer notes to discourage very long lines
* doc: add xorriso to macOS depends packages
* Namecoin: Add Renew to Qt GUI context menu
* Fix MSVC build after gui#176
* util: Add ArgsManager::GetCommand() and use it in bitcoin-wallet
* refactor: Move all command dependend checks to ExecuteWalletToolFunc
* test: Add tests
* wallet: [refactor] Pass ArgsManager to WalletAppInit
* guix: Fix typo
* guix: README: Add darwin HOSTS entry
* guix: Check for macOS SDK before building anything
* guix: Set ZERO_AR_DATE for darwin build determinism
* build: Make xorrisofs reproducible with -volume_date
* guix: Add support for darwin builds
* build: Add var printing target to src/Makefile.am
* fuzz: Initialize a full TestingSetup where appropriate
* fuzz: Consolidate fuzzing TestingSetup initialization
* zmq: deduplicate \'sequence\' publisher message creation/sending
* test: Work around libFuzzer deadlock
* locks: Annotate CTxMemPool::check to require cs_main
* test: check that getblockfilter RPC fails without block filter index
* qt: drop workaround for QTBUG-42503 which was fixed in Qt 5.5.0
* gitian: Properly quote arguments in wrappers
* Support glibc-back-compat on 64-bit POWER
* doc: Add developer documentation to isminetype
* [net] Cleanup InactivityChecks() and add commenting about time
* GUI: Write PSBTs to file with binary mode
* [addrman] Improve variable naming/code style of touched code.
* [addrman] Don\'t rebucket new table entries unnecessarily
* [addrman] Rename asmap version to asmap checksum
* [addrman] Improve variable naming/code style of touched code.
* [addrman] Fix new table bucketing during unserialization
* Fix sign-compare warning.
* Fix integer overflow in auxpow code.
* test: Fix get_previous_releases.py for aarch64
* Change type definitions for \"chain\" and \"setup_clean_chain\" from type comments to Python 3.6+ types. Additionally, set type for \"nodes\".
* Clean PushMessage and ProcessMessages
* lint: Skip whitespace lint for guix patches
* guix: Make nsis reproducible by respecting SOURCE-DATE-EPOCH
* wallet: Add BerkeleyDB version sanity check at init time
* zmq test: deduplicate test setup code (node restart, topics subscription)
* rpc: document RPC_TRANSACTION_ALREADY_IN_CHAIN exception
* Replace fs::absolute calls with AbsPathJoin calls
* Fix 0.21.0 release note to specify correct option BIP 157 support
* test: Clear forced -walletdir setting after wallet init_tests
* log: Prefix log messages with function name if -logsourcelocations is set
* build: fix RELOC_SECTION security check for bitcoin-util
* build: improve macro for testing -latomic requirement
* add std::atomic include to bitcoin-util.cpp
* doc: Add historic 0.21.0 release notes
* validation: remove redundant check on pindex
* [net] InactivityCheck() takes a CNode reference
* fuzz: Use mocktime in process_message
* fuzz targets
* Add include for std::bind.
* rpc: Return wtxid from testmempoolaccept
* doc, rpc: add missing signet mentions in network name lists
* scripted-diff: Fix typo in stub manual pages
* doc: Add manual page generation for bitcoin-util
* [doc] for CheckInputsFromMempoolAndCache
* lock annotations for MemPoolAccept functions
* contrib/signet: Document miner script in README.md
* contrib/signet: Add script for generating a signet chain
* Add bitcoin-util command line utility
* fuzz: Introduce CallOneOf helper to replace switch-case
* contrib: embed C++11 patch in install_db4.sh
* doc: update ConnectionType Doxygen documentation
* gui: improve markup handling of connection type tooltip
* gui: return inbound {full, block} relay type in peer details
* test: add test for banning of non-IP addresses
* net: allow CSubNet of non-IP networks
* refactor, net: Increase CNode data member encapsulation
* refactor, move-only: Relocate CNode private members
* net_processing: move Peer definition to .cpp
* net_processing: move PeerManagerImpl into cpp file
* net_processing: split PeerManager into interface and implementation classes
* net_processing: make more of PeerManager private
* net, net_processing: move NetEventsInterface method docs to net.h
* rpc: move getpeerinfo connection_type help to correct place
* gui: improve connection type tooltip
* gui: replace Direction with Connection Type in peer details
* doc: Add explicit macdeployqtplus dependencies install step
* Remove deprecated bumpfee behavior
* guix: Print build params inside/outside of container
* guix: Move DISTSRC determination to guix-build.sh
* guix: Move OUTDIR determination+creation to guix-build.sh
* guix: Add more sanity checks to guix-build.sh
* guix: Add section headings to guix-build.sh
* genbuild: Specify rev-parse length
* docs: Point to contrib/guix/README.md in doc/guix.md
* guix: Small updates to README wording
* guix: Update HOSTS README entry for new architectures
* guix: Remove README development environment section
* guix: Add ADDITIONAL_GUIX_{COMMON,TIMEMACHINE}_FLAGS options
* guix: Add SUBSTITUTE_URLS option
* guix: Make guix honor MAX_JOBS setting
* doc: Fix systemd spelling and link to doc/init.md
* script: Add Documentation key to bitcoind.service
* script: Improve robustness of bitcoind.service on startup
* qt: Stop the effect of hidden widgets on the size of QStackedWidget
* gui: create GUIUtil::ConnectionTypeToQString utility function
* qt: Use \"fusion\" style on macOS Big Sur with old Qt
* build: Fix Qt processing of configure script for depends with DEBUG=1
* fuzz: Add missing muhash registration
* test: Replace getmempoolentry with testmempoolaccept in MiniWallet
* gitian: Remove codesign_allocate and pagestuff from MacOS build
* gitian: use signapple to create the MacOS code signature
* gitian: use signapple to apply the MacOS code signature
* gitian: install signapple in gitian-osx-signer.yml
* depends: Add comment about cache invalidation
* depends: Fully determine path for darwin cctools
* depends: Fully determine path for darwin_{CC,CXX}
* depends: Quote to prevent word splitting in config.site
* depends: Remove -fuse-ld line
* depends: Pin clang search paths for darwin host
* depends: Delay expansion of per-package vars
* test: run mempool_compatibility.py even with wallet disabled
* [test] Test the add_outbound_p2p_connection functionality
* [test] P2PBlocksOnly - Test block-relay-only connections.
* [test/refactor] P2PBlocksOnly - Extract transaction violation test into helper.
* [test/refactor] P2PBlocksOnly - simplify transaction creation using blocktool helper.
* [test] Add test framework support to create outbound connections.
* [rpc/net] Introduce addconnection to test outbounds & blockrelay
* fuzz: net permission flags in net processing
* doc: Add release notes
* doc: Add libnatpmp stuff
* ci: Add libnatpmp-dev package to some builds
* gui: Add NAT-PMP network option
* net: Add -natpmp command line option
* net: Add NAT-PMP to port mapping loop
* net: Add libnatpmp support
* gui: Apply port mapping changes on dialog exit
* scripted-diff: Rename UPnP stuff
* net: Add flags for port mapping protocols
* net: Keep trying to use UPnP when -upnp=1
* refactor: Replace magic number with named constant
* refactor: Move port mapping code to its own module
* net: Remove unused cs_feeFilter
* Expose integral m_conn_type in CNodeStats, remove m_conn_type_string
* net: Move SocketSendData lock annotation to header
* net: Move CConnman/NetEventsInterface after CNode in header file
* qt: Use layout manager for Create Wallet dialog
* gitian-keys: add miketwenty1 key
* qt: Fix TxViewDelegate layout
* netinfo: add user help documentation
* qt: Add TransactionOverviewWidget class
* gitian-keys: add key for guggero
* Replace boost::variant with std::variant
* gitian-keys: add darosior\'s key
* Revert \"Add patch to make codesign_allocate compatible with Apple\'s\"
* [mempool] Remove error suppression on upgrade
* Add gitian PGP key for theStack
* Add benthecarman to keys.txt
* test: Add sanitizer suppressions for AMD EPYC CPUs
* doc: fix various typos
* doc: Use https URLs where possible
* refactor: Use C++17 std::array deduction for ALL_FEE_ESTIMATE_HORIZONS
* fuzz: bolster ExtractDestination(s) checks
* refactor: Use C++17 std::array deduction for OUTPUT_TYPES
* qt: Follow Qt docs when implementing rowCount and columnCount
* lint: ignore gitian keys file for spelling linter
* lint: update list of spelling linter false positives
* [net] Add cs_vSend lock annotations
* [net] Move RecordBytesSent() call out of cs_vSend lock
* doc: update developer notes for signet
* fuzz: Use ConsumeWeakEnum for ServiceFlags
* fuzz: Add ConsumeWeakEnum helper, Extract ALL_NET_PERMISSION_FLAGS
* fuzz: [refactor] Extract ALL_CONNECTION_TYPES constant
* fuzz: Use ConsumeNode in process_message target
* fuzz: Use ConsumeNode in process_messages target
* test: bump codespell linter version to 2.0.0
* refactor: Remove nMyStartingHeight from CNode/Connman
* rpc: Replace boost::variant with std::variant for RPCArg.m_fallback
* scripted-diff: Bump copyright headers
* Remove redundant MakeUCharSpan wrappers
* Remove CDataStream::Init in favor of C++11 member initialization
* fuzz: Remove duplicate ALL_OUTPUT_TYPE array
* fuzz: Bump FuzzedDataProvider.h
* qt, refactor: Drop no longer used PeerTableModel::getNodeStats function
* qt: Use PeerTableModel::StatsRole
* qt: Add PeerTableModel::StatsRole
* doc: Update license year range to 2021
* Use joinpsbts in name_ant_workflow.py.
* fuzz: check that certain script TxoutType are nonstandard
* p2p: remove unused legacyWhitelisted variable
* Update \'Secure string handling\'
* fuzz: remove no-longer-necessary packages from fuzzbuzz config
* lint: run mypy over contrib/devtools
* fuzz: Add coverage for CDataStream consumer
* gui: display network in peer details
* gui: rename peer tab column headers, initialize in .h
* gui: add network column in peers tab/window
* gui: fix broken doxygen formatting in src/qt/guiutil.h
* gui: create GUIUtil::NetworkToQString() utility function
* net, rpc: change CNodeStats::m_network from string to Network
* [doc] Add release notes for removed getpeerinfo fields.
* [rpc] Remove deprecated \"whitelisted\" field from getpeerinfo
* [rpc] Remove deprecated \"banscore\" field from getpeerinfo
* [rpc] Remove deprecated \"addnode\" field from getpeerinfo
* refactor: Enable -Wswitch for FeeEstimateHorizon
* qt: Save QSplitter state in QSettings
* test: Fix Comment Typo in BitcoinTestFramework
* Add a test that selects too large if BnB is used
* fuzz: Check that NULL_DATA is unspendable
* test: Set correct nValue for multi-op-return policy check
* doc: [test] Remove outdated comment in fuzz runner
* util: Log static plugins meta data and style
* [doc] Add permissions to the getpeerinfo help.
* test: Add race:SendZmqMessage tsan suppression
* Update TSan suppressions
* [net processing] Remove dropmessagestest
* qa: Correct epoll_ctl data race suppression
* Make CAuxPow movable but not copyable.
* Add missing lock in auxpow_tests.
* Add EXCLUSIVE_LOCKS_REQUIRED for auxpow miner.
* test: Change MuHash Python implementation to match cpp version again
* fuzz: Add MuHash consistency fuzz test
* fuzz: Update FuzzedDataProvider.h from upstream (LLVM)
* test: Add MuHash3072 fuzz test
* bench: Add Muhash benchmarks
* test: Add MuHash3072 unit tests
* crypto: Add MuHash3072 implementation
* rpc: Add missing description of vout in getrawtransaction help text
* test: Add missing assignment in mempool_resurrect.py
* script: Remove outdated extract-osx-sdk.sh
* contrib: remove verify.sh
* contrib: binary verification script verify.sh rewritten in python
* ci: Print COMMIT_RANGE to the log as it was in Travis CI
* ci: Drop Travis-specific workaround for shellcheck
* ci: Drop Travis-specific way to set COMMIT_RANGE variable
* ci: Fix COMMIT_RANGE variable value for PRs
* Namecoin: rebrand Cirrus build directory
* inline non-member functions with body in fuzzing headers
* crypto: Add Num3072 implementation
* build: Check for 128 bit integer support
* build: more robustly check for fcf-protection support
* [net processing] Guard m_continuation_block with m_block_inv_mutex
* [net processing] Move hashContinue to net processing
* scripted-diff: rename vBlockHashesToAnnounce and vInventoryBlockToSend
* [net processing] Move block inventory data to Peer
* [net processing] Rename nStartingHeight to m_starting_height
* [net processing] Move nStartingHeight to Peer
* [net processing] Improve documentation for Peer destruction/locking
* Replace boost::optional with std::optional
* Remove unused MakeOptional
* psbt: Assert that tx has a value in UpdatePSBTOutput
* ci: Install missing lint packages
* test: run mempool_resurrect.py even with wallet disabled
* qt: Align layout of checkboxes
* doc: Drop mentions of Travis CI as it is no longer used
* ci: Drop travis_fold feature as Travis CI is no longer used
* wallet: Add missing check for -descriptors wallet tool option
* test: Add missing check for is_sqlite_compiled
* Clean up logging of outbound connection type
* net: add CNode::IsInboundOnion() public getter and unit tests
* net: assert CNode::m_inbound_onion is inbound in ctor
* test, fuzz: fix constructing CNode with invalid inbound_onion
* wallet: Pass ArgsManager into ExecuteWalletToolFunc instead of using global
* fuzz: replace CNode code with fuzz/util.h::ConsumeNode()
* test: Fix restart node race
* build: Define .INTERMEDIATE target once only
* doc: Convert depends options list from html to markdown
* ci: Only use credits for pull requests to the main repo
* ci: Use cpu=1 for linter
* doc: update -externalip documentation in tor.md
* doc: add tor.md section on how to get tor info via bitcoind
* doc: update tor.md address examples from onion v2 to v3
* doc: Remove shouty enums in net_processing comments
* tests: Test bitcoin-wallet dump and createfromdump
* wallettool: Add createfromdump command
* wallettool: Add dump command
* build: remove cdrkit package from depends
* build: Replace genisoimage with xorriso
* fuzz: Fill various small fuzzing gaps
* doc: warn that incoming conns are unlikely when not using default ports
* fuzz: Call SendMessages after ProcessMessage to increase coverage
* depends: Use more legible qmake commands in qt package
* depends: Do not set build_subdir for qt package
* tests: Add fuzzing harness for node eviction logic
* Assert eviction at >= 29 candidates. Assert non-eviction at <= 20 candidates.
* test: Add unit testing of node eviction logic
* net: Move eviction node selection logic to SelectNodeToEvict(...)
* GUI: Define MAX_DIGITS_BTC for magic number in BitcoinUnits::format
* Only consider addrv2 peers for relay of non-addrv1 addresses
* refactor: add IsAddrCompatible() to CNode
* ci: Move linter task to cirrus
* init: Signal-safe instant shutdown
* Move signet onion seed from v2 to v3
* Check if Cjdns address is valid
* doc: Move add relay comment in net to correct place
* build: Add option --enable-danger-fuzz-link-all
* [net processing] Tolerate sendheaders and sendcmpct messages before verack
* [net] Make p2p recv buffer timeout 20 minutes for all peers
* depends: Drop workaround for a fixed bug in Qt build system
* rpc: allow getblocktemplate for test chains when unconnected or in IBD
* rpc: update getblocktemplate with signet rule, include signet_challenge
* Add patch to make codesign_allocate compatible with Apple\'s
* net: use std::chrono throughout maxOutbound logic
* init: set nMaxOutboundLimit connection option directly
* net: remove nMaxOutboundTimeframe from connection options
* net: remove SetMaxOutboundTimeframe
* net: remove SetMaxOutboundTarget
* fix misleading comment about call to non-existing function
* build: Run libdmg-hfsplus\'s DMG tool in make deploy
* [net processing] Clarify UpdatedBlockTip()
* [net processing] Remove unnecesary nNewHeight variable in UpdatedBlockTip()
* [net processing] Remove nStartingHeight check from block relay
* doc: Update for FreeBSD 12.2, add GUI Build Instructions
* test: Fix inconsistent lock order in wallet_tests/CreateWallet
* [skip ci] sync: Check precondition in LEAVE_CRITICAL_SECTION() macro
* sync: Improve CheckLastCritical()
* Remove m_is_manual_connection from CNodeState
* test: run mempool_expiry.py even with wallet disabled
* cirrus: Schedule one task with paid credits for faster CI feedback
* Clarify comments around outbound peer eviction
* Periodically make block-relay connections and sync headers
* Use conn_type to identify block-relay peers, rather than m_tx_relay == nullptr
* Simplify and clarify extra outbound peer counting
* net: don\'t relay to the address\' originator
* test: Use Popen.wait instead of RPC in assert_start_raises_init_error
* Move TX_MAX_STANDARD_VERSION to policy
* fuzz: Link all targets once
* Rewrite OutputGroups to be clearer and to use scriptPubKeys
* configure: output notice that test binary is disabled by fuzzing
* Bugfix: GUI: Restore SendConfirmationDialog button default to \"Yes\"
* Remove g_relay_txes
* [net processing] Add m_ignores_incoming_txs to PeerManager and use internally
* [init] Use MakeUnique<> to construct peerman
* [net processing] Add IgnoresIncomingTxs() function to PeerManager
* [net processing] Move PushNodeVersion into PeerManager
* contrib: add symbol check test for PE
* Add regression test for incorrect decoding
* test: Add new ChainTestingSetup and use it
* qt/test: [FIX] Add forgotten Context setting in RPCNestedTests
* Improve heuristic hex transaction decoding
* Send and require SENDADDRV2 before VERACK
* Remove unused bits from service flags enum
* Squashed \'src/crc32c/\' changes from 224988680f..b5ef9be675
* util: Allow use of C++14 chrono literals
* test: Remove no longer needed MakeChain calls
* Avoid weak-linked getauxval support on non-linux platforms (like macOS)
* Define correct symbols for getauxval
* Update net_processing WTXID documentation per BIP339
* Don\'t send \'sendaddrv2\' to pre-70016 software
* wallet: document that tx in CreateTransaction is purely an out-param
* Remove unused and confusing CTransaction constructor
* log: Clarify that failure to read fee_estimates.dat is non-fatal
* refactor: Replace uses ChainActive() in interfaces/chain.cpp
* refactor: Get rid of more redundant chain methods
* log: Clarify that failure to write fee_estimates.dat is non-fatal
* [net processing] Add RemovePeer()
* [net processing] Make GetPeerRef const
* [net_processing] Move peer_map to PeerManager
* doc: Update wallet database installation guide for macOS
* build: Use Homebrew\'s sqlite package if it is available
* tracing: add tracing framework
* build: detect sys/sdt.h for eBPF tracing
* rpc: Use FeeModes doc helper in estimatesmartfee
* [doc] Tidy up Tor doc (more stringent)
* Don\'t declare de facto const reference variables as non-const
* Don\'t declare de facto const member functions as non-const
* Make CanFlushToDisk a const member function
* Do not run functions with necessary side-effects in assert()
* Don\'t make \"in\" parameters look like \"out\"/\"in-out\" parameters: pass by ref to const instead of ref to non-const
* doc: libbitcoinconsensus: add missing error code description, fix NBitcoin link
* test: add coverage for passing fee rate as a string
* ci: Adjust Cirrus CI task names (follow up)
* wallet, bugfix: allow send to take string fee rate values
* rpc: Reject empty txids in gettxoutproof
* rpc, refactor: Avoid duplicate set lookup in gettxoutproof
* sync: Use decltype(auto) return type for WITH_LOCK
* wallet: List all wallets in non-SQLite or non-BDB builds
* refactor: Consolidate redundant wallet database path and exists functions
* refactor: Drop call to GetWalletEnv in wallet salvage code
* refactor: Replace ListWalletDir() function with ListDatabases()
* MOVEONLY: Move IsBDBFile, IsSQLiteFile, and ListWalletDir
* [net processing] Move GetNodeStateStats into PeerManager
* build, refactor: Check that Homebrew\'s qt5 package is actually installed
* net: Assume that SetCommonVersion is called at most once per peer
* test: Fix intermittent wallet_multiwallet issue with got_loading_error
* test: pep8 wallet_multiwallet.py
* test: Add option to git-subtree-check to do full check, add help
* refactor: Use C++17 std::array where possible
* Android : Ensure pic build for bdb
* build: Check that Homebrew\'s berkeley-db4 package is actually installed
* tests: Test that a fully signed tx given to signrawtx is unchanged
* ci: Build with --enable-werror by default, and document exceptions
* Clear m_addr_known before our periodic self-advertisement
* feestimator: encapsulate estimation file logic
* init: don\'t create a CBlockPolicyEstimator if we don\'t relay transactions
* Remove the remaining fee estimation globals
* interface: remove unused estimateSmartFee method from node
* contrib: add MACHO tests to symbol-check tests
* contrib: Add test for ELF symbol-check
* Removed redundant git pull from appveyor config.
* Support make src/bitcoin-node and src/bitcoin-gui
* depends: Do not force Precompiled Headers (PCH) for building Qt on Linux
* Adjusted msvc compiler and linker settings to remove optimisations that are causing sporadic ABI issues on Visual Studio updates.
* ci: Adjust cirrus ci task names
* ci: no-longer exclude feature_block in TSAN job
* refactor: Improve use of explicit keyword
* lint: Use c++17 std in cppcheck linter
* fuzz: Avoid time-based \"non-determinism\" in fuzzing harnesses by using mocked GetTime()
* test: Fix wallet_multiwallet issue on windows
* Fail if maximum weight is too large
* Have CalculateMaximumSignedTxSize also compute tx weight
* test: Fix intermittent feature_taproot issue
* doc: rename CODEOWNERS to REVIEWERS
* build: mac_alias 2.1.1
* macdeploy: use Python 3.6
* macdeploy: remove runHDIUtil in favor of directly calling subprocess.run
* macdeploy: remove existing Bitcoin-Core.dmg if present
* macdeploy: move qt_conf to where it\'s used
* macdeploy: consolidate .DS_Store generation
* macdeploy: assume plistlib is available
* macdeploy: have a single level of logging output
* macdeploy: remove add-resources argument
* macdeploy: remove codesigning argument
* build: automatically determine macOS translations
* GUI/Intro: Move prune setting below explanation
* GUI/Intro: Estimate max age of backups that can be restored with pruning
* Warn when binaries are built from a dirty branch.
* [test] Fix wait condition in disconnect_p2ps
* qt: unlock wallet \"OK\" button bugfix
* Add [[nodiscard]] to RenameOver(...)
* Handle rename failure in DumpMempool(...) by using RenameOver(...) return value
* refactor: Replace deprecated Qt::SystemLocale{Short,Long}Date
* Mention units of MAX_STANDARD_ policy constants
* Mention in validation that IsWitnessStandard tests for P2TR
* Clean up assets test minimizer LDFLAGS
* Document additional IsWitnessStandard behavior
* Add comments on CPubKey::IsValid
* Add comments to VerifyTaprootCommitment
* Document need_vin_vout_mismatch argument to make_spender
* Fix and improve taproot_construct comments
* doc: Add bash as an OpenBSD dependency
* sync: use HasReason() in double lock tests
* sync: const-qualify the argument of double_lock_detected()
* sync: print proper lock order location when double lock is detected
* Remove NODISCARD
* scripted-diff: Use [[nodiscard]] (C++17) instead of NODISCARD
* Add MAX_STANDARD_SCRIPTSIG_SIZE to policy
* build: Drop unneeded IOKit framework dependency
* build: Drop unneeded ApplicationServices framework dependency
* qt: Improve comments in WalletController::getOrCreateWallet()
* qt: Call setParent() in the parent\'s context
* qt: Add ObjectInvoke template function
* Fix length of R check in test/key_tests.cpp:key_signature_tests
* Drop noop gcc version checks
* This change to the appveyor CI config for msvc builds reverses a change introduced in #19960. It re-applies a setting to inform vcpkg to only build release vesions of the dependencies rather than the default of debug and release.
* Add depends qt fix for ARM macs
* Move WalletImpl from interfaces/wallet.cpp to wallet/interfaces.cpp
* Move ChainImpl from interfaces/chain.cpp to node/interfaces.cpp
* Move NodeImpl from interfaces/node.cpp to node/interfaces.cpp
* Don\'t set BDB flags when configuring without
* doc: Document current boost dependency as 1.71.0
* util: Remove probably misleading TODO
* util: Add Assume() identity function
* util: Allow Assert(...) to be used in all contexts
* test: Add testing of ParseInt/ParseUInt edge cases with leading +/-/0:s
* RPC/Wallet: unloadwallet: Allow specifying wallet_name param matching RPC endpoint
* depends: build qt in c++17 mode
* builds: don\'t pass -silent to qt when building in debug mode
* depends: build zeromq with -std=c++17
* depends: build Boost with -std=c++17
* depends: build bdb with -std=c++17
* build: Avoid secp256k1.h include from system
* doc: Release note regarding -rpcauth validation
* rpc: Validate -rpcauth arguments
* rpc: Refactor to process -rpcauth once
* depends: boost: Specify cflags+compileflags
* depends: boost: Remove unnecessary _archiver_
* depends: boost: Cleanup toolset selection
* depends: boost: Cleanup architecture/address-model
* depends: boost: Disable all compression
* depends: boost: Split into non-/native packages
* depends: boost: Bump to 1.71.0
* depends: boost: Refer to version in URL
* Treat CDataStream bytes as uint8_t
* refactor: Drop CDataStream constructors in favor of one taking a Span of bytes
* Namecoin: Add Qt GUI for name_list
* test: Fix intermittent p2p_finerprint issue
* Remove unused CDataStream methods
* Fix QPainter non-determinism on macOS
* ci: Fix doc typos in .cirrus.yml
* ci: Run i686 centos ci config on cirrus
* ci: Run nowallet ci config on cirrus
* test: add is_bdb_compiled helper
* contrib: Changes to checks for PowerPC64
* contrib: Parse ELF directly for symbol and security checks
* Fix version string in Windows and Mac installers
* net: Treat raw message bytes as uint8_t
* Use the correct incremental fee constant in bumpfee help
* Update feeRate (BTC/kvB) to fee_rate (sat/vB) in wallet_bumpfee
* Allow zero-fee fundrawtxn and walletcreatefundedpsbt calls
* sanitizers: Add suppression for unsigned-integer-overflow in libstdc++ basic_string.tcc
* wallet (not for backport): improve upgradewallet error messages
* fuzz: Make addrman fuzzing harness deterministic
* Squashed \'src/univalue/\' changes from 98261b1e7b..98fadc0909
* p2p: Ignore version msgs after initial version msg
* p2p: Ignore non-version msgs before version msg
* GUI/Intro: Rework UI flow to let the user set prune size in GBs
* GUI/Intro: Abstract GUI-to-option into Intro::getPrune
* GUI/Intro: Return actual prune setting from showIfNeeded
* Drop the leading 0 from the version number
* Fix mock SQLiteDatabases
* Allow disabling BDB in configure with --without-bdb
* GUI: Force descriptor wallets when BDB is not compiled
* RPC: Require descriptors=True for createwallet when BDB is not compiled
* Enforce salvage is only for BDB wallets
* Do not compile BDB things when USE_BDB is defined
* Include wallet/bdb.h where it is actually being used
* Use std::make_unique
* build: Require C++17 compiler
* build: set minimum supported macOS to 10.14
* build: Bump gitian descriptors to 0.22
* doc: clean out release notes post branch-off
* doc: Remove generated manual pages from master branch
* build: Bump master version to 0.21.99
* CConnman: initialise at declaration rather than in Start()
* test: run mempool_spend_coinbase.py even with wallet disabled
* qt: Remove redundant BitcoinGUI::setTrayIconVisible
* gui: Replace \"Hide tray icon\" option with positive \"Show tray icon\" one
* build: remove global_init_link_order from mac qt qmake.conf
* build: document preprocessing steps in qt package
* build: don\'t copy Info.plist.
* into mkspec for macOS qt build
* build: remove plugin_no_soname from mac qt qmake.conf
* build: pass XCODE_VERSION through to qt macOS cross compile conf
* build: convert \"echo\" usage into a patch in qt package
* test: walettool create descriptors
* doc: Add instructions on how to fuzz the P2P layer using Honggfuzz NetDriver
* wallettool: add param to create descriptors wallet
* wallettool: pass in DatabaseOptions into MakeWallet
* depends: native_ds_store 1.3.0
* Replace KeyIDHasher with SaltedSipHasher
* Add generic SaltedSipHasher
* Move Hashers to util/hasher.{cpp/h}
* depends: Fix PYTHONPATH setting in config.site.in
* lint: Also lint files with shellcheck directive
* depends: Allow relative CONFIG_SITE path env var
* src/randomenv.cpp: fix build on uclibc
* configure: Support -f{debug,macro}-prefix-map
* [tests] Recommend f-strings for formatting, update feature_block to use them
* Bump minimum python version to 3.6
* refactor: Assert before dereference in CWallet::GetDatabase
* refactor: Drop redudant CWallet::GetDBHandle
* docs/descriptors.md: Remove hardened marker in the path after xpub
* [addrman] Fix Connected() comment
* doc: Clarify that vpindexToConnect is in reverse order
* Remove dead CheckForkWarningConditionsOnNewFork
* [net] Consolidate logic around calling CAddrMan::Connected()
* Remove redundant p2p lock tacking for tx download functional tests
* Add mutation for functional test test_preferred_inv
* Add functional test test_txid_inv_delay
* test: Makes wtxidrelay support a generic P2PInterface option
* doc: update contrib/seeds/README dnspython installation info
* script: fix deprecation warning in makeseeds.py
* test: fix creation of std::string objects with \\0s
* qt, wallet: Drop unused parameter in WalletModel::setWalletEncrypted
* gui: Remove BDB version from the Information tab
* refactor: remove use of boost::algorithm::replace_first
* qt, wallet: Drop unused parameter in Wallet{Frame|View}::encryptWallet
* qt, wallet: Remove unused AskPassphraseDialog::Decrypt
* refactor: Clean up CTxMemPool initializer list
* refactor: Make CTxMemPool::m_check_ratio a const and a constructor argument
* refactor: Avoid double to int cast for nCheckFrequency
* net: Add compat.h header for htonl function
* net: Drop unneeded headers when compat.h included
* net: Drop unneeded Windows headers in compat.h
* test: remove last_{block,header}_equals() in p2p_fingerprint.py
* Use -Wswitch for TxoutType where possible
* test: Add missing script_standard_Solver_success cases
* Switch to BIP341\'s suggested scheme for outputs without script
* doc: add contrib/signet readme
* contrib: add getcoins.py script to get coins from (signet) faucet
* test: RPC: getblock fee calculations
* RPC: getblock: tx fee calculation for verbosity 2 via Undo data
* tests: Test getaddressinfo parent_desc
* rpc: Add parent descriptor to getaddressinfo output
* wallet: Add GetDescriptorString to DescriptorScriptPubKeyMan
* descriptors: Add ToNormalizedString and tests
* test: Document why syncwithvalidationinterfacequeue is needed in tests
* Revert \"test: Add missing sync_all to wallet_balance test\"
* refactor: Extract ParseOpCode from ParseScript
* Explicitly filter out partial groups when we don\'t want them
* Move OutputGroup positive only filtering into Insert
* net: Use Span in ReceiveMsgBytes
* doc: clarify CRollingBloomFilter size estimate
* Remove confusing and almost useless \"unexpected version\" warning
* test: use wait_for_{block,header} helpers in p2p_fingerprint.py
* depends: Set CMAKE_INSTALL_RPATH for native packages
* Move EligibleForSpending into GroupOutputs
* Move fee setting of OutputGroup to Insert
* Move GroupOutputs into SelectCoinsMinConf
* Remove OutputGroup non-default constructors
* test: add test for high-bandwidth mode states in getpeerinfo
* doc: release note for new getpeerinfo fields \"bip152_hb_{from,to}\"
* rpc: expose high-bandwidth mode states via getpeerinfo
* net: save high-bandwidth mode states in CNodeStats
* init: Fix incorrect warning \"Reducing -maxconnections from N to N-1, because of system limitations\"
* remove CRPCCommand constructor that takes rpcfn_type function pointer
* remove dead rpc code
* refactor: Drop boost::thread stuff in CCheckQueue
* bench: Use CCheckQueue local thread pool
* test: Use CCheckQueue local thread pool
* Add local thread pool to CCheckQueue
* refactor: Use member initializers in CCheckQueue
* refactor: took out unused member functions
* refactor: Use Mutex type for some mutexes in CNode class
* scripted-diff: Remove unused \"What\'s This\" button in dialogs on Windows
* qt: Add flags to prevent a \"What\'s This\" button on Windows OS
* test: Change feature_config_args.py not to rely on strange regtest=0 behavior
* build: enable unused member function diagnostic
* p2p: Put disconnecting logs into BCLog::NET category
* doc: release note for changed {sign,verify}message error codes
* test: check parameter validity in rpc_signmessage.py
* rpc: fix {sign,message}verify RPC errors for invalid address/signature
* qt, refactor: Fix \'buttonClicked is deprecated\' warnings
* qt, refactor: Fix \'split is deprecated\' warnings
* qt, refactor: Fix \'QFlags is deprecated\' warnings
* qt, refactor: Fix \'pixmap is deprecated\' warnings
* qt, refactor: Fix \'QDateTime is deprecated\' warnings
* util: Check for file being NULL in DirectoryCommit
* Fix possible data race when committing block files
* util: Introduce DirectoryCommit commit function to sync a directory
* util.h: Document FileCommit function
* util: Prefer Mac-specific F_FULLSYNC over fdatasync in FileCommit
* util: Refactor FileCommit from an #if sequence nested in #else, to a sequence of #elif
* sync: detect double lock from the same thread
* sync: make EnterCritical() & push_lock() type safe
* add functional test
* rpc: reset scantxoutset progress on finish
* util: Handle HTTP_SERVICE_UNAVAILABLE in bitcoin-cli
* http: Release work queue after event base finish
* Add lifetimebound to attributes for general-purpose usage
* Update pruning tooltip, original author BitcoinErrorLog
* span: add lifetimebound attribute
* qt: Hide peer detail view if multiple are selected
* span: (almost) match std::span\'s constructor behavior
* [doc] Coin: explain that IsSpent() can also mean never existed
* doc: Add warnings for http interfaces limitations
* compressor: use a prevector in compressed script serialization
* doc: Clarify developer notes about constant naming
* Tests: Unit test related to WalletDB ReadKeyValue
* Catch ios_base::failure specifically
* [doc] clarify getdata limit after #14897
* Mon May 03 2021 marecAATTdetebe.org- Update to version 0.21.1:
* build: Bump RC to 0 (-final)
* doc: Merge release notes fragment, merge taproot description from wiki
* doc: Add PR and author list to release notes for 0.21.1
* doc: Regenerate manual pages for 0.21.1rc1
* build: Bump version to 0.21.1rc1
* gui: Pre-rc1 translations update
* fuzz: cleanups for versionbits fuzzer
* test: make sure non-IP peers get discouraged and disconnected
* test: also check disconnect in denialofservice_tests/peer_discouragement
* test: use pointers in denialofservice_tests/peer_discouragement
* Add mainnet and testnet taproot activation params
* chainparams: drop versionbits threshold to 90% for mainnnet and signet
* versionbits: simplify state transitions
* versionbits: Add explicit NEVER_ACTIVE deployments
* fuzz: test versionbits delayed activation
* tests: test versionbits delayed activation
* versionbits: Add support for delayed activation
* tests: clean up versionbits test
* tests: test ComputeBlockVersion for all deployments
* tests: pull ComputeBlockVersion test into its own function
* Test that signrawtx works when a signed CSV and CLTV inputs are present
* Introduce DeferringSignatureChecker and inherit with SignatureExtractor
* net: add ifaddrs.h include
* build: check if -lsocket is required with
*ifaddrs
* rand: only try and use freeifaddrs if available
* Rename CoinSelectionParams::effective_fee to m_effective_feerate
* Backport invalid address tests
* naming nits
* Add signet support to gen_key_io_test_vectors.py
* Use Bech32m encoding for v1+ segwit addresses
* Add Bech32m test vectors
* Implement Bech32m encoding/decoding
* wallet: Move discard feerate fetching to CreateTransaction
* wallet: Move long term feerate setting to CreateTransaction
* wallet: Replace nFeeRateNeeded with effective_fee
* wallet: Use existing feerate instead of getting a new one
* doc: Remove outdated comment
* fuzz: Bump FuzzedDataProvider.h
* fuzz: Bump FuzzedDataProvider.h
* fuzz: Update FuzzedDataProvider.h from upstream (LLVM)
* doc: add signet to doc/bitcoin-conf.md
* doc: add signet to share/examples/bitcoin.conf
* Update vcpkg checkout commit.
* tests: Add fuzzing harness for versionbits
* GUI: Write PSBTs to file with binary mode
* tests: Test that a fully signed tx given to signrawtx is unchanged
* tests: check never active versionbits
* tests: more helpful errors for failing versionbits tests
* test: disallow sendtoaddress/sendmany when private keys disabled
* Disallow sendtoaddress and sendmany when private keys disabled
* util: Disallow negative mocktime
* net: Avoid UBSan warning in ProcessMessage(...)
* fix the unreachable code at feature_taproot
* qt: Use \"fusion\" style on macOS Big Sur with old Qt
* raise helpMessageDialog
* Fix MSVC build after gui#176
* qt: Stop the effect of hidden widgets on the size of QStackedWidget
* qt: Fix TxViewDelegate layout
* qt: Add TransactionOverviewWidget class
* qt: Use layout manager for Create Wallet dialog
* doc: Archive release notes, Add template for minor release
* Bugfix: GUI: Restore SendConfirmationDialog button default to \"Yes\"
* test: add test for banning of non-IP addresses
* net: allow CSubNet of non-IP networks
* Fri Jan 29 2021 marecAATTdetebe.org- Update to version 0.21.0.1:
* Namecoin: Rebrand macOS deploy readme
* Namecoin: Rebrand Gitian distname
* Namecoin: Fix Gitian path for depends
* Mon Jan 18 2021 marecAATTdetebe.org- Update to version 0.21.0:
* build: Bump RC to 0 (-final)
* doc: Move 0.21.0 release notes from wiki
* qt: Pre-rc5 translations update
* build: Bump RC to rc5
* Revert \"Add patch to make codesign_allocate compatible with Apple\'s\"
* doc: Generate manual pages for 0.21.0rc4
* build: Bump RC to rc4
* qt: Pre-rc4 translations update
* [doc] Add permissions to the getpeerinfo help.
* rpc: Add missing description of vout in getrawtransaction help text
* qt: Align layout of checkboxes
* Add patch to make codesign_allocate compatible with Apple\'s
* doc: update -externalip documentation in tor.md
* doc: add tor.md section on how to get tor info via bitcoind
* doc: update tor.md address examples from onion v2 to v3
* doc: warn that incoming conns are unlikely when not using default ports
* doc: Add warnings for http interfaces limitations
* Removed redundant git pull from appveyor config.
* Adjusted msvc compiler and linker settings to remove optimisations that are causing sporadic ABI issues on Visual Studio updates.
* This change to the appveyor CI config for msvc builds reverses a change introduced in #19960. It re-applies a setting to inform vcpkg to only build release vesions of the dependencies rather than the default of debug and release.
* Move signet onion seed from v2 to v3
* build: Bump RC to rc3
* gui: pre-rc3 translations update
* doc: Update wallet database installation guide for macOS
* build: Use Homebrew\'s sqlite package if it is available
* build, refactor: Check that Homebrew\'s qt5 package is actually installed
* build: Check that Homebrew\'s berkeley-db4 package is actually installed
* Don\'t set BDB flags when configuring without
* Add regression test for incorrect decoding
* Improve heuristic hex transaction decoding
* test: add coverage for passing fee rate as a string
* wallet, bugfix: allow send to take string fee rate values
* Send and require SENDADDRV2 before VERACK
* Don\'t send \'sendaddrv2\' to pre-70016 software
* Use the correct incremental fee constant in bumpfee help
* Update feeRate (BTC/kvB) to fee_rate (sat/vB) in wallet_bumpfee
* Allow zero-fee fundrawtxn and walletcreatefundedpsbt calls
* build: Avoid secp256k1.h include from system
* qt: Pre-rc2 translations update
* build: Bump RC to rc2
* Fix QPainter non-determinism on macOS
* RPC/Wallet: unloadwallet: Clarify docs/error when both the RPC endpoint and wallet_name parameter specify a wallet
* test: Fix intermittent issue in mempool_compatibility
* tests: shrink feature_taproot transfer of funds tx
* wallet: fix and improve upgradewallet error responses
* wallet: fix and improve upgradewallet result responses
* wallet: Do not treat default constructed types as None-type
* build: Set msvc builds\'s CLIENT_VERSION_IS_RELEASE
* Don\'t upgrade to HD split if it is already supported
* wallet: refactor GetClosestWalletFeature()
* doc: Generate manual pages for 0.21.0rc1
* build: Bump version for 0.21.0rc1
* refactor: Change pointer to reference because it can not be null
* [upgradewallet] removed unused warning param
* Break circuit earlier
* qt: Pre-splitoff translations update
* ci: Use the previous build worker image in AppVeyor
* CI/Cirrus: Skip merge_base step for non-PRs
* gui: create wallet: add advanced section
* gui: create wallet: name placeholder
* Add missing optional.h include
* Silence false positive GCC warning
* tests: Remove no longer needed UBSan suppression (float-divide-by-zero in validation.cpp)
* fix potential devision by 0
* fuzz: Use ConsumeRandomLengthBitVector(...) in src/test/fuzz/connman and src/test/fuzz/net
* tests: Add fuzzing harness for CAddrMan
* wallet: override minfee checks (fOverrideFeeRate) for fee_rate
* wallet: update sendtoaddress, send RPC examples with fee_rate
* wallet: use MIN_RELAY_TX_FEE in bumpfee help
* wallet: provide valid values if invalid estimate mode passed
* wallet: update remaining rpcwallet fee rate units to BTC/kvB
* wallet: update fee rate units, use sat/vB for fee_rate error messages
* Remove references to CreateWalletFromFile
* fuzz: Improve coverage for CPartialMerkleTree fuzzing harness
* addrman: ensure old versions don\'t parse peers.dat
* wallet: remove fee rates from conf_target helps
* wallet: add fee_rate unit warnings to bumpfee
* wallet: remove redundant bumpfee fee_rate checks
* wallet: introduce fee_rate (sat/vB) param/option
* wallet: remove unneeded WALLET_BTC_KB_TO_SAT_B constant
* wallet: add CFeeRate ctor doxygen documentation
* wallet: fix bug in RPC send options
* Avoid signed integer overflow when loading a mempool.dat file with a malformed time field
* wallet: fix scanning progress calculation for single block range
* test: Suppress epoll_ctl data race
* ci: Remove redundant valgrind fuzz task
* fuzz: Assert roundtrip equality for both addrv1 and addrv2 versions of CService
* fuzz: Check for addrv1 compatibility before using addrv1 serializer/deserializer on CSubNet
* swapped \"is\" for \"==\" in literal comparison
* ci: Run windows ci config on cirrus
* ci: Run macos ci config on cirrus
* ci: Run arm ci config on cirrus
* ci: Replace TRAVIS_OS_NAME with CI_OS_NAME
* ci: Move documentation to correct config file
* test: Mock IBD in net_processing fuzzers
* cirrus: Skip tasks on the gui repo main branch
* QA: wallet_multiwallet: Check that recursive symlink directory and wallet.dat loops are ignored
* Bugfix: Wallet: Soft-fail exceptions within ListWalletDir file checks
* fix ecdsa verify in test framework
* wallet: Set DatabaseStatus::SUCCESS in MakeSQLiteDatabase
* test: Fix intermittent issue in wallet_listsinceblock
* scripted-diff: [build] Ensure source tarball has leading directory name
* test: Fix wallet_multiwallet test issue on Windows
* ci: Set LC_ALL=C to allow running the s390x tests in qemu
* travis: Remove s390x build
* Set bilingual error completely
* fuzz: Assert expected DecodeHexTx behaviour when using legacy decoding
* wallet: Remove -upgradewallet from dummywallet
* test: Remove unused wallet.dat
* tests: Test specific upgradewallet scenarios and that upgrades work
* test: Add test_framework/bdb.py module for inspecting bdb files
* tests: Add a sha256sum_file function to util
* wallet: upgrade the CHDChain version number when upgrading to split hd
* wallet: remove nWalletMaxVersion
* wallet: have ScriptPubKeyMan::Upgrade check against the new version
* fuzz: Add missing ECC_Start to descriptor_parse test
* Make it easier to reason about node eviction by removing unused NodeEvictionCandidate::addr (CAddress)
* test: Fix intermittent rpc_net issue
* macOS deploy: use the new plistlib API
* ci: Run ci configs on cirrus
* ci: Bump timeout factor
* Small improvements to the Taproot functional tests
* test: Fix intermittent feature_taproot issue
* test: Fix deser issue in create_block
* test: Remove unused unnamed parameter from block.serialize call
* Ignoring (but warn) on duplicate -wallet parameters
* fuzz: Fix DecodeHexTx fuzzing harness issue
* fuzz: Check for addrv1 compatibility before using addrv1 serializer on CService
* test: Only try witness deserialize when checking for witness deserialize failure
* [wallet] Return object from upgradewallet RPC
* Update assumed chain params
* tests: Make only desc wallets for wallet_multwallet.py --descriptors
* Avoid creating legacy wallets in wallet_importdescriptors.py
* Update feature_backwards_compatibility for descriptor wallets
* Update wallet_labels.py to not require descriptors=False
* tests: Add a --legacy-wallet that is mutually exclusive with --descriptors
* Disable some tests for tool_wallet when descriptors
* Make raw multisig tests legacy wallet only in rpc_rawtransaction.py
* Do addmultisigaddress tests in legacy wallet mode in wallet_address_types.py
* Use importdescriptors when in descriptor wallet mode in wallet_createwallet.py
* Avoid dumpprivkey and watchonly behavior in rpc_signrawtransaction.py
* Add script equivalent of functions in address.py
* Add descriptor wallet output to tool_wallet.py
* Use separate watchonly wallet for multisig in feature_nulldummy.py
* Move import and watchonly tests to be legacy wallet only in wallet_balance.py
* Use importdescriptors for descriptor wallets in wallet_bumpfee.py
* Avoid dumpprivkey in wallet_listsinceblock.py
* Make import tests in wallet_listtransactions.py legacy wallet only
* Use a separate watchonly wallet in rpc_fundrawtransaction.py
* Update wallet_importprunedfunds to avoid dumpprivkey
* doc: fix getchaintxstats fields in release-process.md
* docs: Correct getblockstats documentation for (sw)total_weight
* refactor: qt: Use vQueueNotifications.clear()
* style: minor improvements as a followup to #19845
* Increase feature_taproot inactive test coverage
* Only relay Taproot spends if next block has it active
* doc: Document that wallet salvage is experimental
* [gui] create wallet: smarter checkbox toggling
* Fix change detection of imported internal descriptors
* Ensure a legacy wallet for BDB format check
* Skip --descriptor tests if sqlite is not compiled
* rpc: update conf_target helps for correctness/consistency
* wallet, rpc: fix send subtract_fee_from_outputs help
* wallet: add rpc send explicit fee rate coverage
* wallet: add sendtoaddress/sendmany explicit fee rate coverage
* wallet: add walletcreatefundedpsbt explicit fee rate coverage
* test: refactor for walletcreatefundedpsbt fee rate coverage
* wallet: fundrawtx fee rate coverage, fixup ParseConfirmTarget()
* [tests] Remove getnettotals/getpeerinfo consistency test
* Squashed \'src/secp256k1/\' changes from c6b6b8f1bb..3967d96bf1
* [test] Clarify setup of node topology.
* qt: Make transaction notification queue wallet specific
* move-only: Define TransactionNotification before TransactionTablePriv
* [move-only, test]: Match test order with run order
* wallet: combine redundant bumpfee invalid params and args tests
* wallet: improve bumpfee error/help, add explicit fee rate coverage
* doc: Update data directory path comments
* util: Add StripRedundantLastElementsOfPath function
* qt: Pre-splitoff translations update
* Avoid test-before-evict evictions of current peers
* Refactor test for existing peer connection into own function
* Call CAddrMan::Good() on block-relay-only peer addresses
* Avoid calling CAddrMan::Connected() on block-relay-only peer addresses
* build: fix mutex detection when building bdb on macOS
* [net processing] Don\'t add AlreadyHave txs to recentRejects
* fuzz: Check for addrv1 compatibility before using addrv1 serializer
* test: Add test for -blockversion
* test: Replace ARRAYLEN with C++11 ranged for loop
* test: Run AssetTest even if built --with-libs=no
* ci: Add --with-libs=no to one ci config
* doc: Missing comments for signet parameters
* fuzz: Properly initialize PrecomputedTransactionData
* qt: Add WalletFrame::sizeHint
* cli -netinfo: print oversized/extreme ping times as \"-\"
* cli -netinfo: handle longer tor v3 local addresses
* cli -netinfo: make age column variable-width
* cli -netinfo: various quick updates and fixes
* net: Hardcoded seeds update for 0.21
* contrib: Add new versions to makeseeds.py and update gitignore
* wallet: fix SetFeeEstimateMode() error message
* wallet, bugfix: fix bumpfee with explicit fee rate modes
* wallet: Fix bug when just created encrypted wallet cannot get address
* wallet: fix buffer over-read in SQLite file magic check
* test: Fix rpc_net intermittent issue
* Convert amounts from float to decimal
* wallet: Make -wallet setting not create wallets
* net: fix output of peer address in version message
* Show name, format and if uses descriptors in bitcoin-wallet tool
* RPC: createwallet: Nicer error message if descriptor wallet requested and sqlite support not compiled in
* GUI: Create Wallet: Nicely disable descriptor wallet checkbox if sqlite support not compiled in
* Make sqlite support optional (compile-time)
* Bugfix: chainparams: Add missing (disabled) Taproot deployment for Signet
* test: Move (dis)?connect_nodes globals into TestFramework as helpers
* scripted-diff: test: Replace uses of (dis)?connect_nodes global
* test: Replace use of (dis)?connect_nodes globals
* tests: Add fuzzing harness for CConnman
* doc: Merge release notes
* test: Fix typo (one tx is enough) in p2p_feefilter
* wallet: Add GetClosestWalletFeature function
* wallet: Add utility method for CanSupportFeature
* test: Fix -Wunused-function warning if configured --without-libs
* test: Fix intermittent issue in wallet_send
* test: Fix intermittent issue in wallet_import_rescan
* test: Fix intermittent issue in p2p_feefilter
* rpc, test: Make name value optional in name_firstupdate and name_update
* p2p: declare Announcement::m_state as uint8_t, add getter/setter
* test: add logging for mining_getblocktemplate_longpoll.py
* test: remove unused helpers random_transaction(), make_change() and gather_inputs()
* contrib: Fix gen_key_io_test_vectors.py imports
* test: Default blockversion to 4 in feature_block
* test: use MiniWallet for mining_getblocktemplate_longpoll.py
* test: Remove unused -blockversion from tests
* script: Make ComputeEntrySchnorr and ComputeEntryECDSA const to clarify contract
* Initialize default-initialized uint256 consensus params to zero explicitly
* Address functional test nits
* docs: mention BIPs 340-342 in doc/bips.md
* test: add getnetworkinfo network name regression tests
* rpc: update GetNetworksInfo() to not return unsupported networks
* net: update GetNetworkName() with all enum Network cases
* test: add coverage for getwalletinfo format field
* wallet: fix importdescriptor silent fail
* doc: Move assumed-values doxygen comments to header
* signet: Fix uninitialized read in validation
* doc: Update wallet files in files.md
* rpc, wallet: Expose database format in getwalletinfo
* Squashed \'src/secp256k1/\' changes from 8ab24e8dad..c6b6b8f1bb
* Update wallet_multiwallet.py for descriptor and sqlite wallets
* Run dumpwallet for legacy wallets only in wallet_backup.py
* Include sqlite3 in documentation
* wallet: Enforce sqlite serialized threading mode
* Set and check the sqlite user version
* Use network magic as sqlite wallet application ID
* Use SQLite for descriptor wallets
* walletutil: Wallets can also be sqlite
* Determine wallet file type based on file magic
* Implement SQLiteDatabase::MakeBatch
* Implement SQLiteDatabase::Verify
* Implement SQLiteDatabase::Rewrite
* Implement SQLiteDatabase::TxnBegin, TxnCommit, and TxnAbort
* Implement SQLiteDatabase::Backup
* Implement SQLiteBatch::StartCursor, ReadAtCursor, and CloseCursor
* Implement SQLiteBatch::ReadKey, WriteKey, EraseKey, and HasKey
* Add SetupSQLStatements
* Implement SQLiteBatch::Close
* Implement SQLiteDatabase::Close
* Implement SQLiteDatabase::Open
* Initialize and Shutdown sqlite3 globals
* Constructors, destructors, and relevant private fields for SQLiteDatabase/Batch
* Implement SQLiteDatabaseVersion
* Add SQLiteDatabase and SQLiteBatch dummy classes
* Add sqlite to travis and depends
* Add libsqlite3
* refactor: enable -netinfo to add future networks (i2p, cjdns)
* RPC: getpeerinfo: Wrap long help line for bytesrecv_per_msg
* RPC: getpeerinfo: Deprecate \"whitelisted\" field (replaced by \"permissions\")
* scripted-diff: rename vRecvGetData
* Guard vRecvGetData (now in net processing) with its own mutex
* Move vRecvGetData to net processing
* Lock before checking if orphan_work_set is empty; indicate it is guarded
* Move m_orphan_work_set to net_processing
* refactor: promote some -netinfo localvars to class members
* cli: simplify -netinfo using getpeerinfo network field
* rpc, test: expose CNodeStats network in RPC getpeerinfo
* net: add peer network to CNodeStats
* net: Send post-verack handshake messages at most once
* [Rename only] Rename orphan_work_set to m_orphan_work_set.
* test: Speed up wallet_resendwallettransactions test with mockscheduler RPC
* rpc: Adjust witness-tx deserialize error message
* wallet: remove db mode string
* Avoid the use of abs64 in timedata
* tests: dumping and minimizing of script assets data
* tests: add generic qa-asset-based script verification unit test
* tests: functional tests for Schnorr/Taproot/Tapscript
* tests: add BIP340 Schnorr signature support to test framework
* Activate Taproot/Tapscript on regtest (BIP 341, BIP 342)
* Make Taproot spends standard + policy limits
* Implement Tapscript script validation rules (BIP 342)
* Use ScriptExecutionData to pass through annex hash
* Implement Taproot validation (BIP 341)
* Support for Schnorr signatures and integration in SignatureCheckers (BIP 340)
* Implement Taproot signature hashing (BIP 341)
* Ignore incorrectly-serialized banlist.dat entries
* Restore compatibility with old CSubNet serialization
* Report and verify expirations
* Delete limitedmap as it is unused now
* Make txid delay penalty also apply to fetches of orphan\'s parents
* Expedite removal of tx requests that are no longer needed
* Reduce MAX_PEER_TX_ANNOUNCEMENTS for non-PF_RELAY peers
* Change transaction request logic to use txrequest
* Add txrequest fuzz tests
* Add txrequest unit tests
* Add txrequest module
* build: optionally skip external warnings
* test: Remove unused nVersion=1 in p2p tests
* Add TaggedHash function (BIP 340)
* refactor: keep spent outputs in PrecomputedTransactionData
* tests: don\'t export in6addr_loopback
* test: add p2p_lock acquires in p2p_leak_tx.py
* test: use MiniWallet for p2p_leak_tx.py
* Only relay IPv4, IPv6, Tor addresses
* Mention BIP155 in doc/bips.md
* [trivial] Extract connection type doc into file where it is used.
* [doc] Improve help for getpeerinfo connection_type field.
* gui: Fix SplashScreen crash when run with -disablewallet
* [doc] release notes for max fee checking
* tor: make a TORv3 hidden service instead of TORv2
* net: advertise support for ADDRv2 via new message
* net: CAddress & CAddrMan: (un)serialize as ADDRv2
* fix illegal instruction failure in Qt on Darwin
* doc: Add anchors.dat to files.md
* p2p: Try to connect to anchors once
* p2p: Fix off-by-one error in fetching address loop
* p2p: Integrate DumpAnchors() and ReadAnchors() into CConnman
* p2p: Add CConnman::GetCurrentBlockRelayOnlyConns()
* p2p: Add ReadAnchors()
* p2p: Add DumpAnchors()
* Support bypassing range check in ReadCompactSize
* style and nits for fee-checking in BroadcastTransaction
* doc: Add release notes for #20101
* cirrus: Use kvm to avoid spurious CI failures in the default virtualization cluster
* [net] Remove CombinerAll
* Avoid \'timing mishap\' warnings when mocking
* Use mockable time everywhere in net_processing
* rpc: change no wallet loaded message to be clearer
* random: fixes read buffer resizing in RandAddSeedPerfmon
* refactor: rename scriptPubKey in VerifyWitnessProgram to exec_script
* scripted-diff: put ECDSA in name of signature functions
* Bump vcpkg commit ID to get new msys mirror list
* util: Do not use gArgs global in ArgsManager member functions
* doc: Update and improve files.md
* [validation] Remove absurdfee from accepttomempool
* scripted-diff: update max-fee-exceeded error message to include RPC
* [rpc/node] check for high fee before ATMP in clients
* fuzz: Configure check for main function
* lint: Use TRAVIS_BRANCH in lint-git-commit-check.sh
* lint: Don\'t use TRAVIS_COMMIT_RANGE in whitespace linter
* lint: Don\'t use TRAVIS_COMMIT_RANGE for commit-script-check
* ci: Build Arm64 on Travis without functional tests
* test: Add tests for CNode::ConnectedThroughNetwork
* net: Add CNode::ConnectedThroughNetwork member function
* test: Mention commit id in scripted diff error
* net: Add CNode::m_inbound_onion data member
* RPC: remove duplicate line in getblock help
* test: Assert exclusive PSBT funding options
* net: rename CNetAddr scopeId to m_scope_id, improve code doc
* test: add test coverage for CNetAddr ipv6 scoped addresses
* test: Assert PSBT change type
* doc: Collect release-notes snippets
* refactor: fix -Wbraced-scalar-init warning in validation tests
* qt: Periodic translations update
* tx: Update transifex slug for 0.21
* doc: Update onion service target port numbers in tor.md
* net: Extend -bind config option with optional network type
* net, refactor: Move AddLocal call one level up
* net: Pass onion service target to Tor controller
* rpc: Set HTTP Content-Type in bitcoin-cli
* signet: do not log signet startup messages for other chains
* zmq: Append address to notify log output
* test: Add zmq test to support multiple interfaces
* scripted diff: Improve invalid vout value rpc error message
* doc: Add 19501 release notes
* doc: Remove double-whitespace from help string, other whitespace fixups
* refactor: Clean up -Wlogical-op warning
* signet: Add assumed values for default signet
* Update msvc build to use new vcpkg manifest
* test: Get rid of default wallet hacks
* test, refactor: add default_wallet_name and wallet_data_filename variables
* test: Add signet witness commitment section parse tests
* Remove gArgs global from CreateChainParams to aid testing
* refactor: Rename TorController::target to m_tor_control_center
* net, refactor: Refactor CBaseChainParams::RPCPort function
* net: Add alternative port for onion service
* net: Use network byte order for in_addr.s_addr
* [test] Make sure send rpc returns fee reason
* feature: Added ability for users to add a startup command
* Instantiate Consensus::Rules on signet.
* test: Check that invalid peer traffic is accounted for
* test: Remove confusing cast to same type (int to int)
* wallet: no need for duplicate storage for ABANDON_HASH constant
* scripted-diff: Replace UINT256_ONE() with uint256::ONE
* uint256: Update constructors to c++11, make ONE static
* [Trivial] python help message
* [send] Make send RPCs return fee reason
* test: remove unused constants in functional tests
* test: use explicit p2p objects where available
* doc: Added default signet config for linearize script
* doc: Mention signet in -help output
* Fix misleading error message: Clean stack rule
* Improve docs about feeler connections
* doc: Add release notes to support multiple interfaces
* doc: Adjust ZMQ usage to support multiple interfaces
* zmq: Add support to listen on multiple interfaces
* net: Print error message if -proxy is specified without arguments (instead of continuing without proxy server)
* Remove header checks out of net_processing
* Give V1TransportDeserializer CChainParams& member
* Change CMessageHeader Constructor
* Add doxygen comment for ReceiveMsgBytes
* Move checksum check from net_processing to net
* Give V1TransportDeserializer an m_node_id member
* doc: Document signet BIP
* doc: Update comments for new chain settings (-signet and -chain=signet)
* fuzz: Remove needless guard
* refactor: Remove SignetTxs::m_valid and use optional instead
* test: Run signet test even when wallet was not compiled
* Assert that RPCArg names are equal to CRPCCommand ones (net, rpcwallet)
* Update zmq notification documentation and sample consumer
* Add functional tests for zmq sequence topic and mempool sequence logic
* Add \'sequence\' zmq publisher to track all block (dis)connects, mempool deltas
* zmq test: Actually make reorg occur
* [doc] Release notes
* [rpc] Deprecate getpeerinfo addnode field
* [refactor] Rename test file to allow any getpeerinfo deprecations.
* [rpc] Add connection type to getpeerinfo RPC, update tests
* [log] Add connection type to log statement
* validation: Remove review-only comments + assertions
* docs: Move FindFilesToPrune{,Manual} doxygen comment
* style: Make FindFilesToPrune{,Manual} match style guide
* validation: Move FindFilesToPrune{,Manual} to BlockManager
* Clarify blocksonly whitelistforcerelay test
* net: recognize TORv3/I2P/CJDNS networks
* log: Remove static log message \"Initializing chainstate Chainstate [ibd] AATT height -1 (null)\"
* Remove unused LockAssertion struct
* Replace LockAssertion with a proper thread safety annotations
* refactor: Use explicit function type instead of template
* test: create default wallet in extended tests
* Only update the updateSmartFeeLabel once in sync
* test: some sanity checks for consensus logic
* test: basic signet tests
* test: add small signet fuzzer
* test: signet network selection tests
* signet: hard-coded parameters for Signet Global Network VI (2020-09-07)
* qt: update QT to support signet network
* consensus: add signet validation
* add signet chain and accompanying parameters
* net: CNetAddr: add support to (un)serialize as ADDRv2
* rpc: add brackets to ConstructTransaction
* [rpc] send: various touch-ups
* [rpc] send: fix parsing replaceable option
* Mark send RPC experimental
* test: move HasReason so it can be reused
* build: Fix target name
* [test] add get_vsize util for more programmatic testing
* [rpc] Return fee and vsize from testmempoolaccept
* ValidateNameDB pass interruption point as argument.
* validation: Move PruneOneBlockFile to BlockManager
* validation: Pass in chainman to UnloadBlockIndex
* build: patch qt libpng to fix powerpc build
* scripted-diff: Rename SendMessage to SendZmqMessage.
* validation: Move ~CMainCleanup logic to ~BlockManager
* policy/fees: remove a floating-point division by zero
* policy/fees: unify some duplicated for loops
* policy/fees: small readability improvements
* policy/fee: remove requireGreater parameter in EstimateMedianVal()
* policy/fees: correct decay explanation comments
* build: AX_PTHREAD serial 27
* build: split PTHREAD_
* flags out of AM_LDFLAGS
* scripted-diff: add FUZZ_SUITE_LDFLAGS_COMMON
* build: add PTHREAD_LIBS to LDFLAGS configure output
* Test batch rpc with params
* QA: Use GBT to get block versions correct
* QA: blocktools: Accept block template to create_block
* Squashed \'src/secp256k1/\' changes from 2ed54da18a..8ab24e8dad
* util: move HasPrefix() so it can be reused
* Change CSipHasher\'s count variable to uint8_t
* tests: Add fuzzing harness for Keccak and SHA3_256
* [test] remove confusing p2p property
* scripted-diff: replace p2p with p2ps[0] in p2p_invalid_tx
* [doc] sample code for test framework p2p objects
* [refactor] clarify tests by referencing p2p objects directly
* Add OpenBSD instructions for building the Qt GUI
* [doc] Clarify semantic of peer\'s m_protect w.r.t to outbound eviction logics
* [rpc] add send method
* add signet basic support (signet.cpp)
* validation: move GetWitnessCommitmentIndex to consensus/validation
* log: print unexpected version warning in validation log category
* bugfix: make LoadWallet assigns status always
* test: gettxoutproof duplicate txid
* test: Test empty array in gettxoutproof
* test: Run rpc_txoutproof.py even with wallet disabled
* test: MiniWallet: Default fee_rate in send_self_transfer, Pass in utxo_to_spend
* test: bugfix: Actually pick largest utxo
* Tell users how to load or create a wallet when no wallet is loaded
* Do not create default wallet
* .gitignore: ignore qa-assets/ folder
* build: use DIR_FUZZ_SEED_CORPUS if specified for cov_fuzz target
* Do not pass chain params to CheckForStaleTipAndEvictPeers twice
* ProcessOrphanTx: Move AddToCompactExtraTransactions call into ProcessOrphanTx
* ProcessOrphanTx: Remove aliases
* ProcessOrphanTx: Remove outdated commented
* ProcessOrphanTx: remove useless setMisbehaving set
* ProcessOrphanTx: remove useless done variable
* [net processing] Add doxygen comments for orphan data and function
* [rpc] add snake case aliases for transaction methods
* [rpc] walletcreatefundedpsbt: allow inputs to be null
* p2p: Use the greatest common version in peer logic
* p2p: Remove SetCommonVersion() from VERACK handler
* refactor: Rename local variable nSendVersion
* p2p: Unify Send and Receive protocol versions
* [doc] Clarify scope of eviction protection of outbound block-relay peers
* test: Use MiniWalet in p2p_feefilter
* qt: Fix visual quality of text in QR image
* [net processing] Move Misbehaving() to PeerManager
* [net_processing] Move SendBlockTransactions into PeerManager
* [net processing] Move MaybePunishPeerForTx to PeerManager
* [net processing] Move ProcessOrphanTx to PeerManager
* [net processing] Move MaybePunishNodeForBlock into PeerManager
* [net processing] Move ProcessHeadersMessage to PeerManager
* [whitespace] tidy up indentation after scripted diff
* scripted-diff: [net processing] Rename PeerLogicValidation to PeerManager
* [net_processing] Pass chainparams to PeerLogicValidation constructor
* [move only] Collect all private members of PeerLogicValidation together
* Assert RPCArg names in name RPCs.
* Assert RPCArg names in auxpow RPCs.
* Replace zmqconfig.h by a simple zmqutil.
* Use std::unique_ptr for CZMQNotifierFactory.
* Simplify and fix notifier removal on error.
* Various cleanups in zmqnotificationinterface.
* Unroll Keccak-f implementation
* Add SHA3 benchmark
* Implement keccak-f[1600] and SHA3-256
* Change FILE_CHAR_BLOCKLIST to FILE_CHARS_DISALLOWED
* wallet: Avoid multiple BerkeleyBatch in DelAddressBook
* refactor: remove unused header in protocol.cpp
* test: Fix flaky wallet_basic test
* Remove mempool global
* Remove mempool global from p2p
* Remove mempool global from init
* ci: Double tsan CPU and Memory to avoid global timeout
* doc: Add doxygen comment to IsRBFOptIn
* Remove mempool global from interfaces
* refactor: Add IsRBFOptInEmptyMempool
* [BroadcastTransaction] Remove unsafe move operator
* [p2p] Remove dead code
* [p2p] Check for nullptr before dereferencing pointer
* [mempool] Revert unbroadcast set to tracking just txid
* rawtransaction: fix argument in combinerawtransaction help message
* Get rid of unused functions CTxMemPool::GetMemPoolChildren, CTxMemPool::GetMemPoolParents
* Remove mapLinks in favor of entry inlined structs with iterator type erasure
* script: fix zmq_sub.py file permissions
* doc: update PyZMQ installation instructions, ZeroMQ link
* refactor: Avoid duplicate map lookup in ScriptToAsmStr
* Fix RPC client for namepsbt.
* wallet: Remove path checking code from bitcoin-wallet tool
* wallet: Remove path checking code from createwallet RPC
* wallet: Remove path checking code from loadwallet RPC
* refactor: Pass wallet database into CWallet::Create
* wallet: Remove Verify and IsLoaded methods
* refactor: Use DatabaseStatus and DatabaseOptions types
* wallet: Add MakeDatabase function
* Remove WalletLocation class
* [tests] Replace bytes literals with hex literals
* [tests] Fix pep8 style violations in address.py
* [tests] Correct docstring for address.py
* [tests] Tidy up imports in address.py
* [tests] Remove unused optional verify_checksum parameter
* [tests] Rename segwit encode and decode functions
* [tests] Move bech32 unit tests to test framework
* Add new testnet DNS seed
* [doc] Follow developer notes, add comment about missing default.
* [doc] Describe connection types in more depth.
* [refactor] Simplify connection type logic in ThreadOpenConnections
* [refactor] Simplify check for block-relay-only connection.
* [test] Add explicit tests that connection types get set correctly
* [trivial] Small style updates
* [doc] Explain address handling logic in process messages
* [refactor] Restructure logic to check for addr relay.
* [net] Remove unnecessary default args on OpenNetworkConnection
* scripted-diff: Rename `OUTBOUND` ConnectionType to `OUTBOUND_FULL_RELAY`
* build: add /usr/local/ to LCOV_FILTER_PATTERN for macOS builds
* cli -netinfo: display multiple levels of details
* Protect localhost and block-relay-only peers from eviction
* qa: Changes v0.17.1 to v0.17.2
* Refactor the functional test
* Address nits in ADDR caching
* wallet: Reload previously loaded wallets on GUI startup
* net: improve nLastBlockTime and nLastTXTime documentation
* doc: Add comments and additional reviewers to CODEOWNERS file
* doc: elaborate on release notes wrt netmasks
* refactor: CTxMemPool::IsUnbroadcastTx() requires CTxMemPool::cs lock
* refactor: CTxMemPool::GetTotalTxSize() requires CTxMemPool::cs lock
* refactor: CTxMemPool::ClearPrioritisation() requires CTxMemPool::cs lock
* refactor: CTxMemPool::ApplyDelta() requires CTxMemPool::cs lock
* refactor: CTxMemPool::UpdateChild() requires CTxMemPool::cs lock
* refactor: CTxMemPool::UpdateParent() requires CTxMemPool::cs lock
* lint: add C++ code linter
* Remove -zapwallettxes
* Assert that RPCArg names are equal to CRPCCommand ones (rawtransaction)
* Assert that RPCArg names are equal to CRPCCommand ones (blockchain)
* cli: change -netinfo optional arg from bool to int
* cli: add getpeerinfo last_{block,transaction} to -netinfo
* cli: add -netinfo server version check and error message
* cli: create peer connections report sorted by dir, minping
* cli: create vector of Peer structs for peers data
* cli: add NetType enum struct and NetTypeEnumToString()
* cli: create local addresses, ports, and scores report
* cli: create inbound/outbound peer connections report
* cli: start dashboard report with chain and version header
* cli: tally peer connections by type
* remove usage of boost::bind
* Update the vcpkg checkout commit ID in appveyor config.
* cli: add ipv6 and onion address type detection helpers
* cli: create initial -netinfo option, NetinfoRequestHandler class
* Avoid callback when -blocknotify is empty
* Set appveyor vm version to previous Visual Studio 2019 release.
* rpc: Properly deserialize txs with witness before signing
* doc: Add best practice for annotating/asserting locks
* sync.h: Make runtime lock checks require compile-time lock checks
* Do not hide compile-time thread safety warnings
* Add missed thread safety annotations
* Use LockAssertion utility class instead of AssertLockHeld()
* util: Hard code previous release tarball checksums
* scripted-diff: Move previous_release.py to test/get_previous_releases.py
* test: Add tsan supp for leveldb::DBImpl::DeleteObsoleteFiles
* doc: Document differences in bitcoind and bitcoin-qt locale handling
* Ignore unknown messages before VERACK
* test framework: serialize/deserialize inv type as unsigned int
* wallet, refactor: Remove duplicate map lookups in GetAddressBalances
* Remove old check for 3-byte shifted IP addresses from pre-0.2.9 node messages
* wallet: Avoid recursive lock in IsTrusted
* wallet, refactor: Immutable CWalletTx::pwallet
* Warn on unknown rw_settings
* Pass mempool reference to chainstate constructor
* chain: Remove UB CChain comparison
* gui refactor: Inline SplashScreen::ConnectWallet
* refactor: Move wallet methods out of chain.h and node.h
* refactor: Create interfaces earlier during initialization
* tests: Add fuzzing harness for CNode
* test: Remove unused lock arg from BitcoinTestFramework.wait_until
* test: Rename wait until helper to wait_until_helper
* test: Remove unused p2p_lock in VersionBitsWarningTest
* p2p: change CInv::type from int to uint32_t
* Add indexing ADDR cache by local socket addr
* Justify the choice of ADDR cache lifetime
* test: Add docstring to wait_until() in util.py to warn about its usage
* test: Update wait_until usage in tests not to use the one from utils
* bench: Prevent thread oversubscription
* p2p: ensure inv is GenMsgTx before ToGenTxid in inv processing
* test: use CInv::MSG_WITNESS_TX flag in p2p_segwit
* p2p: make gtxid(.hash) and fAlreadyHave localvars const
* p2p: use CInv block message helpers in net_processing.cpp
* [net processing] Change AlreadyHaveTx() to take a GenTxid
* [net processing] Change AlreadyHaveBlock() to take block_hash argument
* [net processing] Remove mempool argument from AlreadyHaveBlock()
* [net processing] Split AlreadyHave() into separate block and tx functions
* p2p: remove nFetchFlags from NetMsgType TX and INV processing
* p2p: add CInv block message helper methods
* gui: Delay interfaces::Node initialization
* gui: Replace interface::Node references with pointers
* gui: Remove unused interfaces::Node references
* gui: Partially revert #10244 gArgs and Params changes
* build: replace wingenminiupnpcstrings sed with a patch in miniupnpc package
* build: replace qtranslations lrelease sed with a patch in qt package
* wallet: filter for keys only before record deser in salvage
* walletdb: Add KeyFilterFn to ReadKeyValue
* util: make EncodeBase64 consume Spans
* util: make EncodeBase32 consume Spans
* Bugfix: Define and use HAVE_FDATASYNC correctly outside LevelDB
* test: inline hashToHex
* [test] Remove final references to mininode
* build: replace FreeType back-compat sed with a patch in qt package
* build: replace pwd sed in qt package with a patch
* build: remove no-longer needed qt workaround
* build: remove no-longer needed qt configure workaround
* build: use patch rather than sed in zeromq package
* build: use patch rather than sed in native_cctools package
* build: use patch rather than sed in fontconfig package
* build: use patch rather than sed in Boost package
* build: use patch rather than sed in bdb package
* net: change CNetAddr::ip to have flexible size
* net: don\'t accept non-left-contiguous netmasks
* Add in/out connections to cli -getinfo
* UNIX_EPOCH_TIME fixup in rpc getnettotals
* Add in/out connections to rpc getnetworkinfo
* test: Fix intermittent issue in wallet_bumpfee
* test: Select at least the fee in wallet_bumpfee to avoid negative amounts
* doc: Remove label from good first issue template
* scripted-diff: gArgs -> args
* init: Capture copy of blocknotify setting for BlockNotifyCallback
* init: Pass reference to ArgsManager around instead of relying on global
* test/fuzz: add a seed corpus generation option to the test_runner
* qt, refactor: Limit scope of QPainter object
* test: add parameterized constructor for msg_sendcmpct()
* test: Activate segwit in TestChain100Setup
* test: Pass empty tx pool to block assembler
* test: Move doxygen comment to header
* test: resort imports
* scripted-diff: Rename mininode to p2p
* scripted-diff: Rename mininode_lock to p2p_lock
* docs: Correct description for getblockstats\'s txs field
* [net_processing] Move ProcessMessage to PeerLogicValidation
* wallet: IsChange requires cs_wallet lock
* help: Generate checkpoint height from chainparams
* Move Win32 defines to configure.ac to ensure they are globally defined
* doc: Fix getmempoolancestor RPC result doc
* Remove unused includes
* Move comment about BaseIndex::DB from TxIndex::DB
* test: Distinguish between nodes(bitcoind) and peers(mininodes) in p2p_leak.py
* test: remove `CNodeNoVersionIdle` from p2p_leak.py
* test: remove `CNodeNoVersionMisbehavior` from p2p_leak.py
* depends: Specify LDFLAGS to cmake as well
* depends: Prepend CPPFLAGS to C{,XX}FLAGS for CMake
* depends: Cleanup CMake invocation
* tests: Add fuzzing harness for ec_seckey_import_der(...) and ec_seckey_export_der(...)
* tests: Add fuzzing harness for SigHasLowR(...) and ecdsa_signature_parse_der_lax(...)
* -maxapsfee: follow-up fixes
* Drop deprecated and unused GUARDED_VAR and PT_GUARDED_VAR annotations
* doc: release notes for -maxapsfee
* tests: add sync_all to fix race condition in wallet groups test
* util: remove unused c-string variant of atoi64()
* util: remove c-string interfaces for DecodeBase58{Check}
* ci: Set cirrus RAM to 8GB
* ci: Run valgrind fuzzer on cirrus
* [test] Add test for getblockheader verboseness
* wallet: IsMine overloads require cs_wallet lock
* wallet: GetWalletTx requires cs_wallet lock
* build: AX_BOOST_THREAD serial 33
* build: disable D-Bus on Android by default
* doc: Add release notes for getindexinfo RPC
* test: Add tests for getindexinfo RPC
* rpc: Add getindexinfo RPC
* Move only: Move CDiskTxPos to its own file
* Updated outdated help command for getblocktemplate (fixes #19625)
* doc: release note for getpeerinfo last_block/last_transaction
* test: rpc_net.py logging and test naming improvements
* test: getpeerinfo last_block and last_transaction tests
* rpc: expose nLastBlockTime/TXTime as getpeerinfo last_block/transaction
* test: Remove confusing and broken use of wait_until global
* net: add nLastBlockTime/TXTime to CNodeStats, CNode::copyStats
* ci: Set increased --timeout-factor by default
* Increase the ip address relay branching factor for unreachable networks
* doc: comment out and add annotation to unused MSG_FILTERED_WITNESS_BLOCK
* build: Add Werror=range-loop-analysis
* bench: Allow skip benchmark
* build: Add missed gcov files to \'make clean\'
* rpc: Assert that RPCArg names are equal to CRPCCommand ones (rpcdump)
* rpc: Assert that RPCArg names are equal to CRPCCommand ones (zmq)
* rpc: Assert that RPCArg names are equal to CRPCCommand ones (mining)
* rpc: Remove unused return type from appendCommand
* test: Fix \'make cov\' with clang
* Add variables for repeated scripts
* Remove GetScriptForWitness function
* Replace usage of GetScriptForWitness with GetScriptForDestination
* Add loadwallet and createwallet RPC load_on_startup options
* qt: Rename qt-init thread before logging start
* qt: Name ClientModel timer QThread
* qt: Name WalletController worker QThread
* qt: Name RPCConsole executor QThread
* remove midnight\'s gitian signing key from list of gitian keys
* Cap listsinceblock target_confirmations param
* test: speedup p2p_feefilter.py by whitelisting peers (immediate tx relay)
* test: use wait_until for invs matching in p2p_feefilter.py
* test: add logging for p2p_feefilter.py
* Reduce cs_main lock accumulation during GUI startup
* Optionally populate BlockAndHeaderTipInfo during AppInitMain
* Add BlockAndHeaderTipInfo to the node interface/appInit
* RPCConsole, take initial chaintip data as parameter
* util: make EncodeBase58Check consume Spans
* util: make EncodeBase58 consume Spans
* Shrink CAddress from 48 to 40 bytes on x64
* [net_processing] Change PeerLogicValidation to hold a connman reference
* rpc: Amend copyright notice in names.cpp
* doc: Add release notes for PR #354
* rpc: Change default value of allow_expired to false
* test: Make name tests explicitly set -allowexpired parameter
* test: Add functional test for allow_expired options and parameters
* cli: Add parameter -allowexpired for whether to allow expired names by default
* rpc: Make name_show take option for whether to error on expired names
* scripted-diff: rename misbehavior members
* [net processing] Move misbehavior tracking state to Peer
* [net processing] Add Peer
* [net processing] Remove CNodeState.name
* [net] Add addpeeraddress RPC method
* [test] Test that getnodeaddresses() can return all known addresses
* [addrman] Specify max addresses and pct when calling GetAddresses()
* Refactor OutputGroups to handle effective values, fees, and filtering
* doc: Document ALLOW_HOST_PACKAGES dependency option
* rpc: Improve addnode remove command error message
* build: Enable some commonly enabled compiler diagnostics
* build, qt: Add Qt version checking
* build: Drop unused bitcoin_cv_qt58
* build: Add missed fuzz.coverage/ directory to .gitignore
* build: Add missed fuzz_filtered.info to COVERAGE_INFO
* build, test: Add support for llvm-cov
* depends: More robust cmake invocation
* depends: Use $($(package)_cmake) instead of cmake
* [net] Remove unnecessary default args on CNode constructor
* [refactor] Remove IsOutboundDisconnectionCandidate
* [net/refactor] Simplify multiple-connection checks
* [net/refactor] Rework ThreadOpenConnections logic
* [net] Fix bug where AddrFetch connections would be counted as outbound full relay
* [net/refactor] Clarify logic for selecting connections in ThreadOpenConnections
* [net/refactor] Remove fInbound flag from CNode
* [net/refactor] Remove m_addr_fetch member var from CNode
* [net/refactor] Remove fFeeler flag from CNode
* [net/refactor] Remove m_manual_connection flag from CNode
* [net/refactor] Add connection type as a member var to CNode
* [doc] Describe different connection types
* [net/refactor] Add AddrFetch connections to ConnectionType enum
* [net/refactor] Extract m_addr_known logic from initializer list
* [net/refactor] Add block relay only connections to ConnectionType enum
* [net/refactor] Add feeler connections to ConnectionType enum
* [net/refactor] Add manual connections to ConnectionType enum
* [net/refactor] Introduce an enum to distinguish type of connection
* scripted-diff: Rename OneShot to AddrFetch
* Refactor Get{Prevout,Sequence,Outputs}Hash to Get{Prevouts,Sequences,Outputs}SHA256.
* Replace `hidden service` with `onion service`
* [rpc] fundrawtransaction, walletcreatefundedpsbt lock manually selected coins
* Add SHA256Uint256 helper functions
* Add single sha256 call to CHashWriter
* refactor: Make HexStr take a span
* refactor: test: use _ variable for unused loop counters
* build: make clean removes .gcda and .gcno files from fuzz directory
* test: test the implicit avoid partial spends functionality
* wallet: try -avoidpartialspends mode and use its result if fees are below threshold
* build: Update and sort package list in gitian-linux.yml
* contrib: Fixup valgrind suppressions file
* build: set minimum required Boost to 1.58
* Deduplicate missing parents of orphan transactions
* Rewrite parent txid loop of requested transactions
* test addition of unknown segwit spends to txid reject filter
* Add txids with non-standard inputs to reject filter
* test: Wait until is_connected in add_p2p_connection
* Add namepsbt RPC method.
* lint: Remove travis env var from commit linter
* doc: Add CODEOWNERS file
* gui: Call setWalletActionsEnabled(true) only for the first wallet
* Test that wtxid relay peers add wtxid to reject filter
* Restore test case for p2p transaction blinding
* rpc: Assert that RPCArg names are equal to CRPCCommand ones (misc)
* rpc: Limit echo to 10 args
* refactor: Use C++11 range based for loops to simplify rpc code
* rpc: Treat all args after a hidden arg as hidden as well
* rpc: document returned error fields as optional if applicable
* test: Add LockStackEmpty()
* test: Repeat deadlock tests
* Preserve initial state if push_lock() throws exception
* scripted-diff: Remove Reference Links
* doc: Add historical release notes for 0.20.1
* qt: Wrap tooltips in the intro window
* rpc: Document getwalletinfo\'s unlocked_until field as optional
* build: Drop old hack which is unneeded now
* [util] add RunCommandParseJSON
* [ci] use boost::process
* [doc] include Doxygen comments for HAVE_BOOST_PROCESS
* [build] msvc: add boost::process
* [build] make boost-process opt-in
* configure: add ax_boost_process
* [depends] boost: patch unused variable in boost_process
* test: Catch decimal.InvalidOperation from TestNodeCLI#send_cli
* test: Wait for \'cmpctblock\' in p2p_compactblocks when it is expected
* Make Hash[160] consume range-like objects
* Make CHash256/CHash160 output to Span
* Make MurmurHash3 consume Spans
* Make CHash256 and CHash160 consume Spans
* Make script/standard\'s BaseHash Span-convertible
* Add MakeUCharSpan, to help constructing Span<[const] unsigned char>
* Make uint256 Span-convertible by adding ::data()
* scripted-diff: rename base_blob::data to m_data
* refactor: make txmempool interface use GenTxid
* refactor: make FindTxForGetData use GenTxid
* refactor: use GenTxid in tx request functions
* test: request parents of orphan from wtxid relay peer
* p2p: enable fetching of orphans from wtxid peers
* refactor: add GenTxid (=txid or wtxid) type and use it for tx request logic
* doc: list support for BIP 339 in doc/bips.md
* Use real value when calculating OutputGroup value
* Test addr response caching
* Add addr permission flag enabling non-cached addr sharing
* Cache responses to addr requests
* walletdb: Ensure that having no database handle is a failure
* Remove BDB dummy databases
* Introduce DummyDatabase and use it in the tests
* Pass mempool pointer to GetCoinsCacheSizeState
* Pass mempool pointer to UnloadBlockIndex
* refactor: use local argsmanager in CRegTestParams
* scripted-diff: Replace gArgs with local argsman
* refactor: add unused ArgsManager to replace gArgs
* test: Simplify cs_main locks
* doc: Clang 8 or later is required with FORCE_USE_SYSTEM_CLANG
* util: use HAVE_FDATASYNC to determine fdatasync() use
* travis: Re-enable s390x
* doc: set CC_FOR_BUILD when building on OpenBSD
* devtools: Add security check for separate_code
* build: add -Wl,-z,separate-code to hardening flags
* net: save the network type explicitly in CNetAddr
* Clean message_count and last_message
* p2p, refactoring: use CInv helpers in net_processing.cpp
* p2p: add CInv transaction message helper methods
* walletdb: Remove unused static functions from walletdb.h
* wallettool: Have RecoverDatabaseFile return errors and warnings
* Fix .gitignore for src/test/fuzz directory
* refactor: Drop unused CBufferedFile::Seek()
* rpc: Avoid useless mempool query in gettxoutproof
* rpc: Style fixups in gettxoutproof
* test: test decodepsbt fee calculation (count input value only once per UTXO)
* gui: Clarify block height label
* [net processing] Tidy up Misbehaving()
* [net processing] Always supply debug message to Misbehaving()
* [net processing] Fixup MaybeDiscourageAndDisconnect() style
* wallet: Don\'t override signing errors
* rpc: RPCResult Type of MempoolEntryDescription should be OBJ. If multiple entries are possible, wrapping Type should be OBJ_DYN. fixes #19579
* Remove useless 2500 limit on AddrMan queries
* Move filtering banned addrs inside GetAddresses()
* Update README.md to reflect new binary situation
* walletdb: Remove BerkeleyBatch friend class from BerkeleyDatabase
* No need to check for duplicate fileids in all dbenvs
* walletdb: Move Db->open to BerkeleyDatabase::Open
* walletdb: track database file use as m_refcount within BerkeleyDatabase
* Combine BerkeleyEnvironment::Verify into BerkeleyDatabase::Verify
* test: Add test coverage for -networkactive option
* net: Log network activity status change unconditionally
* net: Add -networkactive option
* Call RecoverDatabaseFile directly from wallettool
* rpc: Let name_show error for expired names (disabled by default)
* build: call AC_PATH_TOOL for dsymutil in macOS cross-compile
* fuzz: add missing overrides to signature_checker
* test: Fix fuzzer compilation on macOS fixes #19557
* qt: Leverage the default \"Create new receiving address\" button
* qt: Make \"Create new receiving address\" default unconditionally
* contrib: Clean up previous_releases.py
* Make test DoS_mapOrphans deterministic
* net: document `enum Network`
* span: Add Span::empty() and use it in script/descriptor
* rpc: deduplicate WriteHDKeypath() used in decodepsbt
* test: fix intermittent p2p_ibd_txrelay race, add test_framework.py#wait_until
* build: pass -fcommon when building genisoimage
* fuzz: fix unused variable addrdb compiler warning
* Further improve comments around recentRejects
* Disconnect peers sending wtxidrelay message after VERACK
* test: Use wtxid relay generally in functional tests
* test: Add tests for wtxid tx relay in segwit test
* test: Update test framework p2p protocol version to 70016
* Rename AddInventoryKnown() to AddKnownTx()
* Make TX_WITNESS_STRIPPED its own rejection reason
* Delay getdata requests from peers using txid-based relay
* Add p2p message \"wtxidrelay\"
* ignore non-wtxidrelay compliant invs
* Add support for tx-relay via wtxid
* Add wtxids to recentRejects instead of txids
* Add wtxids of confirmed transactions to bloom filter
* Add wtxid-index to orphan map
* Add a wtxid-index to mapRelay
* Just pass a hash to AddInventoryKnown
* Add wtxid to mempool unbroadcast tracking
* Add a wtxid-index to the mempool
* doc: Update macOS cross compilation dependencies for Focal
* ci: add tsan debug symbols option
* depends: bump native_cctools for fixed lto with external clang
* ci: Add tsan suppression for race in DatabaseBatch
* depends: enable lto support for Apple\'s ld64
* qt: Fix QFileDialog for static builds
* test: Add chacha20 test vectors in muhash
* test: Add basic Python/C++ Muhash implementation parity unit test
* test: Add Python MuHash3072 implementation to test framework
* test: Move modinv to util and add unit test
* [test] feefilter during and after IBD
* gui: Show permissions instead of whitelisted
* [tests] Remove unnecessary cs_mains in denialofservice_tests
* Linter to check commit message formatting
* log: Avoid treating remote misbehvior as local system error
* refactor: Switch ValidationState mode to C++11 enum class
* tests: Add fuzzing harness for CBlockPolicyEstimator::{Read,Write} (policy/fees.h)
* tests: Add fuzzing harness for CBufferedFile::{SetPos,GetPos,GetType,GetVersion} (stream.h)
* tests: Add fuzzing harness for LoadExternalBlockFile(...) (validation.h)
* tests: Add fuzzing harness for CBufferedFile (streams.h)
* tests: Add fuzzing harness for CAutoFile (streams.h)
* tests: Add serialization/deserialization fuzzing helpers WriteToStream(…)/ReadFromStream(…)
* tests: Add FuzzedAutoFileProvider which provides a CAutoFile interface to FuzzedDataProvider
* tests: Add FuzzedFileProvider which provides a FILE
* interface to FuzzedDataProvider using fopencookie
* build: fix -Wformat-security check when compiling with GCC
* test: ensure OP_1NEGATE satisfies BIP62 minimal push rule
* Do not turn OP_1NEGATE in scriptSig into 0x0181 in signing code
* ci: Increase CCACHE_SIZE in some builds on Travis
* Increment input value sum only once per UTXO in decodepsbt
* walletdb: Introduce WalletDatabase abstract class
* walletdb: Add BerkeleyDatabase::Open dummy function
* walletdb: Introduce AddRef and RemoveRef functions
* walletdb: Move BerkeleyDatabase::Flush(true) to Close()
* Have zmq reorg test cover mempool txns
* refactor: replace CConnman pointers by references in net_processing.cpp
* test: update tests for peer discouragement
* test: Fail wait_until early if connection is lost
* [net/net processing] check banman pointer before dereferencing
* gui, doc: rm Ban Score in GUI Peers window/release notes updates
* ci: Fix configure options for macOS builds
* ci: Drop Homebrew caching while using Homebrew addon on Travis
* ci: Do not activate Travis ccache caching strategy
* ci: Disable functional tests on forked repos to avoid timeouts for macOS
* Work around memory-aliasing in descriptor ParsePubkey
* Add zmq test for transaction pub during reorg
* Add test case for mempool->block zmq notification
* Make ordering of zmq consumption irrelevant to functional test
* walletdb: Don\'t remove database transaction logs and instead error
* test: Remove duplicate NodeContext hacks
* doc: CONTRIBUTING.md improvements
* doc: move-only release notes
* doc: Remove release notes of backports
* net: rename DEFAULT_BANSCORE_THRESHOLD to DISCOURAGEMENT_THRESHOLD
* net: remove -banscore configuration option
* wallet: Fix clang build in Mac
* util: Make Assert work with any value
* wallet: Fix typo in comments; Simplify assert
* qt: Disable toolbar when overlay is shown
* Add /settings.json persistent settings storage.
* util: Add ReadSettings and WriteSettings functions
* qt, refactor: Cleanup ModalOverlay slots
* [net processing] Continue SendMessages processing if not disconnecting peer
* [net processing] Only call MaybeDiscourageAndDisconnect from SendMessages
* test: add rpc_generate functional test
* rpc: print useful help and error message for generate
* depends: Add documentation for FORCE_USE_SYSTEM_CLANG make flag
* depends: Reformat make options as definition list
* depends: Add justifications for macOS clang flags
* depends: specify libc++ header location for darwin
* depends: force a new host id string if FORCE_USE_SYSTEM_CLANG is in use
* [protocol] Remove unused GETHEADERS_VERSION
* [protocol] Remove unused CADDR_TIME_VERSION
* [net processing] Fix bad indentation in SendMessages()
* [net processing] Change cs_main TRY_LOCK to LOCK in SendMessages()
* doc: Use precise permission flags where possible
* net: improve encapsulation of CNetAddr
* walletdb: Add MakeBatch function to BerkeleyDatabase and use it
* walletdb: Refactor DatabaseBatch abstract class from BerkeleyBatch
* test: consider generate covered in _get_uncovered_rpc_commands()
* refactor: Use C++11 range-based for loop
* wallet: Never schedule MaybeCompactWalletDB when -flushwallet is off
* wallet: Pass unused args to StartWallets
* gui tests: Limit life-time of dummy testing setup
* test: Add smoke test to check that wallets are flushed by default
* net: Extract download permission from noban
* refactor: clean up PeriodicFlush()
* Make sure unconfirmed parents are requestable
* Drop setInventoryTxToSend based filtering
* Only respond to requests for recently announced transactions
* Introduce constant for mempool-based relay separate from mapRelay caching
* Swap relay pool and mempool lookup
* gui: Fix regression in GUI console
* banlist: log post-swept banlist size at startup
* doc: getpeerinfo banscore deprecation release note
* Drop unused CDBWrapper methods
* test: getpeerinfo banscore deprecation test
* rpc: deprecate banscore field in rpc getpeerinfo
* tests: Add fuzzing harness for BanMan
* tests: Add ConsumeSubNet(...). Move and increase coverage in ConsumeNetAddr(...).
* depends: Allow building with system clang
* depends: Decouple toolchain + binutils
* Pass ChainstateManager to Namecoin code.
* tools: clang-format 6 compatibility
* doc: afl fuzzing comment about afl-gcc and afl-g++
* ci: Add tsan suppression for race in BerkeleyBatch
* cli: reduce DefaultRequestHandler memory allocations
* doc: Add non-thread-safe note to FeeFilterRounder::round()
* Remove previous_release.sh
* script: Add previous_release.py
* Updates msvc build to use ISO standard C++17.
* Remove cached directories and associated script blocks from appveyor CI configuration.
* Clean up separated ban/discourage interface
* Replace automatic bans with discouragement filter
* walletdb: don\'t reinitialize desc cache with multiple cache entries
* qt: Get rid of cursor in out-of-focus labels
* rpc: Update server to use new RPCHelpMan
* rpc: Add option to hide RPCArg
* rpc: Assert that passed arg names are equal to hardcoded ones
* ci: Run tsan ci config on cirrus
* test: Fix intermittent failure in wallet_encryption
* Enable Wswitch for OutputType
* Remove confusing OutputType::CHANGE_AUTO
* wallet: Replace boost::none with nullopt
* script: Fix boost/C++17 compile failure
* ci: Run all tests on native mac again
* test: add test for CChainState::ResizeCoinsCaches()
* add ChainstateManager::MaybeRebalanceCaches()
* Add CChainState::ResizeCoinsCaches
* txdb: add CCoinsViewDB::ChangeCacheSize
* walletdb: Move Rewrite into BerkeleyDatabase
* walletdb: Move PeriodicFlush into WalletDatabase
* walletdb: Combine VerifyDatabaseFile and VerifyEnvironment
* gui: change combiner for signals to optional_last_value
* ci: Add tsan suppression for race in wallet
* doc: Remove outdated comment in TransactionTablePriv
* rpc: Add CRPCCommand constructor which takes RPCHelpMan
* build: pass _WIN32_WINNT=0x0601 when building libevent for Windows
* refactor: Remove confusing BlockIndex global
* scripted-diff: rename movie folder to animation
* test: move TEST_RUNNER_EXTRA into native tsan setup
* Add Windows WSL build recommendation to temporarily disable Win32 PE support.
* doc: explain why passing -mlinker-version is required
* [build] Remove unused RES_IMAGES
* build: improve builtin_clz
* detection
* refactor: Replace RecursiveMutex with Mutex in rpc/server.cpp
* ci: Install fixed version of clang-format for linters
* build: Sort Makefile.am after renaming file
* scripted-diff: Move ui_interface to the node lib
* qt: Remove unused includes
* wallet: Do not include server symbols
* Revert \"Fix link error with --enable-debug\"
* interfaces: Remove unused getDefaultChangeType
* doc/REST-interface: Remove stale info
* doc: Mention Span in developer-notes.md
* doc: Document Span pitfalls
* rpc: Check that left section is not multiline
* moveonly: Fix indentation in bumpfee RPC
* tests: Provide main(...) function in fuzzer
* Hide bumpfee\'s psbt creation behavior behind -deprecatedrpc
* Add psbtbumpfee RPC
* Improve \"detected inconsistent lock order\" error message
* tests: Add fuzzing harness for ChaCha20Poly1305AEAD
* tests: Add fuzzing harness for ChaCha20
* tests: Add fuzzing harness for CHKDF_HMAC_SHA256_L32
* tests: Add fuzzing harness for poly1305_auth(...)
* tests: Add fuzzing harness for AES256CBCEncrypt/AES256CBCDecrypt
* tests: Add fuzzing harness for AES256Encrypt/AES256Decrypt
* test: retry when write to a socket fails on macOS
* refactor: Use Mutex type for g_cs_recent_confirmed_transactions
* depends: Patch libevent build to fix IPv6 -rpcbind on Windows
* tests: Check that segwit inputs in psbt have both UTXO types
* psbt: always put a non_witness_utxo and don\'t remove it
* psbt: Allow both non_witness_utxo and witness_utxo
* rpc: show both UTXOs in decodepsbt
* refactor: Replace HexStr(o.begin(), o.end()) with HexStr(o)
* ci: Increase test timeout for sanitizer configs
* qt: Remove needless headers
* Static asserts for consistency of fee defaults.
* doc: add release notes for explicit fee estimators and bumpfee change
* tests for bumpfee / estimate_modes
* policy: optional FeeEstimateMode param to CFeeRate::ToString
* rpc/wallet: add two explicit modes to estimate_mode
* MOVEONLY: Make FeeEstimateMode available to CFeeRate
* fees: add FeeModes doc helper function
* build: Fix search for brew-installed BDB 4 on OS X
* test: use pgrep for better compatibility
* [net] Don\'t try to take cs_inventory before deleting CNode
* [net] Make cs_inventory a non-recursive mutex
* [net processing] Remove PushBlockInventory and PushBlockHash
* build: Add MemorySanitizer (MSan) in Travis to detect use of uninitialized memory
* Drop CADDR_TIME_VERSION checks now that MIN_PEER_PROTO_VERSION is greater
* build: Detect missed pkg-config early
* build: Drop unused use_pkgconfig variable
* build: Drop use_pkgconfig check for libmultiprocess check
* doc: add release note for bitcoin-cli -generate
* darwin: pass mlinker-version so that clang enables new features
* qt: Fix regression in TransactionTableModel
* walletdb: Handle cursor internally
* Split SetWalletFlags into Add/LoadWalletFlags
* test: Bump linter versions
* doc: add release note for -getinfo displaying multiwallet balances
* test: Improve \"potential deadlock detected\" exception message
* Fix mistakenly swapped \"previous\" and \"current\" lock orders
* macos: Bump to xcode 11.3.1 and 10.15 SDK
* depends: bump MacOS toolchain
* contrib: macdeploy: Remove historical extraction notes
* contrib: macdeploy: Use apple-sdk-tools instead of xar+pbzx
* native_cctools: Don\'t use libc++ from pinned clang
* Adapt rest of tooling to new SDK naming scheme
* test: add two edge case tests for CSubNet
* test: refactor functional tests to use restart_node
* refactor: Use uint16_t instead of unsigned short
* qt: Do not truncate node flag strings in debugwindow.ui peers details tab.
* build: Drop dead non-pkg-config code for libevent check
* test: Test gettxouttsetinfo hash_type option
* rpc: Add hash_type NONE to gettxoutsetinfo
* rpc: gettxoutsetinfo can specify hash_type (only legacy option for now)
* Change format of log2_work for uniform output (zero-padded)
* ci: Run fuzz testing test cases (bitcoin-core/qa-assets) under valgrind to catch memory errors
* doc: Remove -whitelistforcerelay from comment
* test: Check that peers with forcerelay permission do not get a feefilter message
* test: Add connect_nodes method
* test: Add test for no net permission
* test: Replace self.nodes[0].p2p with conn
* test: remove redundant generate
* test: pep-8 p2p_feefilter.py
* scripted-diff: TxoutType C++11 scoped enum class
* doc: Update outdated txnouttype documentation
* rpc: Properly use underlying type in GetAllOutputTypes
* rpc: Simplify GetAllOutputTypes with the Join helper
* clang-format scheduler
* docs: match usage text to script and location
* wallet: Replace CDataStream& with CDataStream&& where appropriate
* wallet: Remove confusing double return value ret+success
* rpc/wallet: add conf_target as alias to confTarget in bumpfee
* added CURRENCY_ATOM to express minimum indivisible unit
* ci: Add test for clang-3.8 C++11 support
* refactor: Fix clang compile failure
* Disallow automatic conversion between hash types
* Remove an apparently unnecessary conversion
* Explicitly support conversion between equivalent hash types
* Use explicit conversion from WitnessV0KeyHash -> CKeyID
* Use explicit conversion from PKHash -> CKeyID
* Convert CPubKey to WitnessV0KeyHash directly
* Prefer explicit CScriptID construction
* Prefer explicit uint160 conversion
* contrib: macdeploy: Correctly generate macOS SDK
* ci: Upgrade most ci configs to focal
* doc: move doc to ci readme
* ci: Have one config run in xenial to test against python3.5
* travis: Always run multiprocess build
* net: Avoid wasting inv traffic during IBD
* refactor: block import implies IsInitialBlockDownload
* Add ChainstateManager::ActiveChainstate
* test: Add FeeFilterRounder test
* test: hoist p2p values to test framework constants
* test: improve msg sends and p2p disconnections in p2p_invalid_messages
* test: refactor test_large_inv() into 3 tests with common method
* test: add p2p_invalid_messages logging
* net: update misbehavior logging for oversized messages
* refactor: Extract GetBogoSize function
* net: Use mockable time for ping/pong, add tests
* util: Add count_microseconds helper
* build: add -fstack-clash-protection to hardening flags
* build: add -fcf-protection=full to hardening options
* Make lint-spelling.py happy
* [gui] Load PSBT from clipboard
* [gui] PSBT Operations Dialog (sign & broadcast)
* [rpc] refactor: consolidate sendmany and sendtoaddress code
* FillPSBT: report number of inputs signed (or would sign)
* Improve TransactionErrorString messages.
* qa: Test concurrent wallet loading
* wallet: Handle concurrent wallet loading
* [net] split PushInventory()
* ci: Run asan ci config on cirrus
* cirrus: Clear dummy task
* test: move sync_blocks and sync_mempool functions to test_framework.py
* scripted-diff: Make SeparatorStyle a scoped enum
* Add sanity check asserts to span when -DDEBUG
* Fix link error with --enable-debug
* Test buffered valid message
* Remove WalletDatabase::Create, CreateMock, and CreateDummy
* scripted-diff: Replace WalletDatabase::Create
* with CreateWalletDatabase
* Add Create
*WalletDatabase functions
* doc: add C++17 release note for 0.21.0
* walletdb: refactor Read, Write, Erase, and Exists into non-template func
* Add tests for CPubKey serialization/unserialization
* build: don\'t warn when doxygen isn\'t found
* Add missing includes to fix compile errors
* Remove unused variables
* test: Add missing sync_blocks
* [refactor] use waiting inside disconnect_p2ps
* [test] wait for disconnect_p2ps to be reflected in getpeerinfo
* [test] logging and style followups for bloomfilter tests
* refactor: Use AbortError in FatalError
* pep-8 test/functional/test_framework/util.py
* test: refactor: Inline adjust_bitcoin_conf_for_pre_17
* test: use subprocess.run() in test-security-check.py
* tests: run test-security-check.py in CI
* net: Remove dead logging code
* net: Avoid redundant and confusing FAILED log
* walletdb: Move BDB specific things into bdb.{cpp/h}
* walletdb: moveonly: Move BerkeleyBatch Cursor and Txn funcs to cpp
* walletdb: move IsWalletLoaded to walletdb.cpp
* walletdb: Add IsBDBWalletLoaded to look for BDB wallets specifically
* contrib: Fix SyntaxWarning in Python base58 implementation
* walletdb: Make SpliWalletFilePath non-static
* tests: Add fuzzing harness for CHash{160,256}, C{HMAC_,}SHA{1,256,512}, CRIPEMD160, CSipHasher, etc.
* tests: feature_backwards_compatibility.py test 0.16 up/downgrade
* Skip hdKeypath of \'m\'
* refactor: Remove unused BlockAssembler::pblock member var
* refactor: Remove unused EnsureChainman
* scripted-diff: Replace EnsureChainman with Assert in unit tests
* util: Add Assert identity function
* [net] Add seed.bitcoin.wiz.biz to DNS seeds
* RPC: Rephrase generatetoaddress help, and use PACKAGE_NAME
* [p2p/refactor] move disconnect logic and remove misbehaving
* [test] test disconnect for filterclear
* [netprocessing] disconnect node that sends filterclear
* move-only: Move NDEBUG compile time check to util/check
* ci: Move travis workarounds to .travis.yml
* build: Drop dead non-pkg-config code for qrencode check
* build: Drop dead non-pkg-config code for ZMQ check
* build: Fix indentation in UNIVALUE check
* build: Drop dead non-pkg-config code for UNIVALUE check
* build: Always use pkg-config
* build: Always define ZMQ_STATIC for MinGW
* [tests] Don\'t import asyncio to test magic bytes
* Replace current benchmarking framework with nanobench
* refactor: Drop ::HasWallets()
* doc: improve subtree check instructions
* init: use std::thread for ThreadImport()
* build: remove BIP70 configure option
* refactor: Remove unused request.fHelp
* wallet: Make RPC help compile-time static
* tests: Add fuzzing harness for {Read,Write}{LE,BE}{16,32,64} (crypto/common.h)
* tests: Add std::vector ConsumeFixedLengthByteVector(FuzzedDataProvider& fuzzed_data_provider, const size_t length)
* Add means to handle negative capabilities in thread safety annotations
* scripted-diff: rename privkey with seckey in secp256k1 interface
* Drop --disable-jni from libsecp256k1 configure options
* [tests] move generate_wif_key to wallet_util.py
* [tests] sort imports in rpc_createmultisig.py
* Revert \"[TESTS] Move base58 to own module to break circular dependency\"
* Check size after Unserializing CPubKey
* scripted-diff: rename node to peer for mininodes
* [test] fix race conditions and test in p2p_filter
* [test] sending invalid msgs to node with bloomfilters=0 causes disconnect
* [test] add BIP 37 test for node with fRelay=false
* [test] add mempool msg test for node with bloomfilter enabled
* Make SetMiscWarning() accept bilingual_str argument
* Make GetWarnings() return bilingual_str
* refactor: Make GetWarnings() bilingual_str aware internally
* test: mempool.dat compatibility between versions
* gui: add missing translation.h include to fix build
* [TESTS] Move base58 to own module to break circular dependency
* Update MSVC build config for libsecp256k1
* Squashed \'src/secp256k1/\' changes from b19c000063..2ed54da18a
* change blacklist to blocklist
* test: Add BerkeleyDatabase tsan suppression
* scripted-diff: replace MAX_BLOCKS_ONLY_CONNECTIONS with MAX_BLOCK_RELAY_ONLY_CONNECTIONS
* refactor: Change Node::initError to take bilingual_str
* refactor: Put`TryParsePermissionFlags` in anonymous namespace
* refactor: Error message bilingual_str consistency
* refactor: Replace RecursiveMutex with Mutex in warnings.cpp
* Call SHA256AutoDetect in benchmark setup
* refactor: Add AbortError alias
* doc: Mention repo split in the READMEs
* doc: Add redirect for GUI issues and pull requests
* Refactor resource exhaustion test
* test: Remove leftover comment in mining_basic
* test: pep-8 mining_basic
* doc: Extract net permissions doc
* Add NodeContext to WalletContext.
* doc: release note for rpc getaddressinfo removals
* rpc: getaddressinfo RPCResult fixup
* rpc: remove deprecated getaddressinfo `labels: purpose`
* rpc: remove deprecated getaddressinfo `label` field
* util: Don\'t reference errno when pthread fails.
* Fix \"invalid message size\" test
* Move size limits to module-global
* Remove two unneeded tests
* doc: release note for `db` log category removal
* log: remove deprecated `db` log category
* ci: Switch to bitcoincore.org download
* refactor: Fix formatting of timedata.cpp
* doc: Add documentation for \'checklevel\' argument in \'verifychain\' RPC call
* Add functional test for P2P eviction logic of inbound peers
* refactor: Replace RecursiveMutex with Mutex in netbase.cpp
* test: Avoid overwriting the NodeContext member of the testing setup
* refactor: Replace RecursiveMutex with Mutex in timedata.cpp
* build: Add -Wshadow-field
* refactor: Make CScriptVisitor stateless
* rpc: Validate provided keys for query_options parameter in listunspent
* refactor: Replace RecursiveMutex with Mutex in Shutdown()
* [tests] Make mininode_lock non-reentrant
* [tests] Don\'t call super twice in P2PTxInvStore.on_inv()
* [tests] Don\'t acquire mininode_lock twice in wait_for_broadcast()
* [tests] Only acquire lock once in p2p_compactblocks.py
* doc: Add mypy to test dependencies
* test: Do not swallow flake8 exit code
* refactor: Combine GetWalletForJSONRPCRequest and EnsureWalletIsAvailable functions
* build: turn on --enable-c++17 by --enable-fuzz
* ci: tsan with wallet
* doc: noban precludes maxuploadtarget disconnects
* net: Reformat excessively long if condition into multiple lines
* Drop MSG_NOPREFIX flag
* Pass bilingual_str argument to AbortNode()
* refactor: Use bilingual_str::empty()
* refactor: Specify boost/thread/thread.hpp explicitly
* txdb: Remove unused boost/thread
* txindex: Remove unused boost/thread
* test: Make valgrind.supp work on aarch64
* [test] CScriptNum Decode Check as Unit Tests
* validation: Make VerifyDB level 4 interruptible
* validation: Remove unused boost interruption_point
* build: improved output of configure for build OS
* doc: Move 0.21 fragments into the main release notes
* doc: Add release-notes-0.20.0.md
* doc: Remove release notes of 0.20.1 release
* tests: Avoid fuzzer-specific nullptr dereference in libevent when handling PROXY requests
* wallet: Remove unused boost::thread_interrupted
* rpc: add missing space in JSON parsing error message, update test
* test: add multiwallet tests for bitcoin-cli -generate
* cli: add multiwallet capability to GetNewAddress and -generate
* test: add tests for bitcoin-cli -generate
* cli: create bitcoin-cli -generate command
* cli: extract ParseResult() and ParseError()
* cli: create GenerateToAddressRequestHandler class
* cli: create GetNewAddress()
* rpc: make generatetoaddress locals const
* This PR adds initial support for type hints checking in python scripts.
* refactor: replace CNode pointers by references within net_processing.{h,cpp}
* build: Enable unreachable-code-loop-increment
* refactor: Fix unreachable code in init arg checks
* qt: lock cs_main, m_cached_tip_mutex in that order
* rpc: create rpc/mining.h, hoist default max tries values to constant
* [test] Add test for NODE_COMPACT_FILTER.
* [net] Signal NODE_COMPACT_FILTERS if we\'re serving compact filters.
* Apply cfilters review fixups
* gui: Add Close All Wallets action
* gui: Add closeAllWallets to WalletController
* ci: Remove unused workaround
* ci: Install llvm to get llvm symbolizer
* test: Add more tsan suppressions
* test: Add missing sync_blocks to wallet_hd
* test: pep-8 wallet_hd
* doc: Sync \"how to upgrade\" with 0.20.0 release notes
* doc: Add release notes for 17219
* ci: Mute depends logs completely
* test: Extend tsan suppressions for clang stdlib
* ci: Use libc++ instead of libstdc++ for tsan
* ci: Set halt_on_error=1 for tsan
* ci: Deduplicate DOCKER_EXEC
* cirrus: Remove no longer needed install step
* tests: Add fuzzing harness for functions in script/sign.h
* tests: Add fuzzing harness for functions in script/sigcache.h
* tests: Add fuzzing harness for functions in script/interpreter.h
* tests: Add fuzzing harness for functions in script/descriptor.h
* tests: Add fuzzing harness for functions in script/bitcoinconsensus.h
* tests: Fill fuzzing coverage gaps for functions in script/script.h, script/script_error.h and script/standard.h
* rpc: Remove special case for unknown service flags
* Limit scope of all global std::once_flag
* test: Explain that a bug should be filed when the test fail
* util: dedup code in callers of serviceFlagToStr()
* util: simplify the interface of serviceFlagToStr()
* tests: Add fuzzing helper functions ConsumeDataStream, ConsumeTxDestination and ConsumeUInt160
* net: improve code documentation for dns seed behaviour
* gui, refactor: Register Qt meta types in application constructor
* doc: Switch scheduler to doxygen comments
* scheduler: Replace stop(true) with StopWhenDrained()
* Add missing QPainterPath include
* build: Only allow ASCII identifiers
* [tools] Update clang-format config
* doc: Explain that anyone can work on good first issues, move text to CONTRIBUTING.md
* doc: Expand section on Getting Started
* doc: Add headings to CONTRIBUTING.md
* doc: Remove unused documentation about unimplemented features
* doc: Switch boost::thread to std::thread in scheduler
* validation: use std::chrono in IsCurrentForFeeEstimation()
* validation: use std::chrono in CChainState::FlushStateToDisk()
* scripted-diff: replace gArgs with argsman
* Create a local class inherited from BasicTestingSetup with a localized args manager and put it into the getarg_tests namespace
* test: Remove unused scheduler.h include from the common setup
* scheduler: Remove unused REVERSE_LOCK
* build: Replace -Wthread-safety-analysis with broader -Wthread-safety
* Get rid of -Wthread-safety-precise warnings
* Use template function instead of void
* parameter
* refactor: Rename LockGuard to StdLockGuard for consistency with StdMutex
* Add thread safety annotated wrapper for std::mutex
* Remove g_rpc_chain global
* refactor: replace RegisterWalletRPCCommands with GetWalletRPCCommands
* depends: Propagate only specific CLI variables to sub-makes
* depends: boost: Use clang toolset if clang in CXX
* depends: boost: Split target-os from toolset
* depends: boost: Specify toolset to bootstrap.sh
* depends: Propagate well-known vars into depends
* walletdb: Remove unsed boost/thread
* doc: Fix unrelated typos reported by codespell
* qt: Add privacy feature to Overview page
* doc : add link to readme.md in the first section
* wallet: Make PeriodicFlush uninterruptible
* qt: increase console command max length
* [test] Add test for cfilters.
* [net processing] Message handling for getcfilters.
* [indexes] Fix default [de]serialization of BlockFilter.
* [refactor] Pass CNode and CConnman by reference
* Remove outdated comment about DER encoding
* logging: thread safety annotations
* refactor: replace pointers by references within tx_verify.{h,cpp}
* util/system.cpp: add thread safety annotations for dir_locks
* [trivial/doc] Fix comment type
* [doc] Update unbroadcast description in RPC results
* [trivial] Remove misleading \'const\'
* [test] Manage node connections better in mempool persist test
* [doc] Provide rationale for randomization in scheduling.
* [mempool] Don\'t throw expected error message when upgrading
* [test] Test that wallet transactions aren\'t rebroadcast before 12 hours
* [test] P2P connection behavior should meet expectations
* [test] updates to unbroadcast test
* [docs] add release notes
* Add release notes about salvage changes
* Move RecoverKeysOnlyFilter into RecoverDataBaseFile
* Move RecoverDatabaseFile and RecoverKeysOnlyFilter into salvage.{cpp/h}
* Make BerkeleyBatch::Recover and WalletBatch::RecoverKeysOnlyFilter standalone
* Expose a version of ReadKeyValue and use it in RecoverKeysOnlyFilter
* Move BerkeleyEnvironment::Salvage into BerkeleyBatch::Recover
* walletdb: remove fAggressive from Salvage
* walletdb: don\'t automatically salvage when corruption is detected
* wallet: remove -salvagewallet
* Add basic test for bitcoin-wallet salvage
* wallettool: Add a salvage command
* tests: Add fuzzing harness for CCoinsViewCache
* Use new serialisation for names.
* Switch CAuxPow to new serialisation.
* Remove old serialization primitives
* Convert LimitedString to formatter
* Convert wallet to new serialization
* BlockTip struct created and connected to notifyHeaderTip and notifyBlockTip signals.
* Added best block hash to the NotifyHeaderTip and NotifyBlockTip signals.
* test: Remove global wait_until from p2p_getdata
* test: Default mininode.wait_until timeout to 60s
* qt: Add BitcoinUnits::formatWithPrivacy() function
* test: pep-8 p2p_getdata.py
* gui: update Qt base translations for macOS release
* doc: Drop protobuf stuff
* trivial: Suggested cleanups to surrounding code
* rpc: Make gettxoutsetinfo/GetUTXOStats interruptible
* rpc: factor out RpcInterruptionPoint from dumptxoutset
* [test] Add test for cfheaders
* [net processing] Message handling for getcfheaders.
* [doc] Add comment for m_headers_cache
* tests: Don\'t limit fuzzing inputs to 1 MB for afl-fuzz (now: ∞ ∀ fuzzers)
* doc: Add and fix comments about never destroyed objects
* Split SetActiveScriptPubKeyMan into Add/LoadActiveScriptPubKeyMan
* Split SetHDChain into AddHDChain and LoadHDChain
* refactor: Replace const char
* to std::string
* validation: Mark g_chainman DEPRECATED
* validation: Make ProcessNewBlock
*() members of ChainstateManager
* validation: Make PruneOneBlockFile() a member of ChainstateManager
* validation: Make LoadBlockIndex() a member of ChainstateManager
* net: Pass chainman into PeerLogicValidation
* node: Add chainman alias for g_chainman
* test: Set -logthreadnames in unit tests
* init: Setup scheduler in tests and init in exactly the same way
* test: Default --previous-releases to false if dir is empty
* test: Replace TEST_PREVIOUS_RELEASES env var with test_framework option
* test: add -getinfo multiwallet functional tests
* rpc: drop unused JSONRPCProcessBatchReply size arg, refactor
* cli: use GetWalletBalances() functionality for -getinfo
* cli: create GetWalletBalances() to fetch multiwallet balances
* cli: lift -rpcwallet logic up to CommandLineRPC()
* cli: extract connection exception handler, -rpcwait logic
* tests: implement base58_decode
* Convert Qt to new serialization
* guix: Add clarifying documentation for V env var
* net: Use C++11 member initialization in protocol
* test: Fix intermittent ETIMEDOUT on FreeBSD
* test: Fix intermittent failure in feature_dbcrash
* Add comments to CustomUintFormatter
* [test] wait for inital broadcast before comparing mempool entries
* [mempool] sanity check that all unbroadcast txns are in mempool
* [rpc] add unbroadcast info to mempool entries and getmempoolinfo
* Change docs for walletcreatefundedpsbt RPC method
* http: Avoid crash when g_thread_http was never started
* test: Replace inline-comments with logs, pep8 formatting
* init: Remove confusing and redundant InitError
* test/checkqueue_tests: thread safety annotations
* rpc/blockchain.cpp: thread safety annotations for latestblock
* net: fMsgProcWake use LOCK instead of lock_guard
* wallet/wallet.h: Remove mutexScanning which was only protecting a single atomic bool
* ci: Set DEBIAN_FRONTEND=noninteractive
* ci: tsan on clang-9
* refactor: Remove Node:: queries from GUI
* qt: Add SynchronizationState enum to signal parameter
* refactor: Remove Node::getReindex() call from GUI
* refactor: Pass SynchronizationState enum to GUI
* refactor: Remove unused bool parameter in RPCNotifyBlockChange()
* refactor: Remove unused bool parameter in BlockNotifyGenesisWait()
* Replace thread_local g_lockstack with a mutex-protected map
* refactor: Refactor duplicated code into LockHeld()
* refactor: Add LockPair type alias
* refactor: Add LockStackItem type alias
* Prevent UB in DeleteLock() function
* [indexes] Add compact block filter headers cache
* docs: Add notes on how to diasble rpc timeout in functional tests while attatching gdb.
* test: Add capability to disable RPC timeout in functional tests.
* [wallet] remove nLastResend logic
* log: Remove \"No rpcpassword set\" from logs
* Updated comment for the condition where a transaction relay is denied
* gui: Remove un-actionable TODO
* net: Run clang-format on protocol.h
* net: Remove un-actionable TODO
* log: Properly log txs rejected from mempool
* Remove IBD check in sethdseed
* Test that keys from inactive seeds are generated
* Generate new keys for inactive seeds after marking used
* Determine inactive HD seeds from key metadata and track them in LegacyScriptPubKeyMan
* Remove unnecessary blockfile SetPos
* wallet: Minimal fix to restore conflicted transaction notifications
* Switch from Optional to std::optional (C++17). Run clang-format.
* tests: Fill fuzzing coverage gaps for functions in util/translation.h
* tests: Fill fuzzing coverage gaps for functions in consensus/validation.h
* tests: Fill fuzzing coverage gaps for functions in primitives/block.h
* test: Remove const to work around compiler error on xenial
* test: Check that invalid witness destinations can not be imported
* scripts: add additional type annotations to security-check.py
* scripts: add run_command to security-check.py
* scripts: remove NONFATAL from security-check.py
* scripts: no-longer check for 32 bit windows in security-check.py
* build: enforce minimum required Windows version (7)
* miner: Avoid stack-use-after-return in validationinterface
* test: Remove UninterruptibleSleep from test and replace it by SyncWithValidationInterfaceQueue
* validationinterface: Rework documentation, Rename pwalletIn to callbacks
* test: Add unregister_validation_interface_race test
* refactor: Remove g_rpc_node global
* scripted-diff: Remove g_rpc_node references
* refactor: Pass NodeContext to RPC and REST methods through util::Ref
* Add util::Ref class as temporary alternative for c++17 std::any
* qt: Fix shutdown when waitfor
* cmds are called from RPC console
* qt: Remove QFont warnings with QPA=minimal
* Do not answer GETDATA for to-be-announced tx
* Simplify usage of Span in several places
* Add Span constructors for arrays and vectors
* Make pointer-based Span construction safer
* Make Span size type unsigned
* [net processing] Only send a getheaders for one block in an INV
* Push down use of cs_main into FindTxForGetData
* Abstract logic to determine whether to answer tx GETDATA
* build: Enable -Wsuggest-override
* multiprocess: add multiprocess travis configuration
* depends: add MULTIPROCESS depends option
* build: multiprocess autotools changes
* guix: Make V=1 more powerful for debugging
* fuzz: Stop nodes in process_message
* fuzzers
* test: use p2p constants in denial of service tests
* p2p: add MAX_FEELER_CONNECTIONS constant
* Add a link from ZMQ doc to ZMQ example in contrib/
* avoided os-dependant path
* fuzz: Give CNode ownership to ConnmanTestMsg in process_message fuzz harness
* refactor: Add BerkeleyDatabaseVersion() function
* rpcwallet: Replace pwallet-> with wallet.
* rpcwallet: Replace boost::optional::emplace with simple assignment of T{}
* doc: add c++17-enable to fuzzing instructions
* refactor: s/command/msg_type/ in CNetMsgMaker and CSerializedNetMsg
* util: Drop OpOriginal() and OpTranslated()
* gui: Do not translate InitWarning messages in debug.log
* util: Enhance Join()
* Set LD_LIBRARY_PATH consistently in travis tests
* net: use CMessageHeader::HEADER_SIZE, add missing include
* Remove unused ci configs that have been moved elsewhere
* fuzz: Pass down MAKEJOBS to test_runner
* build: don\'t pass -w when building for Windows
* util: Enhance bilingual_str
* fuzz: use std::optional for sep_pos variable
* build: Enable -Werror=sign-compare
* refactor: Rework asmap Interpret to avoid ptrdiff_t
* [test] Add test for cfcheckpt
* [net processing] Message handling for getcfcheckpt.
* [init] Add -peerblockfilters option
* fuzz: fix vector size problem in system fuzzer
* test: Fix outstanding -Wsign-compare errors
* [ci] make list of previous releases to download a setting
* Add changelog entry for byHash lookups.
* Regtest for name lookup by hash.
* Allow lookups of names by hash.
* Add optional index for hash->name mapping.
* refactor: Remove override for final overriders
* refactor: Use override for non-final overriders
* Test txinwitness is accessible on coinbase vin
* Expose txinwitness for coinbase in JSON form
* test: Remove unnecessary disconnect_nodes call in rpc_psbt.py
* test: remove redundant two-way disconnect_nodes calls
* test: warn if nodes not connected before disconnect_nodes
* travis: Remove s390x
* test: explicit imports from test_framework.messages in p2p_invalid_messages.py
* test: add inventory type constant MSG_CMPCT_BLOCK
* test: replace inv type magic numbers by constants
* test: remove glibc fdelt sanity check
* build: remove fdelt_chk backwards compatibility code
* Fix ZapSelectTx to sync wallet spends
* qt: Reset toolbar after all wallets are closed
* qt: Display warnings as rich text
* rpc: Relock wallet only if most recent callback
* travis: Remove valgrind
* build: make linker checks more robust
* rpc/blockchain.cpp: Remove g_utxosetscan mutex that is only protecting a single atomic variable
* gui: Fix manual coin control with multiple wallets loaded
* test: Fix intermittent sync_blocks failures
* test: Remove RPCOverloadWrapper boilerplate
* build: enable -Werror=gnu
* contrib: Remove optimize-pngs.py script, which lives in the maintainer repo
* wallet: error if an explicit fee rate was given but the needed fee rate differed
* Add test for param interaction b/w -blocksonly and -whitelistforcerelay
* Change SetType to SetInternal and remove m_address_type
* Remove unimplemented SetCrypted from DescriptorScriptPubKeyMan
* rpc: createwallet warning that descriptor wallets are experimental
* docs: Add release notes for descriptor wallets
* build: Suppress -Wdeprecated-copy warnings
* valgrind : remove duplicate BCLog::Logger suppression
* valgrind: remove rest_blockhash_by_height suppression
* qt: Rename slot to updateDisplayUnit()
* qt: Overhaul ReceiveRequestDialog
* test: Add test for conflicted wallet tx notifications
* util: Cleanup translation.h
* doc: Do not translate technical or extremely rare errors
* Make InitError bilingual
* Make ThreadSafe{MessageBox|Question} bilingual
* gui: Add detailed text to BitcoinGUI::message
* rel-builds: Specify core.abbrev for git-rev-parse
* Drop unused GIT_COMMIT_DATE macro
* refactor: Remove duplicated code
* wallet: Fix typo in assert that is compile-time true
* test: Fix verack race to avoid intermittent test failures
* [test] backwards compatibility: bump v0.19.0.1 to v0.19.1
* [test] add v0.16.3 backwards compatibility test
* gui: Fix itemWalletAddress leak when not tree mode
* Remove CCoinsViewCache::GetValueIn(...)
* build: warn on potentially uninitialized reads
* tests: feature_backwards_compatibility.py test downgrade after upgrade
* test: add factor option to adjust test timeouts
* doc: Fix typo in Coin doxygen comment
* have GenerateNewKey and DeriveNewChildKey take a CHDChain as an argument
* build: Rename BUILD_
* macros and the code self-descriptive
* scripted-diff: Rename share/genbuild.sh macros to more meaningful ones
* build: Accomodate makensis v2.x
* guix: Remove logical cores requirement
* lint: Also enable source statements for non-gitian
* rel-builds: Directly deploy win installer to OUTDIR
* test: Fix p2p_leak intermittent issue
* test: Fix intermittent p2p_segwit issue
* wallet: Remove trailing whitespace from potential translation strings
* wallet: Report full error message in wallettool
* wallet: Avoid translating RPC errors when creating txs
* wallet: Avoid translating RPC errors when loading wallets
* Revert \"gui: Avoid Wallet::GetBalance in WalletModel::pollBalanceChanged\"
* Get rid of BindWallet
* gui: Avoid wallet tryGetBalances calls before TransactionChanged or BlockTip notifications
* Disable CWalletTx copy constructor
* Cancel wallet balance timer when shutdown requested
* Avoid copying CWalletTx in LoadToWallet
* Switch transaction table to use wallet height not node height
* Get rid of unneeded CWalletTx::Init parameter
* Remove CWalletTx merging logic from AddToWallet
* [wallet] Remove locked_chain from CWallet, its RPCs and tests
* [wallet] Move methods from Chain::Lock interface to simple Chain
* [wallet] Move getBlockHash from Chain::Lock interface to simple Chain
* [wallet] Move getBlockHeight from Chain::Lock interface to simple Chain
* [wallet] Move getHeight from Chain::Lock interface to simple Chain
* ci: Merge C++17 build with one of the existing ones
* test: Strip down previous releases boilerplate
* tests: Clarify how we avoid hitting the signed integer overflow in CFeeRate::GetFeePerK() when fuzzing
* tests: Add fuzzing harness for IsRBFOptIn(...)
* tests: Add fuzzing harness for CBlockPolicyEstimator
* test: Add test for GetRandMillis and GetRandMicros
* Add templated GetRandomDuration<>
* build: add -Wgnu to compile flags
* Remove use of non-standard zero variadic macros
* Drop unused LOG_TIME_MICROS helper
* prevector: Avoid unnamed struct, which is a GNU extension
* test: fix message for ECC_InitSanityCheck test
* [docs] Improve commenting in ProcessGetData()
* [test] test that an invalid GETDATA doesn\'t prevent processing of future messages
* qt: Track QEvent::Resize during animation
* Use salted hasher instead of nonce in sigcache
* [net processing] ignore unknown INV types in GETDATA messages
* [net processing] ignore tx GETDATA from blocks-only peers
* test: added test for upgradewallet RPC
* rpc: Add mutex to guard deadlineTimers
* Add Hash Padding Microbenchmarks
* test: add test for witness commitment index
* validation: Add minimum witness commitment size constant
* fix: update rest info on block size and json
* rpc: Do not advertise dumptxoutset as a way to flush the chainstate
* Drop unused CLIENT_VERSION_SUFFIX macro
* net: remove is{Empty,Full} flags from CBloomFilter, clarify CVE fix
* tests: Add missing sync_all to wallet_importdescriptors.py
* test: Fix wallet_bumpfee intermittent error
* nsis: Specify OutFile path only once
* guix: Expose GIT_COMMON_DIR in container as readonly
* guix: Make source tarball using git-archive
* gitian: Limit sourced script to just assignments
* ci: Document why tests can not be run on mac
* ci: Fix default retry script usage
* init: Remove boost from ThreadImport
* tests: Add fuzzing harness for MessageSign, MessageVerify and other functions in util/message.h
* ci: Add and document BASE_BUILD_DIR
* wallet: Make sure no WalletDescriptor members are uninitialized after construction
* wallet: Make sure no DescriptorScriptPubKeyMan members are uninitialized after construction
* Rebrand BIP-44 derivation coin type.
* doc: Better explain GNU ld\'s dislike of ld64\'s options
* ci: Run functional tests on mac again
* test: Add CreateWalletFromFile test
* Prevent valgrind false positive in rest_blockhash_by_height
* wallet: Recommned absolute path for dumpwallet
* test: use unittest and test_runner for test framework unit testing
* tests: Sort fuzzing harnesses
* tests: Add fuzzing coverage for JSONRPCTransactionError(...) and RPCErrorFromTransactionError(...)
* tests: Add fuzzing coverage for TransactionErrorString(...)
* tests: Add fuzzing coverage for ParseFixedPoint(...)
* tests: Add fuzzing coverage for FormatHDKeypath(...) and WriteHDKeypath(...)
* tests: Add fuzzing coverage for CHECK_NONFATAL(...)
* tests: Add fuzzing coverage for StringForFeeReason(...)
* tests: Add fuzzing harness for functions in system.h (ArgsManager)
* qt: remove todo bug fix for old versions of Qt
* Fix WSL file locking by using flock instead of fcntl
* test: Remove raw-tx byte juggling in mempool_reorg
* test: check misbehavior more independently in p2p_filter.py
* test: use zero-argument super() shortcut (Python 3.0+)
* bench: Start nodes with -nodebuglogfile
* test: add coverage for -rpcwallet cli option
* test: Add mempool_updatefromblock.py
* fuzz: Remove enumeration of expected deserialization exceptions in ProcessMessage(...) fuzzer
* tests: Add fuzzing harness for functions in primitives/transaction.h
* refactor: test: use wait_for_getdata() in p2p_compactblocks.py
* test: Fix intermittent failure in wallet_importmulti
* test: Fix intermittent error in mempool_reorg
* [mempool] Persist unbroadcast set to mempool.dat
* [test] Integration tests for unbroadcast functionality
* [refactor/test] Extract P2PTxInvStore into test framework
* [wallet] Update the rebroadcast frequency to be ~1/day.
* [p2p] Reattempt initial send of unbroadcast transactions
* [util] Add method that returns random time in milliseconds
* [mempool] Track \"unbroadcast\" transactions
* Add a --descriptors option to various tests
* tests: Add RPCOverloadWrapper which overloads some disabled RPCs
* Correctly check for default wallet
* Implement CWallet::IsSpentKey for non-LegacySPKMans
* Return error when no ScriptPubKeyMan is available for specified type
* Change wallet_encryption.py to use signmessage instead of dumpprivkey
* Functional tests for descriptor wallets
* add importdescriptors RPC and tests for native descriptor wallets
* Add IsLegacy to CWallet so that the GUI knows whether to show watchonly
* Generate new descriptors when encrypting
* Be able to create new wallets with DescriptorScriptPubKeyMans as backing
* Implement GetMetadata in DescriptorScriptPubKeyMan
* Change GetMetadata to use unique_ptr
* Implement FillPSBT in DescriptorScriptPubKeyMan
* Implement SignMessage for descriptor wallets
* Implement SignTransaction in DescriptorScriptPubKeyMan
* Implement GetSolvingProvider for DescriptorScriptPubKeyMan
* Implement GetKeypoolOldestTime and only display it if greater than 0
* Implement ReturnDestination in DescriptorScriptPubKeyMan
* Implement GetReservedDestination in DescriptorScriptPubKeyMan
* Implement Unlock and Encrypt in DescriptorScriptPubKeyMan
* Implement GetNewDestination for DescriptorScriptPubKeyMan
* Implement TopUp in DescriptorScriptPubKeyMan
* Implement SetupGeneration for DescriptorScriptPubKeyMan
* Implement writing descriptorkeys, descriptorckeys, and descriptors to wallet file
* Implement several simple functions in DescriptorScriptPubKeyMan
* Add IsSingleType to Descriptors
* Implement loading of keys for DescriptorScriptPubKeyMan
* Load the descriptor cache from the wallet file
* Implement GetID for DescriptorScriptPubKeyMan
* Implement IsHDEnabled in DescriptorScriptPubKeyMan
* Implement MarkUnusedAddresses in DescriptorScriptPubKeyMan
* Implement IsMine for DescriptorScriptPubKeyMan
* Add LoadDescriptorScriptPubKeyMan and SetActiveScriptPubKeyMan to CWallet
* Implement SetType in DescriptorScriptPubKeyMan
* Store WalletDescriptor in DescriptorScriptPubKeyMan
* Add a lock cs_desc_man for DescriptorScriptPubKeyMan
* Introduce WalletDescriptor class
* Create LegacyScriptPubKeyMan when not a descriptor wallet
* Return nullptr from GetLegacyScriptPubKeyMan if descriptor wallet
* Add WALLET_FLAG_DESCRIPTORS
* Introduce DescriptorScriptPubKeyMan as a dummy class
* Introduce SetType function to tell ScriptPubKeyMans the type and internal-ness of it
* Fix naming of macOS SDK and clarify version
* [net processing] Move all const declarations to top of net_processing.cpp
* [validation] Move all const declarations to top of validation.h
* [validation] Move validation-only consts to validation.cpp
* [net processing] Move net processing consts to net_processing.cpp
* scripts: add PE .reloc section check to security-check.py
* test: Check submitblock return values
* tests: Add fuzzing harness for functions in primitives/block.h
* test: check for matching object hashes in wait_for_getdata
* doc: Document how to fuzz Bitcoin Core using honggfuzz
* doc: Add wallet release notes for 0.21.0
* depends: Add --sysroot option to mac os native compile flags
* Add release notes skeleton, so that notes can be filled easier
* test: Remove unused, undocumented and misleading CScript.__add__
* [docs] use consistent naming for possible_overwrite
* [tests] small whitespace fixup
* scripted-diff: Rename PRUNED to SPENT in coins tests
* [docs] Improve commenting in coins.cpp|h
* [test] add 8 error messages to feature_segwit and change version to type
* test: display command line options passed to send_cli() in debug log
* bench: add CAddrMan benchmarks
* test: Fix linter issue
* scripts: add MACHO LAZY_BINDINGS test to test-security-check.py
* scripts: add MACHO Canary check to security-check.py
* doc: fix typo in configure.ac
* test: add further BIP37 size limit checks to p2p_filter.py
* tests: Add fuzzing harness for Golomb-Rice coding (GolombRiceEncode/GolombRiceDecode)
* Do not expose and consider -logthreadnames when it does not work
* doc: note why we can\'t use thread_local with glibc back compat
* test: fix intermittent race condition in interface_bitcoin_cli.py
* test: add wait_for_cookie_credentials() to test framework
* wallet: Refactor WalletRescanReserver to use wallet reference
* ci: Remove xenial tsan workaround
* test: Increase debugging to hunt down mempool_reorg intermittent failure
* build: fix ASLR for bitcoin-cli on Windows
* test: Properly raise FailedToStartError when rpc shutdown before warmup finished (take 2)
* rpc: doc: Fix and extend getblockstats examples
* test: Replace boost::mutex with std::mutex
* test: Bump timeout in wallet_import_rescan
* fuzz: Run in parallel
* fuzz: http_request workaround for libevent < 2.1.1
* bench: Replace ::mempool globabl with test_setup.mempool
* bench: Remove requirement that all benches use RegTestingSetup
* refactor: Drop unused ${WRAP_DIR}/${HOST} directory
* build: Drop make dist in gitian builds
* ci: Disable valgrind functionl tests on forked repos to avoid timeouts
* fuzz: fix unused variable compiler warning
* build: Set libevent minimum version to 2.0.21
* test: Move boost/stdlib includes last
* Adding build instructions to Bitcoin Core, fixes #18658
* wallet: Add BlockUntilSyncedToCurrentChain to dumpwallet
* refactor: Remove unused methods CBloomFilter::reset()/clear()
* [tests] Don\'t initialize PrecomputedTransactionData in txvalidationcache tests
* scripted-diff: Bump copyright headers
* scripted-diff: Sort test includes
* util: Document why ArgsManager (con/de)structor is not inline
* Disable unavailable context menu items in transactions tab
* log: Use Join() helper when listing log categories
* ci: Limit cache size regardless of NO_DEPENDS
* rpc: Document all aliases for first arg of listtransactions
* rpc: Document all aliases for second arg of getblock
* bench: Remove unused argsman.ClearArgs
* scripted-diff: Replace gArgs with local argsman in bench
* tools: Add unused argsman to bench_bitcoin
* test: Verify findCommonAncestor always initializes outputs
* fuzz: Disable debug log file
* test: Add optional extra_args to testing setup
* node: Add args alias for gArgs global
* [doc] Update thread information in developer docs
* test: Avoid accessing free\'d memory in validation_chainstatemanager_tests
* test: add -getinfo \"unlocked_until\" and \"headers\" coverage
* test: verify cli.getwalletinfo in wallet section
* test: verify bitcoin-cli -version with node stopped
* test: add coverage for bitcoin-cli -rpcwait
* script: Remove undocumented and unused operator+
* scripted-diff: test: replace command with msgtype
* qt: Make bitcoin.ico non-executable
* tests: Add std::locale::global to list of locale dependent functions in lint-locale-dependence.sh
* gui: use PACKAGE_NAME in exception message
* test: Create cached blocks not in the future
* appveyor: Remove clcache
* ci: Add fuzzbuzz integration
* test: add more inactive filter tests to p2p_filter.py
* doc: Fix macos comments in release-notes
* rpc: settxfee respects -maxtxfee wallet setting
* appveyor: Disable functional tests for now
* test: Improve naming and logging of avoid_reuse tests
* wallet: Prefer full destination groups in coin selection
* util: Detect posix_fallocate() instead of assuming
* test: Add various low-level p2p tests
* Remove -upgradewallet startup option
* Add upgradewallet RPC
* Make UpgradeWallet a member function of CWallet
* Have UpgradeWallet take the version to upgrade to and an error message out parameter
* Only run UpgradeWallet if the wallet needs to be upgraded
* Move wallet upgrading to its own function
* Add regtest for atomic name trading.
* Added my fingerprint Stephan Oeste (Emzy)
* script: Disallow silent bool -> CScript conversion
* gitian: add jonatack gpg key fingerprint
* doc: default minconf for getbalance should be 0
* rpc: Rename first arg of generateblock RPC to \"output\"
* test: Remove REJECT message code
* test: Try once more when RPC connection fails on Windows
* test: Document why connection is re-constructed on windows
* test: Remove python 3.4 workaround
* cirrus: Bump freebsd to 12.1
* build: add linker optimization flags to guix
* build: add linker optimization flags to gitian descriptors
* test: add rpc_signrawtransaction logging
* test: refactor rpc_signrawtransaction witness script tests
* [REFACTOR] Initialize PrecomputedTransactionData in CheckInputScripts
* Add C++17 test to Travis
* gitian: Add missing automake package to gitian-win-signer.yml
* test: Extend wallet_dump test to cover comments
* refactor: test: improve wait_for{header,merkleblock} interface
* test: complete impl. of msg_merkleblock and wait_for_merkleblock
* Add configure option for c++17
* Support conversion between Spans of compatible types
* Update ax_cxx_compile_stdcxx.m4
* Revert \"Merge #16367: Multiprocess build support\"
* rpc: Remove deprecated migration code
* build: Bump gitian descriptors to 0.21
* ci: Add pip cache
* ci: Print ccache statistics summary
* ci: Drop unused WINEDEBUG variable
* build: Bump version to 0.20.99
* test: Check that the version message does not leak the local address of the node
* test: update and harden interface_bitcoin_cli tests
* cli -getinfo: use getbalances instead of deprecated getwalletinfo balance
* net: limit BIP37 filter lifespan (active between \'filterload\' and \'filterclear\')
* script: prevent UB when computing abs value for num opcode serialize
* Add asmap_direct fuzzer that tests Interpreter directly
* Make asmap Interpreter errors fatal and fuzz test it
* Add additional effiency checks to sanity checker
* Add asmap sanity checker
* Improve asmap Interpret checks and document failures
* Deal with decoding failures explicitly in asmap Interpret
* Introduce Instruction enum in asmap
* guix: Appease travis.
* guix: Use gcc-9 for mingw-w64 instead of 8
* guix: Don\'t set MINGW_HAS_SECURE_API CFLAG in depends
* guix: Bump to upstream commit with mingw-w64 changes
* Avoid non-trivial global constants in SHA-NI code
* build: remove -Qunused-arguments workaround for clang + ccache
* depends: Use default macos clang compiler
* Add multiprocess travis configuration
* Set LD_LIBRARY_PATH consistently in travis tests
* libmultiprocess depends build
* Multiprocess build changes
* Use getbalances in wallet_address_types tests
* Shift coverage from getunconfirmedbalance to getbalances in wallet_abandonconflict tests
* Improve getbalances coverage in wallet_balance tests
* guix: Check mingw symbols, improve SSP fix docs
* guix: Expand on INT trap message
* guix: Spelling fixes
* guix: Reinstate make-ssp-fixed-gcc
* guix: Bump time-machine for mingw-w64 patches
* guix: Use gcc-8 for mingw-w64 instead of 7
* guix: Set the well-known timezone env var
* guix: Make x86_64-w64-mingw32 builds reproducible
* guix: Remove dead links from README.
* guix: Appease shellcheck.
* guix: Improve guix-build.sh documentation
* guix: Build support for Windows
* Drop bitcoin-wallet dependency on libevent
* Drop unintended bitcoin-tx dependency on libevent
* rpc: Remove deprecated \"size\" from mempool txs
* rpc: Add documentation for deactivating settxfee
* wallet: Avoid use of Chain::Lock in CWallet::GetKeyBirthTimes
* wallet: Avoid use of Chain::Lock in CWallet::CreateTransaction
* wallet: Avoid use of Chain::Lock in CWallet::ScanForWalletTransactions
* wallet: Avoid use of Chain::Lock in rescanblockchain
* wallet refactor: Avoid use of Chain::Lock in CWallet::RescanFromTime
* wallet: Avoid use of Chain::Lock in listsinceblock
* wallet: Avoid use of Chain::Lock in importmulti
* wallet: Avoid use of Chain::Lock in importwallet and dumpwallet
* wallet: Avoid use of Chain::Lock in importprunedfunds
* wallet refactor: Avoid use of Chain::Lock in qt wallettests
* wallet: Avoid use of Chain::Lock in tryGetTxStatus and tryGetBalances
* refactor: Add interfaces::FoundBlock class to selectively return block data
* Convert everything except wallet/qt to new serialization
* Convert blockencodings_tests to new serialization
* Convert merkleblock to new serialization
* Add SER_READ and SER_WRITE for read/write-dependent statements
* Extend CustomUintFormatter to support enums
* Merge BigEndian functionality into CustomUintFormatter
* Merge getreceivedby tally into GetReceived function
* Add tests for generateblock
* Add generateblock rpc
* [psbt] add file size limit
* [gui] load PSBT
* [gui] save PSBT to file
* Move DEFAULT_MAX_RAW_TX_FEE_RATE to node/transaction.h
* lockedpool: avoid sensitive data in core files (FreeBSD)
* [consensus] MOVEONLY: Move single-sig checking EvalScript code to EvalChecksig
* qt: Use parent-child relation to manage lifetime of OptionsModel object
* [util] GetFileSize
* [gui] send dialog: split on_sendButton_clicked
* validation: delay flushing undo files in syncing node case
* build: Drop ZeroMQ patch for glibc < 2.12
* build: Drop ZeroMQ patch for Mingw-w64 < 4.0
* fixing documentation to not require rpcpassword
* Fix a compiler warning: unused GetDevURandom()
* protect g_chainman with cs_main
* test: add basic tests for ChainstateManager
* use ChainstateManager to initialize chainstate
* refactor: move RewindBlockIndex to CChainState
* validation: introduce unused ChainstateManager
* validation: add CChainState.m_from_snapshot_blockhash
* DNS seeds: don\'t query DNS while network is inactive
* DNS seeds: wait for 5m instead of 11s if 1000+ peers are known
* build: Fix m4 escaping
* build: Remove extra tokens warning
* build: Remove duplicated QT_STATICPLUGIN define
* build: Fix indentation in bitcoin_qt.m4
* build: Use pkg-config in BITCOIN_QT_CONFIGURE for all hosts
* [rpc] fundrawtransaction: add_inputs option to control automatic input adding
* [rpc] walletcreatefundedpsbt: don\'t automatically append inputs
* build: Fix mingw pkgconfig file and dependency naming
* bnb: exit selection when best_waste is 0
* refactor: Use psbt forward declaration
* Add ChainClient setMockTime, getWallets methods
* Consolidate service flag bit-to-name conversion to a shared serviceFlagToStr function
* Bugfix: GUI: Use unsigned long long type to avoid implicit conversion of MSB check
* gui: Add close window shortcut
* [wallet] allow transaction without change if keypool is empty
* [wallet] CreateTransaction: simplify change address check
* [wallet] translate \"Keypool ran out\" message
* Upgrade or rewrite encrypted key checksums
* Set fDecryptionThoroughlyChecked based on whether crypted key checksums are valid
* Read and write a checksum for encrypted keys
* qt: Hide non PKHash-Addresses in signing address book
* gui: Avoid redundant tx status updates
* DecodeHexTx: Break out transaction decoding logic into own function
* DecodeHexTx: Try case where txn has inputs first
* tests: have coins simulation test also use CCoinsViewDB
* wallet: Fix for exported confirmation field in payment to self transactions
* Always define the raii_event_tests test suite
* Additionally treat Tx.nVersion as unsigned in joinpsbts
* Dump transaction version as an unsigned integer in RPC/TxToUniv
* zmq: enable tcp keepalive
* Mon Aug 03 2020 marecAATTdetebe.org- Update to version 0.20.1:
* build: Bump version to 0.20.1-final
* [0.20] lint: fix shellcheck URL in CI install
* doc: Add changelog and authors to release notes for 0.20.1
* qt: Translation update for 0.20.1rc1
* doc: Regenerate man pages for 0.20.1rc1
* build: Bump version to 0.20.1rc1
* qt: Fix QFileDialog for static builds
* Increment input value sum only once per UTXO in decodepsbt
* Remove cached directories and associated script blocks from appveyor CI configuration.
* appveyor: Remove clcache
* doc: move-only release notes for 0.20.1
* doc: Clear release notes for minor release
* Clean up separated ban/discourage interface
* Replace automatic bans with discouragement filter
* test: remove Cirrus CI FreeBSD job
* qa: Test concurrent wallet loading
* wallet: Handle concurrent wallet loading
* tests: Check that segwit inputs in psbt have both UTXO types
* psbt: always put a non_witness_utxo and don\'t remove it
* psbt: Allow both non_witness_utxo and witness_utxo
* rpc: show both UTXOs in decodepsbt
* trivial: Suggested cleanups to surrounding code
* wallet: Minimal fix to restore conflicted transaction notifications
* Fix WSL file locking by using flock instead of fcntl
* gui: update Qt base translations for macOS release
* build: improved output of configure for build OS
* util: Don\'t reference errno when pthread fails.
* Add missing QPainterPath include
* QA: feature_segwit: Check that template \"rules\" includes \"!segwit\" as appropriate
* Bugfix: Include \"csv\",\"!segwit\" in \"rules\"