Changelog for
libbitcoinconsensus0-24.99.0_git20230117-lp153.1269.1.x86_64.rpm :
* Wed Jan 18 2023 obs-service-tar-scmAATTinvalid- Update to version 24.99.0_git20230117:
* refactor: Remove duplication of clang-tidy\'s check names
* doc: Fix incorrect sendmany RPC doc
* test: Add test for missing and omitted required arg
* 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
* test: simplify tests by using the pre-mined chain
* test: remove redundant blocks generation logic
* test: add `rescan_utxos` in MiniWallet\'s initialization
* 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
* test: remove `-spendzeroconfchange` setting from mempool_limit.py
* 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
* 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
* rpc: Run type check against RPCArgs
* test: Fix wrong types passed to RPCs
* test: Fix intermittent timeout in p2p_permissions.py
* ci: Stop and remove CI container
* scripted-diff: ci: Rework docker naming
* 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
* 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
* 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
* 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
* 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.
*
* test: Invalid label name coverage
* refactor: Add sanity checks in LabelFromValue
* compat: use STDIN_FILENO over 0
* rpc: Sanitize label name in various RPCs
* 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
* script: update python linter dependencies
* script, test: fix python linter E275 errors with flake8 5.0.4
* rpc: Correct RPCHelpMan for fundrawtransaction\'s input_weights field
* 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
* [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
* ci: remove --prefix from msan job
* test: add coverage for `purpose` arg in `listlabels`
* 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
* Add release note for MIN_STANDARD_TX_NONWITNESS_SIZE relaxation
* Relax MIN_STANDARD_TX_NONWITNESS_SIZE to 65 non-witness bytes
* 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 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
* 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
* mempool: use util::Result for CalculateAncestorsAndCheckLimits
* test: add add_wallet_options to TestShell
* ci: Use `CONFIG_SITE` variable and `--prefix` option properly
* 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
* 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`
* 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
* 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
* 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
* ci: create and use non-root user for docker image
* 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
* 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
* 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
* 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
* 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
* 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
* 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()
* 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
* 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
* 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
* fuzz: Limit outpoints.size in txorphan target to avoid OOM
* 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
* test: wait for the expected basic block filter index in `interface_rest`
* test: Avoid race in disconnect_nodes helper
* build: remove strings.h from header checks
* Fix nNextResend data race in ResubmitWalletTransactions
* doc: add historical 0.21.2 release notes
* doc: add historical 0.20.2 release notes
* log: log RPC port on startup
* Bugfix: Wallet: Lock cs_wallet for SignMessage
* test: check that bumping tx with already spent coin fails
* docs: Add 371 to bips.md
* build: Bump version to 24.99
* 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
* 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
* Make miniscript string parsing account for exact script size as bound
* Permit delaying duplicate key check in miniscript::Node construction
* refactor: Move feerate comparison invariant outside of the loop
* 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
* refactor: Simplify feerate comparison statement
* Use ReadLE64 in uint256::GetUint64() instead of duplicating logic
* doc: consolidate & remove release-note fragments
* 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
* wallet: fix sendall creates tx that fails tx-size check
* build: remove duplicate / unneeded libs from bench_bitcoin
* build: remove unused libevent cppflags
* build: remove unused natpmp / upnp cppflags
* test: Add missing syncwithvalidationinterfacequeue
* net: drop cs_sendProcessing
* net: add NetEventsInterface::g_msgproc_mutex
* 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
* sync: remove unused template parameter from ::UniqueLock
* sync: simplify MaybeCheckNotHeld() definitions by using a template
* 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
* 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: extract $(BOOST_CPPFLAGS) from $(BITCOIN_INCLUDES)
* build: fix depends bdb compilation for BSDs
* build: quiet warnings in system headers installed from homebrew
* RPC: unify arg type error message
* util: improve bitcoin-wallet exit codes
* 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
* gui: update the screen after loading wallet
* 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()
* test: Change coinselection parameter location to make tests independent
* rpc: warn that nodes ignore requests for old stale blocks
* 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
* univalue: Avoid std::string copies
* 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
* 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: add `ismine` test for descriptor scriptpubkeyman
* 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
* depends: libnatpmp 07004b97cf691774efebe70404cf22201e4d330d
* 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
* net: remove useless call to IsReachable() from CConnman::Bind()
* 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
* depends: Boost 1.80.0
* 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 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
* 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
* wallet: remove duplicate descriptor type check in GetNewDestination
* build: optimise arm64 darwin qt build using -O1
* wallet: remove unused `nAccountingEntryNumber` field
* wallet: avoid double TopUp() calls on descriptor wallets
* 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
* refactor: Add LIFETIMEBOUND / -Wdangling-gsl to Assert()
* 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
* 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}
* 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
* wallet: add taproot support to external signer
* gui: reset options, notify user about the backup creation
* guix: Remove guix store paths from glibc
* guix: Map all guix store prefixes to /usr
* 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
* 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
* 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()
* build: Specify native binaries explicitly when building `capnp` package
* build: Fix `capnp` package build for Android
* 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
* test: Add test for getblockfrompeer on syncing pruned nodes
* rpc: Pruned nodes can not fetch unsynced blocks
* 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`
* reindex, log, test: fixes #21379
* 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
* 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
* gui: bumpfee signer support
* rpc: bumpfee signer support
* Precomputed hashes are note #16 in BIP341
* rpc: document bools in FillPSBT() calls
* 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\'
* style: rename variables to match coding style
* fees: make FeeFilterRounder::feeset const
* fees: make the class FeeFilterRounder thread-safe
* 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
* init: limit bip30 exceptions to coinbase txs
* ci: Make log verbose in error case only
* depends: Add file-based logging for individual packages
* Ignore problematic blocks in DisconnectBlock
* 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
* 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
* 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
* doc: minor improvements in getutxos REST endpoint synopsis
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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)
* qt: Pre-branch translation updates for 23.x
* fuzz: FuzzedFileProvider::write should not return negative value
* Add coinstatsindex_unclean_shutdown test
* fuzz: Limit script_format to 100kB
* addrman: Log too low compat 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
* qt, refactor: remove unused parameters in `TransactionDesc::FormatTxStatus()`
* scripted-diff: rename nDepth -> depth
* qt, refactor: remove redundant scope in `TransactionDesc::FormatTxStatus()`
* 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
* move-only: helper function to present PSBT
* 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
* [miner] always assume we can create witness blocks
* refactor: Release cs_main before MaybeSendFeefilter
* Remove confusing P1008R1 violation in ATMPArgs
* test: Fix intermittent Tsan issue
* 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
* tests: Tests for inactive HD chains
* tests: Test upgrading wallet with privkeys disabled
* doc: Mention missing BIP157 in bips.md
* 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: 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
* doc: Avoid ADL for function calls
* 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
* index: Commit DB_MUHASH and DB_BEST_BLOCK to disk together
* test: Fix Wambiguous-reversed-operator compiler warnings
* build: Fix configuring depends with cmake
* 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: validation:block_connected tracepoint test
* test: utxocache:
* tracepoint tests
* test: net:in/out_message tracepoint tests
* test: checks for tracepoint tests
* test: Remove suppression no longer needed with headers-only Boost.Test
* util: Fix ReadBinaryFile reading beyond maxsize
* 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
* contrib: refactor: replace `hex_switchEndian` in linearize scripts
* contrib: refactor: simplify block header string routine in linearize-data.py
* 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
* refactor: remove duplicate code from BlockAssembler
* 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
* 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 tr() descriptor unit tests
* Bugfix: make ToPrivateString work with x-only keys
* Add doc/design/libraries.md
* 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
* gui, refactor: use std::chrono for formatDurationStr() helper
* 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
* ci: Build bitcoin-chainstate
* build: Add example bitcoin-chainstate executable
* 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
* doc: include wtxid in TransactionDescriptionString
* doc: add wtxid info in release-notes
* 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
* validation, refactoring: remove ChainstateManager::Reset()
* 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
* validation: replace lock with annotation in UnloadBlockIndex()
* 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
* build, refactor: Drop useless `call` Make function
* 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
* build: Bump minimum Qt version to 5.11.3
* ci: Switch from bionic to buster
* 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()
* wallet: Add sanity checks to AntiFeeSnipe
* Fix unsigned integer overflow in LoadMempool
* test: add wtxid in expected_fields for wallet_basic
* wallet: add wtxid in WalletTxToJSON
* wallet: add GetWitnessHash()
* validation: improve connect bench logging
* 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
* Clear vTxHashes when mapTx is cleared
* lint: add creat and ba into ignore-words for lint-spelling
* doc: Fix typos pointed out by lint-spelling
* Enforce Taproot script flags whenever WITNESS is set
* 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
* scripted-diff: Clarify CheckFinalTxAtTip name
* policy: Remove unused locktime flags
* doc: Add pre-splitoff translation update to release-process.md
* 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
* p2p: Serialize cmpctblock at most once in NewPoWValidBlock
* 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
* doc: add info about status code 404 for some rest endpoints
* 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
* Bugfix: configure: bitcoin-{cli,tx,util} don\'t need UPnP, NAT-PMP, or ZMQ
* block_connected: re-use previous GetTimeMicros
* block_connected: don\'t serialize block hash twice
* 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
* 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
* 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
* bench: Sort bench_bench_bitcoin_SOURCES
* bench: Add logging benchmark
* 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
* rpc: avoid expensive `IsMine` calls in `GetReceived` tally
* rpc: avoid scriptPubKey<->CTxDestination conversions in `GetReceived` tally
* 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
* Remove nullptr check in GetBlockScriptFlags
* refactor: Pass const reference instead of pointer to GetBlockScriptFlags
* 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
* 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
* doc: Remove fee delta TODO from txmempool.cpp
* 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
* Unit tests for IsWitnessProgram and IsP2WSH.
* 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
* 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++
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* doc: remove outdated comment
* refactor: Remove unused KeyIDHasher
* script: Add commits signed with sipas expired key to allow-revsig-commits
* 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
* 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
* 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
* 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
* net: remove non-blocking bool from interface
* 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
* 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
* test: Change default test logging directory
* 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
* Thu Nov 17 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* Fri Apr 22 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
* 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
* 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
* 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
* 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++
* 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
* 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
* 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
* 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
* 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
* 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
* doc: remove outdated comment
* refactor: Remove unused KeyIDHasher
* script: Add commits signed with sipas expired key to allow-revsig-commits
* 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
* 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
* 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
* 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
* 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
* Thu Sep 09 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
* 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
* 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
* 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
* 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
* 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
* 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
* fuzz: Limit max insertions in timedata fuzz test
* build: Makes rcc output always deterministic
* 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
* script: update REVIEWERS
* bench: Remove duplicate constants
* test: Use throwing variant accessor
* test: Use loop to register RPCs
* 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
* 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
* script: Add trusted key for hebasto
* 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
* doc: Fixup docs in fuzz/script_assets_test_minimizer.cpp
* fuzz: Hide script_assets_test_minimizer
* 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
* 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
* 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
* raise helpMessageDialog
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* Fri Apr 30 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
* Thu Jan 14 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
* 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
* 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
* 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
* 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
* 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
* 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
* [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
* 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
* 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
* 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()
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* Sat Aug 01 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\"
* Tue Jun 02 2020 marecAATTdetebe.org- Update to version 0.20.0:
* doc: Manpages update pre-final
* build: Set rc to 0 for -final
* doc: Merge 0.20.0 release notes from wiki
* build: Bump RC to rc2
* qt: Pre-rc2 translations update
* test: disable script fuzz tests
* fuzz: Remove enumeration of expected deserialization exceptions in ProcessMessage(...) fuzzer
* [net processing] Only send a getheaders for one block in an INV
* test: Remove const to work around compiler error on xenial
* miner: Avoid stack-use-after-return in validationinterface
* test: Add unregister_validation_interface_race test
* gui: Fix manual coin control with multiple wallets loaded
* test: Add test for conflicted wallet tx notifications
* rpc: Relock wallet only if most recent callback
* rpc: Add mutex to guard deadlineTimers
* [docs] Improve commenting in ProcessGetData()
* [test] test that an invalid GETDATA doesn\'t prevent processing of future messages
* [net processing] ignore unknown INV types in GETDATA messages
* [net processing] ignore tx GETDATA from blocks-only peers
* gui: Fix itemWalletAddress leak when not tree mode
* travis: Remove s390x
* travis: Remove valgrind
* build: Ensure source tarball has leading directory name
* rpc: Do not advertise dumptxoutset as a way to flush the chainstate
* Fix naming of macOS SDK and clarify version
* Do not expose and consider -logthreadnames when it does not work
* build: fix ASLR for bitcoin-cli on Windows
* build: Set libevent minimum version to 2.0.21
* Avoid non-trivial global constants in SHA-NI code
* gitian: Add missing automake package to gitian-win-signer.yml
* qt: Update translations pre-rc1
* doc: Update manpages pre-rc1
* build: Bump version to 0.20.0
* Correct scripted-diff example link
* ci: Rename RUN_CI_ON_HOST to DANGER_RUN_CI_ON_HOST
* ci: Add native s390x
* test: Set -use_value_profile=1 when merging fuzz inputs
* tests: Add coverage of {,Incremental}DynamicUsage(const std::set& s) to existing fuzzer
* tests: Add fuzzing harness for classes/functions in cuckoocache.h
* tests: Add fuzzing harness for classes/functions in checkqueue.h
* tests: Add coverage of GetVirtualTransactionSize(...) to existing fuzzer
* tests: Add fuzzing harness for AdditionOverflow(...)
* tests: Add fuzzing harness for FeeFilterRounder
* ci: Run unit tests sequential once
* appveyor: Enable minimal unit test logging to aid debugging
* Fix unregister_all_during_call cleanup
* test: Properly raise FailedToStartError when rpc shutdown before warmup finished
* build: Update ax_boost_mase.m4 to the latest serial
* Add test for UnregisterAllValidationInterfaces bug
* Do not clear validationinterface entries being executed
* Reorder the test instructions by number
* Merge and generalize case 3 and case 6
* Only run sanity check once at the end
* Assert immediately rather than caching failure
* Make a fuzzer-based copy of the prevector randomized test
* qt: Fix Window -> Minimize menu item
* Wallet: Change IsMine check in CWallet::DelAddressBook from assert to failure
* Wallet: Replace CAddressBookData.name with GetLabel() method
* QA: Test that change doesn\'t turn into non-change when spent in an avoid-reuse wallet
* test: Use one node to avoid a race due to missing sync in rpc_signrawtransaction
* rpc: Make verifychain default values static, not depend on global args
* test: wallet_bumpfee assertion fixup
* test: relax bumpfee dust_to_fee txsize an extra vbyte
* Remove PID file at the very end
* tests: Add fuzzing harness for HTTPRequest, libevent\'s evhttp and related functions
* test: skip backwards compat tests if not compiled with wallet
* scripted-diff: Replace strCommand with msg_type
* rpc: Avoid initialization-order-fiasco on static CRPCCommand tables
* fuzz: Add process_messages harness
* build: create test_fuzz library from src/test/fuzz/fuzz.cpp
* tests: Add proof-of-work fuzzing harness
* refactor: drop boost::signals2 in validationinterface
* scripts: add MACHO lazy bindings check to security-check.py
* test: remaining replacements of (send_message+sync_with_ping) with send_and_ping
* fuzz: Extend script fuzz test
* fuzz: Extend descriptor fuzz test
* test: remove rapidcheck integration and tests
* net: Hardcoded seeds update for 0.20
* test: add BIP37 remote crash bug [CVE-2013-5700] test to p2p_filter.py
* [doc] fix git add argument
* fuzz: Add CScriptNum::getint coverage
* fuzz: Avoid running over all inputs after merging them
* Wallet: Add warning comments and assert to CWallet::DelAddressBook
* Wallet: Avoid unnecessary/redundant m_address_book lookups
* rpc: Fix rpcRunLater race in walletpassphrase
* Wallet: Avoid treating change-in-the-addressbook as non-change everywhere
* Wallet: New FindAddressBookEntry method to filter out change entries (and skip ->second everywhere)
* Wallet: Add CAddressBookData::IsChange which returns true iff label has never been set
* Wallet: Require usage of new CAddressBookData::setLabel to change label
* scripted-diff: Wallet: Rename mapAddressBook to m_address_book
* test: Add basic addr relay test
* Bugfix: RPC: JSON null is not \"None\"
* Bugfix: RPC: Don\'t use a continuation elipsis after an elision elipsis
* Bugfix: RPC: Add missing commas and correct indentation of explicit ELISION
* net: Pass connman const when relaying address
* doc: Update webchat URLs in README.md
* init: Replace URL_WEBSITE with PACKAGE_URL
* build: Detect gmtime_
* definitions via configure
* chainparams: Bump assumed valid hash
* rpc: Make rpc documentation not depend on rpc args
* test: replace (send_message + sync_with_ping) with send_and_ping
* test: remove redundant sync_with_ping after add_p2p_connection
* qt: Translations update pre-branch
* Correctly compute redeemScript from witnessScript for signrawtransaction
* doc: Explain new test logging
* test: Remove redundant sync_with_ping after add_p2p_connection
* test: Wait for both veracks in add_p2p_connection
* gui: Delete progress dialog instead of hidding it
* wallet: Handle duplicate fileid exception
* doc: note the costs of fetching all pull requests
* test: add BIP37 \'filterclear\' test to p2p_filter.py
* ci: Use Focal for fuzzers
* test: check that peer is connected when calling sync_
*
* test: Remove unsafe BOOST_TEST_MESSAGE
* doc: block-relay-only is not blocksonly
* net: Add missing cs_vNodes lock
* tests: Add fuzzing harness for functions/classes in random.h
* tests: Add fuzzing harness for LimitedString (serialize.h)
* tests: Add fuzzing harness for functions/classes in span.h
* tests: Add fuzzing harness for functions/classes in merkleblock.h
* tests: Add fuzzing harness for functions/classes in flatfile.h
* Update -blocksonly documentation
* rpc: remove unused getbalances() code
* Bugfix: RPC: Remove final comma for last entry of fixed-size Arrays and Objects in RPCResult
* serialization: prevent int overflow for big Coin::nHeight
* net: Make addr relay mockable
* gui: Handle WalletModel::unload asynchronous
* Fix wallet unload race condition
* util: Replace i64tostr with ToString
* util: Remove unused itostr
* Limit decimal range of numbers ParseScript accepts
* test: add coverage for script parse error in ParseScript
* tests: Add fuzzing harness for functions/classes in chain.h
* tests: Add fuzzing harness for functions/classes in protocol.h
* ci: Remove misplaced comments from folded block scalar
* wallet: remove CreateTotalBumpTransaction()
* wallet: remove totalfee from createBumpTransaction()
* rpc: remove deprecated totalFee arg from RPC bumpfee
* ci: Use Homebrew addon on native macOS
* ci: Fix brew in Travis
* scripts: rename test_64bit_PE to test_PE
* scripts: add MACHO NX check to security-check.py
* scripts: add MACHO tests to test-security-check.py
* ci: Only clone bitcoin-core/qa-assets when fuzzing
* build: remove double LIBBITCOIN_SERVER from bench-Makefile
* test: Add basic test for BIP 37
* [scripts] previous_release: improve failed download error message
* tests: Add fuzzing harness for classes/functions in blockfilter.h
* tests: Add integer serialization/deserialization fuzzing harness
* Update with new Windows code signing certificate
* test: listsinceblock block height checks
* tests: Add fuzzing harness for functions in net_permissions.h
* tests: Add fuzzing harness for functions in timedata.h
* tests: Add fuzzing harness for functions in addrdb.h
* gui: avoid QT Designer/Form Editor re-formatting
* gui: display Mapped AS in peers info window
* Make VerifyWitnessProgram use a Span stack
* script: fix SCRIPT_ERR_SIG_PUSHONLY error string
* Check for overflow when calculating sum of outputs
* test: add executable flag for rpc_estimatefee.py
* ci: Run feature_block and feature_abortnode in valgrind
* tests: Don\'t assume presence of __builtin_mul_overflow in MultiplicationOverflow(...) fuzzing harness
* test: delete wallet_bumpfee_totalfee_deprecation.py
* test: update bumpfee testing from totalFee to fee_rate
* scripts: add PE dylib checking to symbol-check.py
* rpc: fix broken RPCExamples for waitforblock(height)
* build: Fix typo in EVENT_CFLAGS variable
* build: Fix libevent linking for bench_bitcoin binary
* rpc: add missing HelpExampleRpc for getblockfilter
* test: Remove ci timeout restriction in test_runner
* doc: Add internal interface conventions to developer notes
* refactor: Change createWallet, fillPSBT argument order
* refactor: Change Chain::broadcastTransaction param order
* refactor: Rename Chain::Notifications methods to be consistent with other interfaces methods
* refactor: Rename Node::disconnect methods
* refactor: Get rid of Wallet::IsWalletFlagSet method
* doc: Temporary note that release notes should be edited in wiki
* build: fix sysctl() detection on macOS
* doc: Add fuzzing quickstart guides for libFuzzer and afl-fuzz. Simplify instructions.
* Add bn2vch test to functional tests
* Simplify bn2vch using int.to_bytes
* Update merkle.cpp
* net: fix use-after-free in tests
* test: use fs namespace in dbwrapper unicodepath test
* doc: mention MAKE=gmake workaround when building on a BSD
* tests: Add harness which fuzzes EvalScript and VerifyScript using a fuzzed signature checker
* tests: simplify next_block() function in feature_block
* doc: fix GetTimeMicros() comment in random.cpp
* rand: remove getentropy() fallback for macOS < 10.12
* tx: Bump transifex slug to 020x
* qt: Periodical translations update
* Fix missing header in sync.h
* build: Drop needless EXTRA_DIST content
* tests: Add fuzzing harness for various functions taking std::string as input
* tests: Add fuzzing harness for MultiplicationOverflow(...)
* tests: Add fuzzing harness for CFeeRate
* tests: Add fuzzing harness for CBlockHeader
* tests: Add fuzzing harness for count_seconds(...)
* test: Bump timeouts to avoid valgrind failures
* Replace std::to_string with locale-independent alternative
* Fix mining to an invalid target + ensure that a new block has the correct hash internally in Python tests
* Replace remaining literals BTC with CURRENCY_UNIT
* rpc: Document an RPCResult for all calls; Enforce at compile time
* rpc: Add missing newline in RPCResult description
* Fix nit in getblockchaininfo
* util: Fail to parse space-only strings in ParseMoney(...) (instead of parsing as zero)
* refactor: Remove mempool global from net
* build: Drop SOURCEDIST reordering
* build: Use git archive as source tarball
* [mempool] Remove NotifyEntryAdded and NotifyEntryRemoved callbacks
* [validation] Remove pool member from ConnectTrace
* [validation] Remove NotifyEntryRemoved callback from ConnectTrace
* [validation] Remove conflictedTxs from PerBlockConnectTrace
* [validation interface] Remove vtxConflicted from BlockConnected
* [wallet] Notify conflicted transactions in TransactionRemovedFromMempool
* guix: Remove now-unnecessary gcc make flag
* fuzz: Add missing ECC_Start to key_io test
* test: Bump rpc timeout in feature_assumevalid to avoid valgrind timeouts
* test: Bump walletpassphrase timeouts in wallet_createwallet to avoid valgrind timeouts
* util: HelpExampleRpc formatting fixup
* tests: Add fuzzing of CSubNet, CNetAddr and CService related functions
* tests: Fuzz HasAllDesirableServiceFlags(...) and MayHaveUsefulAddressDB(...)
* tests: Fuzz DecodeBase64PSBT(...)
* tests: Simplify code by removing unwarranted use of unique_ptr:s
* tests: Fuzz DecodeHexBlk(...)
* tests: Fuzz RecursiveDynamicUsage(const std::shared_ptr& p)
* tests: Fuzz operator!= of CService
* tests: Increase fuzzing coverage of DecompressScript(...)
* tests: Fuzz currently uncovered code path in TxToUniv(...)
* tests: Re-arrange test cases in parse_univalue to increase coverage
* doc: Explain rebase/squash policy in CONTRIBUTING.md
* tests: Remove unit test from fuzzing harness
* tests: Add deserialization fuzzing of SnapshotMetadata (utxo_snapshot), uint160 and uint256
* tests: Add one specialized ProcessMessage(...) fuzzing binary per message type for optimal results when using coverage-guided fuzzing
* tests: Add fuzzing harness for ProcessMessage(...)
* ci: Enable all functional tests in valgrind
* bumpfee test: exit loop at proper time with new fee value being compared
* Add some test logging to wallet_bumpfee.py
* doc: asmap release note
* fuzz: Remove option --export_coverage from test_runner
* refactor: move DUMP_BANS_INTERVAL to banman.h
* scheduler: Make schedule
* methods type safe
* test: Explain why test logging should be used
* qa: Add getdescriptorinfo functional test
* Make lifetime correctness easier to see (avoid reference lifetime extension)
* tests: Add fuzzing harness for CScriptNum operations
* test: add logging to wallet_listsinceblock.py
* tests: Add fuzzing harness for CScript operations
* tests: Add common Consume
* fuzzing functions
* doc: Warn about wallet.dat re-use and backups
* doc: Add historical release notes for 0.19.1
* tests: Remove FUZZERS_MISSING_CORPORA
* tests: Add basic fuzzing harness for CNetAddr/CService/CSubNet related functions (netaddress.h)
* Clear any input_errors for an input after it is signed
* Replace GetSigningProvider with GetSolvingProvider
* Move direct calls to MessageSign into new SignMessage functions in CWallet and ScriptPubKeyMan
* Move key and script filling and signing from CWallet::FillPSBT to ScriptPubKeyMan::FillPSBT
* Move FillPSBT to be a member of CWallet
* fuzz: Add option to merge input dir to test runner
* doc: Remove --disable-ccache from docs
* tests: Reset FUZZERS_MISSING_CORPORA to enable regression fuzzing for more harnesses
* rpc/wallet: initialize nFeeRequired to avoid using garbage value on failure
* Use CWallet::SignTransaction in CreateTransaction and signrawtransactionwithwallet
* Implement CWallet::SignTransaction using ScriptPubKeyMan::SignTransaction
* Add SignTransaction function to ScriptPubKeyMan and LegacyScriptPubKeyMan
* Refactor rawtransaction\'s SignTransaction into generic SignTransaction function
* fuzz: Add assert(script == decompressed_script)
* build: Set minimum Automake version to 1.13
* Cache parent xpub inside of BIP32PubkeyProvider
* Only cache xpubs that have a hardened last step
* Cache the immediate derivation parent xpub
* Add DescriptorCache
* read_cache and DescriptorCache
* write_cache to Expand and GetPubKey
* Rename BIP32PubkeyProvider.m_extkey to m_root_extkey
* Track the index of the key expression in PubkeyProvider
* Introduce DescriptorCache struct which caches xpubs
* tests: Fuzz additional functions in the script fuzzing harness
* tests: Fuzz additional functions in the transaction fuzzing harness
* scheduler: Use C++11 member initialization, add shutdown assert
* tests: Fuzz additional functions in the integer fuzzing harness
* tests: Fuzz additional functions in the hex fuzzing harness
* tests: Add key_io fuzzing harness
* doc: remove Boost Chrono from install docs
* test: remove Boost Chrono installation from CI
* build: remove Boost Chrono detection from build system
* build: remove chrono package from depends Boost
* build: Add locale fuzzer to FUZZERS_MISSING_CORPORA
* test: Check that wait_until returns if time point is in the past
* lint-cppcheck: Remove -DHAVE_WORKING_BOOST_SLEEP_FOR
* tests: Add fuzzing harness for locale independence testing
* scheduler_tests: re-enable mockforward test
* Drop unused reverselock.h
* scheduler: switch from boost to std
* sync.h: add REVERSE_LOCK
* scheduler: don\'t rely on boost interrupt on shutdown
* tests: Add fuzzing harness for CKey related functions
* tests: Add float to FUZZERS_MISSING_CORPORA (temporarily)
* tests: Add serialization/deserialization fuzzing for integral types
* compressor: Make the domain of CompressAmount(...) explicit
* [rpc] changed MineBlocksOnDemand to IsMockableChain
* Remove redundant type information from rpc docs
* refactor: Cast ping values to double before output
* lockedpool: When possible, use madvise to avoid including sensitive information in core dumps
* refactor: Convert ping wait time from double to int64_t
* refactor: Convert min ping time from double to int64_t
* refactor: Convert ping time from double to int64_t
* doc: Merge release notes for 0.20.0 release
* init: move asmap code earlier in init process
* rpc: fix getpeerinfo RPCResult `mapped_as` type
* net: extract conditional to bool CNetAddr::IsHeNet
* logging: asmap logging and #include fixups
* test: add functional test for an empty, unparsable asmap
* config: separate the asmap finding and parsing checks
* config: enable passing -asmap an absolute file path
* config: use default value in -asmap config
* test: add feature_asmap functional tests
* test: Add bad-txns-
*-toolarge test cases to invalid_txs
* doc: Correct spelling errors in comments
* test: Bump timeouts to accomodate really slow disks
* wallet: use constant CWallets in rpcwallet.cpp
* wallet: make ReserveDestination pwallet ivar const
* wallet: make BackupWallet() const
* wallet: make getters const
* wallet/spkm: make GetOldestKeyPoolTime() const
* wallet: use constant CWallets in rpcdump.cpp
* wallet/db: make IsDummy() const
* wallet/db: make Backup() const
* wallet: make CanGetAddresses() const
* wallet: make KeypoolCountExternalKeys() const
* wallet: make CanGenerateKeys() const
* make BlockUntilSyncedToCurrentChain() const
* Change example addresses to bech32
* Drop unused mach time headers
* test: Add missing syncwithvalidationinterfacequeue
* test: add unit test for non-standard \"scriptsig-not-pushonly\" txs
* refactor: test/bench: dedup SetupDummyInputs()
* test: check specific reject reasons in feature_csv_activation.py
* util: Fail to parse empty string in ParseMoney
* util: Remove unused ParseMoney that takes a c_str
* Make AnalyzePSBT next role calculation simple, correct
* test: eliminiated magic numbers in feature_csv_activation.py
* test: check for OP_CSV empty stack fail reject reason in feature_csv_activation.py
* test: test OP_CSV empty stack fail in feature_csv_activation.py
* Templatize ValidationState instead of subclassing
* Remove ValidationState\'s constructor
* Refactor FormatStateMessage into ValidationState
* test: Fix race in p2p_segwit
* Add missing step in win deployment instructions
* build: add --enable-determinism configure flag
* test: check custom descendant limit in mempool_packages.py
* test: Disable mockforward scheduler unit test for now
* Convert blockencodings.h to new serialization framework
* Add CustomUintFormatter
* tests: Add fuzzing harness for rolling bloom filter class CRollingBloomFilter
* tests: Add fuzzing harness for bloom filter class CBloomFilter
* test: Reduce unneeded whitelist permissions in tests
* rpc: Auto-format RPCResult
* rpc: Move OuterType enum to header
* test: Add cost_of_change parameter assertions to bnb_search_test
* scripted-diff: Wallet: Rename incorrectly named
*UsedDestination
* util: Remove unused MilliSleep
* scripted-diff: Replace MilliSleep with UninterruptibleSleep
* util: Add UnintrruptibleSleep
* test: Set catch_system_errors=no on boost unit tests
* util: Avoid potential uninitialized read in FormatISO8601DateTime(int64_t nTime) by checking gmtime_s/gmtime_r return value
* test: Remove incorrect assumptions in validation_flush_tests
* test: Tabs to spaces in all tests
* Add static_asserts to ser_X_to_Y() methods
* tests: Improve test runner output in case of target errors
* tests: Add --exclude integer,parse_iso8601 (temporarily) to make Travis pass until uninitialized read issue in FormatISO8601DateTime is fixed
* tests: Add support for excluding fuzz targets using -x/--exclude
* tests: Remove -detect_leaks=0 from test/fuzz/test_runner.py - no longer needed
* add: test that transactions expire from mempool
* httpserver: use own HTTP status codes
* ci: Run fuzz testing test cases under valgrind
* doc: Minor grammatical changes and flow improvements
* [rpc] expose ability to mock scheduler via the rpc
* [lib] add scheduler to node context
* Fix a violation of C++ standard rules that unions cannot be switched.
* gui: Avoid Wallet::GetBalance in WalletModel::pollBalanceChanged
* tests: Add --valgrind option to test/fuzz/test_runner.py for running fuzzing test cases under valgrind
* Add DifferenceFormatter
* Make VectorFormatter support stateful formatters
* Convert CCompactSize to proper formatter
* Refactor message hashing into a utility function
* Deduplicate the message signing code
* Deduplicate the message verifying code
* ci: use --enable-werror on more hosts
* build: add Wreturn-type to Werror flags
* [test] add chainparams property to indicate chain allows time mocking
* [test] unit test for new MockForward scheduler method
* [util] allow scheduler to be mocked
* refactor: rpc: Remove vector copy from listtransactions
* rpc: update validateaddress RPCExamples to bech32
* build: pass -fno-ident in Windows gitian descriptor
* gui: Throttle GUI update pace when -reindex
* [REFACTOR] Abstract out script execution out of VerifyWitnessProgram()
* Revert \"Store p2sh scripts in AddAndGetDestinationForScript\"
* [test] check for addmultisigaddress regression
* wallet: Improve LegacyScriptPubKeyMan::CanProvide script recognition
* tests: Avoid hitting some known minor tinyformat issues when fuzzing strprintf(...)
* doc: remove PPA note from release-process.md
* gui: Fix race in WalletModel::pollBalanceChanged
* [test] add 0.19 backwards compatibility tests
* [test] add v0.17.1 wallet upgrade test
* [tests] add wallet backwards compatility tests
* [scripts] support release candidates of earlier releases
* [tests] check v0.17.1 and v0.18.1 backwards compatibility
* [scripts] build earlier releases
* Get the OutputType for a descriptor
* net: Remove forcerelay of rejected txs
* Get rid of VARINT default argument
* Ignore only auto-generated .vcxproj files
* Specify ignored bitcoin-qt file precisely
* ci: Check for submodules
* build: Add cov_fuzz target
* build: link fuzz/test_runner.py for out-of-tree builds
* build: Remove unused USE_COVERAGE
* test: set a name for CI Docker containers
* test: Disable s390 build on travis
* build: Skip i686 build by default in guix and gitian
* depends: Remove reference to win32
* qt: Fix deprecated QCharRef usage
* Squashed \'src/univalue/\' changes from 5a58a46671..98261b1e7b
* scripted-diff: Add missing spaces in RPCResult, Fix type names
* Qt: pass clientmodel changes from walletframe to walletviews
* Convert undo.h to new serialization framework
* Make std::vector and prevector reuse the VectorFormatter logic
* Add custom vector-element formatter
* doc: link to homebrew\'s troubleshooting page
* refactor: Work around GCC 9 `-Wredundant-move` warning
* net: Fail instead of truncate command name in CMessageHeader
* logging: enable thread_local usage on macOS
* build: don\'t embed a build-id when building libdmg-hfsplus
* random: don\'t special case clock usage on macOS
* test: replace \'regtest\' leftovers by self.chain
* build: add additional attributes to Win installer
* gui: Fix unintialized WalletView::progressDialog
* gui: Drop PeerTableModel dependency to ClientModel
* build: use macOS 10.14 SDK
* depends: native_cctools 921, ld64 409.12, libtapi 1000.10.8
* depends: clang 6.0.1
* net: reference instead of copy in BlockConnected range loop
* Remove false positive GCC warning
* build: Fix behavior when ALLOW_HOST_PACKAGES unset
* Make asmap Interpret tolerant of malicious map data
* Use ASNs for mapped IPv4 addresses correctly
* Mark asmap const in statistics code
* Avoid asmap copies in initialization
* test: Check wallet name in -walletnotify script
* tests: Add fuzzing harness for functions taking floating-point types as input
* Add missing includes
* gui: Drop ShutdownWindow dependency to BitcoinGUI
* [test] PSBT RPC: check that bip32_derivs are present by default
* gui: Drop BanTableModel dependency to ClientModel
* Output a descriptor in createmultisig and addmultisigaddress
* Add missing supported rpcs to doc/descriptors.md
* Remove GitHub Actions CI workflow.
* tests: Add fuzzer asmap to FUZZERS_MISSING_CORPORA (temporarily)
* tests: Add fuzzing harness for AS-mapping (asmap)
* gui: Remove WalletView and BitcoinGUI circular dependency
* gui: Add transactionClicked and coinsSent signals to WalletView
* psbt_wallet_tests: use unique_ptr for GetSigningProvider
* Add a constant for the maximum vector allocation (5 Mbyte)
* tests: reset fIsBareMultisigStd after bare-multisig tests
* on startup, write config options to debug.log
* build: Fix appveyor test_bitcoin build of
*.raw
* Use rolling bloom filter of recent block tx\'s for AlreadyHave() check
* test: only declare a main() when fuzzing with AFL
* doc: Improve fuzzing docs for macOS users
* test: Add ubsan surpression for crc32c
* build: Disable msvc warning 4722 for leveldb build
* build: MSVC changes for leveldb update
* build: CRC32C build system integration
* build: Add LCOV exception for crc32c
* test: Add crc32c exception to various linters and generation scripts
* test: Add crc32c to subtree check linter
* doc: Add crc32c subtree to developer notes
* build: Update build system for new leveldb
* Squashed \'src/crc32c/\' content from commit 224988680f7673cd7c769963d4035cb315aa3388
* Squashed \'src/leveldb/\' changes from f545dfabff4c2e9836efed094dba99a34fbc6b88..f8ae182c1e5176d12e816fb2217ae33a5472fdd7
* Fix benchmarks filters
* test: rename test suite name \"tx_validationcache_tests\" to match filename
* guix: Update documentation for time-machine
* guix: Pin Guix using `guix time-machine`
* tests: Add fuzzing harness for strprintf(...)
* tests: Add fuzzer strprintf to FUZZERS_MISSING_CORPORA (temporarily)
* tests: Update FuzzedDataProvider.h from upstream (LLVM)
* Bugfix: GUI: Hide the HD/encrypt icons earlier so they get re-shown if another wallet is open
* build: remove --large-address-aware linker flag
* Updated appveyor job to checkout a specific vcpkg commit ID.
* bump test timeouts so that functional tests run in valgrind
* gui: Shortcut to close ModalOverlay
* Refactor: Replace SigningProvider pointers with unique_ptrs
* Cleanup: Drop unused GUI learnRelatedScripts method
* Refactor: Copy CWallet signals and print function to LegacyScriptPubKeyMan
* Box the wallet: Add multiple keyman maps and loops
* refactor: define a UINT256_ONE global constant
* HD Split: Avoid redundant upgrades
* Make UpgradeKeyMetadata work only on LegacyScriptPubKeyMan
* Store p2sh scripts in AddAndGetDestinationForScript
* Always try to sign for all pubkeys in multisig
* List output types in an array in order to be iterated over
* Refactor: Allow LegacyScriptPubKeyMan to be null
* Locking: Lock cs_KeyStore instead of cs_wallet in legacy keyman
* wallet: Improve CWallet:MarkDestinationsDirty
* Add extra logging of asmap use and bucketing
* Return mapped AS in RPC call getpeerinfo
* doc: Use proper RPC help syntax in importmulti
* doc: Remove duplicate \"comment\" from listsinceblock RPC help
* doc: Properly document proxy_randomize_credentials as bool in getnetworkinfo
* doc: Fix syntax error (trailing square bracket) in finalizepsbt
* doc: Fix syntax error (trailing square bracket) in walletprocesspsbt
* doc: Add missing \"optional\" to \"long\" estimaterawfee RPC help
* src/init: correct a typo
* test: Add p2p test for forcerelay permission
* test: Fix whitespace in p2p_permissions.py
* test: Make msg_tx a witness tx
* build: remove configure checks for win libraries we don\'t link against
* Refactor message transport packaging
* tests: Add fuzzing harness for V1TransportDeserializer (P2P transport)
* tests: Add amount compression/decompression fuzzing to existing fuzzing harness: test compression round-trip
* test: add missing #include to fix compiler errors
* Convert compression.h to new serialization framework
* refactor: Remove redundant conditional
* Revert \"refactor: Remove never used default parameter\"
* Revert \"refactor: Simplify connection syntax\"
* Add FORMATTER_METHODS, similar to SERIALIZE_METHODS, but for formatters
* Fix doxygen errors
* wallet: Improve CWallet:MarkDestinationsDirty
* refactor: Simplify connection syntax
* refactor: Remove never used default parameter
* test: add unit test for non-standard txs with too large tx size
* gui: Remove warning \"unused variable \'wallet_model\'\"
* depends: Consistent use of package variable
* gui: hide HD & encryption icons when no wallet loaded
* QT: Change bumpFee asserts to simple error message
* Replace coroutine with async def in p2p_invalid_messages.py
* wallet: Replace %w by wallet name in -walletnotify script
* Make UpdateTransactionsFromBlock use Epochs
* Add Epoch Guards to CTXMemPoolEntry and CTxMemPool
* bug-fix macos: give free bytes to F_PREALLOCATE
* Don\'t allow implementers to think ScriptHash(Witness
*()) results in nesting computation
* scripted-diff: Bump copyright of files changed in 2020
* scripted-diff: Replace CCriticalSection with RecursiveMutex
* IsUsedDestination shouldn\'t use key id as script id for ScriptHash
* bitcoin-wallet: Use PACKAGE_NAME in usage help
* GUI: Use PACKAGE_NAME in modal overlay
* gui: Make Intro consistent with prune checkbox
* gui: Add Intro::UpdateFreeSpaceLabel()
* refactor: Add Intro::UpdatePruneLabels()
* refactor: Replace static variable with data member
* Convert chain to new serialization
* Convert VARINT to the formatter/Using approach
* Add a generic approach for (de)serialization of objects using code in other classes
* wallet: Reset reused transactions cache
* windows: remove call to SetProcessDEPPolicy
* windows: Enable heap terminate-on-corruption
* build: remove double LIBBITCOIN_SERVER linking
* doc: update release notes with getaddressinfo label deprecation
* Fix improper Doxygen inline comments
* gui: Set CConnman byte counters earlier to avoid uninitialized reads
* init: Stop indexes on shutdown after ChainStateFlushed callback.
* test: getaddressinfo label deprecation test
* rpc: deprecate getaddressinfo label field
* test: remove getaddressinfo label tests
* doc: address pr17578 review feedback
* Ignore msvc linker warning and update to msvc build instructions.
* ci: Combine 32-bit build with CentOS 7 build
* util: Add PruneGBtoMiB() function
* util: Add PruneMiBtoGB() function
* tests: Avoid using C-style NUL-terminated strings as arguments
* tests: Add tests to make sure lookup methods fail on std::string parameters with embedded NUL characters
* net: Avoid using C-style NUL-terminated strings as arguments in the netbase interface
* qa: Fix double-negative arg test
* qt: Rename SetPrune() to InitializePruneSetting()
* refactor: Drop `bool force\' parameter
* qt: Force set nPruneSize in QSettings after intro
* QT: bump fee returns PSBT on clipboard for watchonly-only wallets
* Restore English translation option
* contrib: makeseeds: Read suspicious hosts from a file instead of hardcoding
* gui: renamed \'debug window\' to \'node window\'
* psbt: check output index is within bounds before accessing
* doc: Add a note about backporting
* build: add Wdate-time to Werror flags
* qt: Add LogQtInfo() function
* doc: Add to Doxygen documentation guidelines
* scripted-diff: Add missed copyright headers
* refactor: Remove unused defines in bitcoinunits.h
* scripts: add MACHO dylib checking to symbol-check.py
* scripts: fix check-symbols & check-security argument passing
* IsUsedDestination should count any known single-key address
* Add logging for CValidationInterface events
* Refactor FormatStateMessage for clarity
* Format CValidationState properly in all cases
* Add VALIDATION to BCLog::LogFlags
* doc: update release notes
* test: getaddressinfo labels purpose deprecation test
* rpc: simplify getaddressinfo labels, deprecate previous behavior
* script: Update EXLUDE list in copyright_header.py
* script: Add empty line after C++ copyright
* script: Add ability to insert copyright to
*.sh
* gitignore: ignore fuzz binaries, remove test_bitcoin_fuzzy
* ci: Set LC_ALL=C when running in qemu-s390x
* ci: Use debian to avoid apt install 404 errors
* ci: Install needed gcc and qemu-user iff cross-compiling
* ci: Fix QEMU_USER_CMD parse issues
* ci: Move wrap-qemu into separate script
* scripts: fix check-symbols & check-security argument passing
* test: Show debug log on unit test failure
* tests: Add std::to_string to list of locale dependent functions
* Add missing typeinfo includes
* Convert addrdb/addrman to new serialization
* Introduce new serialization macros without casts
* ci: Fix brew python link
* scripts: add MACHO NOUNDEFS check to security-check.py
* scripts: add MACHO PIE check to security-check.py
* build: remove linking librt for backwards compatibility
* build: remove deprecated key from macOS Info.plist
* doc: Added running functional tests in valgrind
* scripted-diff: Bump copyright of files changed in 2019
* doc: Update dependencies.md
* doc: developer notes guideline on RPCExamples addresses
* rpc: incorporate review feedback from PR 17283
* build: Add default configure cache to .gitignore
* test: Change filemode of rpc_whitelist.py
* doc: Update license year range to 2020
* Integrate ASN bucketing in Addrman and add tests
* ci: Update vcpkg cache on MSBuild update
* ci: Update Qt binaries for GitHub Actions
* rpc: Remove mempool global from miner
* test: Properly document blockinfo size in miner_tests
* util: Disallow network-qualified command line options
* build: Sort fuzzing harnesses to avoid future merge conflicts
* tests: Add fuzzing harness for DecodeHexTx(...)
* build: set AC_PREREQ to 2.69
* Add asmap utility which queries a mapping
* Document better -keypool as a look-ahead safety mechanism
* doc: Mention PR Club in CONTRIBUTING.md
* Test watchonly wallet bumpfee with PSBT return
* bumpfee: Return PSBT when wallet has privkeys disabled
* Change bumpfee to use watch-only funds for legacy watchonly wallets
* use preferred shebang approach for documentation
* doc: Add formatting to the good first issue template
* net: Log to net category for exceptions in ProcessMessages
* test: add IsRFC2544 tests
* CNetAddr: fix IsRFC2544 comment
* tests: Add fuzzing harness for various hex related functions
* tests: Add fuzzing harness for various Base{32,58,64} related functions
* util: Move TrimString(...). Introduce default pattern (trims whitespace). Add NODISCARD.
* tests: Add corpora suppression (FUZZERS_MISSING_CORPORA) for fuzzers missing in https://github.com/bitcoin-core/qa-assets/tree/master/fuzz_seed_corpus
* build: remove WINDOWS_BITS from build system
* rest: Use mempool from node context instead of global
* tests: Add tests for decoding/parsing of base32, base64 and money strings containing NUL characters
* util: Don\'t allow DecodeBase32(...) of strings with embedded NUL characters
* util: Don\'t allow DecodeBase64(...) of strings with embedded NUL characters
* util: Don\'t allow ParseMoney(...) of strings with embedded NUL characters
* fix directory path for secp256k1 subtree in developer-notes
* tests: Add fuzzing harness for CheckBlock(...) and other CBlock related functions
* tests: Add corpora suppression (FUZZERS_MISSING_CORPORA) for fuzzers missing in https://github.com/bitcoin-core/qa-assets/tree/master/fuzz_seed_corpus
* [style] Code style fixups in GetWarnings()
* doc: Add release note for RPC Whitelist
* doc: Add ci prefix to CONTRIBUTING.md
* util: change GetWarnings parameter to bool
* [qt] remove unused parameter from getWarnings()
* ci-s390x: Add qemu and depends support in the ci script
* build: add -bind_at_load to hardened LDFLAGS
* Moved the include of the system projects to before the build depends on task. Otherwise it doesn\'t get run.
* depends: disable unused qt networking features
* depends: -optimized-qmake is now -optimized-tools
* depends: skip building qt proxies
* Included test_bitcoin-qt in msvc build.
* doc: update developer notes wrt unix epoch time
* qa: unify unix epoch time descriptions
* test: Add test for rpc_whitelist
* Update msvc build for Visual Studio 2019 v16.4
* tests: add tests for GetCoinsCacheSizeState
* refactoring: introduce CChainState::GetCoinsCacheSizeState
* build: fix typo
* util: Don\'t allow base58-decoding of std::string:s containing non-base58 characters
* tests: Add tests for base58-decoding of std::string:s containing non-base58 characters
* rpc: require second argument only for scantxoutset start action
* Add RPC Whitelist Feature from #12248
* ci: Use python 3.7 on Windows Github Actions
* wallet: unbreak with boost 1.72
* Don\'t calculate tx fees for PSBTs with invalid money values
* ci: Add valgrind run
* rpc: add missing newline in analyzepsbt rpcresult
* doc: Add release notes for 17447
* doc: Update release process with latest changes
* tests: Add fuzzing harnesses for various JSON/univalue parsing functions
* tests: Add fuzzing harnesses for various number parsing functions
* tests: Add ParseScript(...) (core_io) fuzzing harness
* tests: Add ParseHDKeypath(...) (bip32) fuzzing harness
* tests: Add corpora suppression (FUZZERS_MISSING_CORPORA) for fuzzers missing in https://github.com/bitcoin-core/qa-assets/tree/master/fuzz_seed_corpus
* Activate no-privkey -> ISMINE_WATCH_ONLY behavior for LegacySPKM only
* build: Use dnl for all comments in configure.ac, rather than #
* build: Remove backticks from configure.ac
* test: Remove ubsan alignment suppressions
* prevector: avoid misaligned member accesses
* test: re-enable CLI test support by using EncodeDecimal in json.dumps()
* Adds GitHub Action workflow which duplicates AppVeyor job.
* qt: Normalize placeholder to avoid using \"address book\" in sendcoinsentry
* gui: Move static placeholder texts to forms
* ui: disable 3rd-party tx-urls when wallet disabled
* Make env data logging optional
* lcov: filter /usr/lib64 from coverage report
* depends: don\'t configure xcb_proto
* util: Replace magics with DEFAULT_PRUNE_TARGET_GB
* gui: disable File->CreateWallet during startup
* cli: fix Fatal LevelDB error when specifying -blockfilterindex=basic twice
* Replace LegacyScriptPubKeyMan::IsCrypted with LegacyScriptPubKeyMan::HasEncryptionKeys
* Remove SetCrypted() and fUseCrypto; Change IsCrypted()\'s implementation
* Rename EncryptKeys to Encrypt and pass in the encrypted batch to use
* Clear mapKeys before encrypting
* Move fDecryptionThoroughlyChecked from CWallet to LegacyScriptPubKeyMan
* Move Unlock implementation to LegacyScriptPubKeyMan
* Replace LegacyScriptPubKeyMan::vMasterKey with GetDecryptionKey()
* Add GetEncryptionKey() and HasEncryptionKeys() to WalletStorage
* ci: Remove trusty build
* ci: Add CentOS 7 build
* tests: Fix fuzzing harness for descriptor parsing (descriptor_parse)
* lcov: filter depends from coverage report
* tests: Use a default of supports_cli=True (instead of supports_cli=False)
* tests: Mark functional tests not supporting bitcoin-cli (--usecli) as such
* tests: Test serialisation as part of deserialisation fuzzing. Test round-trip equality where possible. Avoid code repetition.
* tests: Add fuzzing harness for various functions consuming only integrals
* tests: Add corpora suppression (FUZZERS_MISSING_CORPORA) for fuzzers missing in https://github.com/bitcoin-core/qa-assets/tree/master/fuzz_seed_corpus
* tests: Add corpora suppression (FUZZERS_MISSING_CORPORA) for fuzzers missing in https://github.com/bitcoin-core/qa-assets/tree/master/fuzz_seed_corpus
* tests: Add fuzzing harness for various CTxOut related functions
* tests: Add fuzzing harness for various CTxIn related functions
* util: Update tinyformat to upstream
* Add bounds checks in key_io before DecodeBase58Check
* gitian: fixed SC2001 regex
* node: Use mempool from node context instead of global
* rpc: Use mempool from node context instead of global
* Move events_hasher into RNGState()
* depends: Support for S390X targets
* depends: Support for 64-bit POWER targets
* keypool: Add comment about TopUp and when to use it
* depends: don\'t use OpenGL in Qt on macOS
* build: pass -dead_strip_dylibs to ld on macOS
* tests: Add initialization order fiasco detection in Travis
* Fixed wget call in gitian-build.py
* ci: Remove unparseable lines from supp file for old xenial clang tsan
* ci: ubsan report_error_type=1 and add suppressions
* test: Print stderr when subprocess fails
* test: Use char instead of unsigned char
* ci: Bump to clang-8 for asan build to avoid segfaults on ppc64le
* util: remove unwanted fields from bitcoin-cli -getinfo
* build: pass -dead_strip_dylibs to ld on macOS
* depends: add ability to skip building qrencode
* doc: rename wallet-tool references to bitcoin-wallet
* Key pool: Fix omitted pre-split count in GetKeyPoolSize
* Key pool: Change ReturnDestination interface to take address instead of key
* Key pool: Move LearnRelated and GetDestination calls
* Fix origfee return for bumpfee with feerate arg
* tests: Add option --valgrind to run nodes under valgrind in the functional tests
* Add unit test for DB creation with unicode path
* script: Add Keyserver to verify-commits README
* Use correct C++11 header for std::swap()
* Fix comparison function signature
* net: Fix uninitialized read in ProcessMessage(...)
* script: Enable SC2001 rule for Gitian scripts
* script: Enable SC2155 rule for Gitian scripts
* tests: Add a test for funding with sufficient preset inputs and subtractFeeFromOutputs
* Default to bnb_used = false as there are many cases where BnB is not used
* Add OutputType and CPubKey parameters to KeepDestination
* Rename Keep/ReturnKey to Keep/ReturnDestination and remove the wrapper
* util: make ScheduleBatchPriority advisory only
* [gui] send: show watch-only balance in send screen
* [test] qt: add send screen balance test
* qt: Use proper class for Ui::ReceiveCoinsDialog
* qt: Fix class name of Ui::ModalOverlay
* ci: Print free disk space
* test: Properly deserialize integers in little-endian
* ci: Run functional tests on s390x
* doc: Change doxygen URL to doxygen.bitcoincore.org
* [test] move wallet helper functions into test library
* [test] move mining helper functions into test library
* Appveyor install libevent[thread] vcpkg
* Add s390x tests to travis
* Add ci script to install on s390x
* [test] move string helper functions into test library
* test: add rpc getaddressinfo labels test coverage
* test: add listlabels test in wallet_labels.py
* rpc: add getaddressinfo code documentation
* rpc: update getaddressinfo RPCExamples to bech32
* rpc: clarify label vs labels in getaddressinfo RPCHelpman
* rpc: improve getaddressinfo RPCHelpman content
* wallet: replace raw pointer with const reference in AddrToPubKey
* rpc: improve getaddressinfo RPCHelpman formatting
* build: Add NX workaround for RV64
* doc: Add historical release notes for 0.19.0.1
* Seed RNG with precision timestamps on receipt of net messages.
* Added libtest_util library to msvc build configuration.
* build: Allow export of environ symbols
* refactor: Nuke coincontrol circular dependency
* keypool: Move opportunistic TopUps from LegacyScriptPubKeyMan to CWallet and ReserveDestination
* keypool: Remove superfluous topup from CWallet::GetNewChangeDestination
* Key pool: Move CanGetAddresses call
* gui: remove macOS start on login code
* doc: add glibc 2.17 requirement to release-notes
* build: Bump minimum versions in symbol checker
* build: Disallow dynamic linking against c++ library
* ci: Remove use of cd
* doc: Changed MiniUPnPc link to https in dependencies.md
* test: add unit test for non-standard txs with wrong nVersion
* build: Create test utility library from src/test/util/
* Fire TransactionRemovedFromMempool from mempool
* Remove out of date comments for CalculateMaximumSignedTxSize
* tests: Add deserialization fuzzing harnesses
* tests: Add corpora suppression (FUZZERS_MISSING_CORPORA) for fuzzers missing in https://github.com/bitcoin-core/qa-assets/tree/master/fuzz_seed_corpus
* build: set minimum supported macOS to 10.12
* ci: Remove unmaintained extended_lint
* scripted-diff: Use ci DEPENDS_DIR, remove BASE_BUILD_DIR
* ci: Add DEPENDS_DIR variable, Add documentation for folders
* test: add unit test for non-standard bare multisig txs
* build: Fix configure report about qr
* scripted-diff: Move various folders to ci scratch dir
* refactor: Remove unused COINBASE_FLAGS
* test: add functional test for non-standard bare multisig txs
* build: remove libanl.so.1 from ALLOWED_LIBRARIES
* Put bounds on the number of CPUID leaves explored
* doc: Update and improve Developer Notes
* Allow BnB when subtract fee from outputs
* Use BnB when preset inputs are selected
* depends: only use dbus with qt on linux
* test: add functional test for non-standard txs with too large scriptSig
* Pass a maximum output length to DecodeBase58 and DecodeBase58Check
* Fix CPUID subleaf iteration
* Mark PSBTs spending unspendable outputs as invalid in analysis
* Have a PSBTAnalysis state that indicates invalid PSBT
* test: Wait until mempool is loaded in wallet_abandonconflict
* refactor: Cleanup headers from walletmodel.h
* refactor: Nuke walletmodel circular dependency
* refactor: Nuke walletmodeltransaction circular dep
* refactor: Nuke guiutil circular dependency
* refactor: Move SendCoinsRecipient in own header
* doc: Add some better examples for scripted diff
* test: Remove libssl-dev packages from CI scripts
* test: remove lsan suppression for libcrypto
* build: remove libcrypto as internal dependency in libbitcoinconsensus.pc
* doc: Remove ssl as a required dependency from build-unix
* test: skip tool_wallet test when bitcoin-wallet isn\'t compiled
* test: skip wallet_listreceivedby test when the cli isn\'t compiled
* test: skip bitcoin_cli test when the cli isn\'t compiled
* Refactor: Require scriptPubKey to get wallet SigningProvider
* Accumulate result UniValue in SignTransaction
* tests: Add fuzzing harness for various PSBT related functions
* random: mark RandAddPeriodic and SeedPeriodic as noexcept
* doc: correct random.h docs after #17270
* doc: add OpenSSL removal to release-notes.md
* ci: remove OpenSSL installation
* doc: remove OpenSSL from build instructions and licensing info
* depends: remove OpenSSL package
* build: remove OpenSSL detection and libs
* random: Remove remaining OpenSSL calls and locking infrastructure
* random: stop retrieving random bytes from OpenSSL
* random: stop feeding RNG output back into OpenSSL
* doc: Remove bitness from bitcoin-qt help message and manpage
* Changed tooltips of receive form to highlight difference between Label and Message
* refactor: Remove unused signal
* Fix segfault in allocator_tests/arena_tests
* Define ARENA_DEBUG in Travis test runs
* Fix compilation errors in support/lockedpool.cpp
* test: fix bitcoind already running warnings on macOS
* Fix input size assertion in wallet_bumpfee.py
* scripted-diff: Replace ::mempool with m_node.mempool in tests
* test: Replace recursive lock with locking annotations
* node: Add reference to mempool in NodeContext
* [build] ./configure --enable-werror: add unused-variable
* scripted-diff: Set gitian arch back to amd64
* test: add unit test for non-standard txs with too large scriptSig
* fuzz: Bump timeout in test_runner to accomodate for slow arm64 CPUs
* test: Remove fragile assert_memory_usage_stable
* GUI: Refactor formatServicesStr to warn when a ServicesFlag is missing
* Bugfix: GUI: Recognise NETWORK_LIMITED in formatServicesStr
* ci: Use clang-8 for fuzzing to run on aarch64 ci systems
* refactor: Remove null setting check in GetSetting()
* [gui] watch-only wallet: copy PSBT to clipboard
* depends: qt: Fix C{,XX} pickup
* [wallet] add fillPSBT to interface
* [gui] send: include watch-only
* [wallet] ListCoins: include watch-only for wallets without private keys
* tests: Update valgrind suppressions
* scripted-diff: Remove unused ArgsManager type flags in tests
* refactor: Add util_CheckValue test
* refactor: Add ArgsManager::GetSettingsList method
* refactor: Get rid of ArgsManagerHelper class
* refactor: Replace FlagsOfKnownArg with GetArgFlags
* refactor: Clean up includeconf comments
* refactor: Clean up long lines in settings code
* fix uninitialized variable nMinerConfirmationWindow
* Report amount of data gathered from environment
* Use thread-safe atomic in perfmon seeder
* Run background seeding periodically instead of unpredictably
* Add information gathered through getauxval()
* Feed CPUID data into RNG
* Use sysctl for seeding on MacOS/BSD
* Gather additional entropy from the environment
* Seed randomness with process id / thread id / various clocks
* [MOVEONLY] Move cpuid code from random & sha256 to compat/cpuid
* [MOVEONLY] Move perfmon data gathering to new randomenv module
* doc: minor corrections in random.cpp
* doc: Explain $LIB in LD_PRELOAD in gitian descriptors
* util: Add missing headers to util/fees.cpp
* wallet: Make -walletdir network only
* rpc: Expose block height of wallet transactions
* zmq: Fix due to invalid argument and multiple notifiers
* test: check custom ancestor limit in mempool_packages.py
* wallet: Avoid showing GUI popups on RPC errors (take 2)
* fix Typo: \"merkelRoot\" -> \"merkleRoot\"
* test: Use proper MAX_SCRIPT_ELEMENT_SIZE
* refactor: Use proper MAX_SCRIPT_ELEMENT_SIZE const
* ci: Extend docs
* travis: Rework CACHE_ERR_MSG
* Add TheCharlatan\'s pgp key
* Moves vcpkg list to a text file and updates the appveyor job and readme to use it.
* refactor: Styling w/ clang-format, comment update
* qt: Fix missing qRegisterMetaType for size_t
* Remove unnecessary forward declaration
* ci: Make ci system read-only on the git work tree
* ci: Remove git from required packages on host
* ci: Make all filesystem operations inside docker
* doc: Add relase note for db→walletdb rename
* doc: add historical 0.19.0 release notes
* scripted-diff: Change `BCLog::DB` to `BCLog::WALLETDB`
* Rename `db` log category to `walletdb` (like `coindb`)
* scripted-diff: Avoid hardcoded libfaketime dir in gitian
* Add settings_tests
* Deduplicate settings merge code
* Add util::Settings struct and helper functions.
* Remove includeconf nested scope
* Rename includeconf variables for clarity
* Clarify emptyIncludeConf logic
* wallet: Remove unused boost::this_thread::interruption_point
* Remove redundant class file includes from test_bitcoin project.
* [validation] fix comments in CheckInputScripts()
* scripted-diff: [validation] Rename CheckInputs to CheckInputScripts
* ci: Guess the native host when not cross compiling
* Implement O(1) OP_IF/NOTIF/ELSE/ENDIF logic
* [refactor] interpreter: define interface for vfExec
* Benchmark script verification with 100 nested IFs
* test: speed up wallet_avoidreuse.py
* test: add logging to wallet_avoidreuse.py
* doc: Added regtest config for linearize script
* Updated appveyor config: - Update build image from Visual Studio 2017 to Visual Studio 2019. - Updated Qt static library from Qt5.9.7 to Qt5.9.8. - Added commands to update vcpkg port files (this does not update already installed packages). - Updated vcpkg package list as per #17309. - Removed commands setting common project file options. Now done via common.init.vcxproj include. - Changed msbuild verbosity from normal to quiet. Normal rights a LOT of logs and impacts appveyor job duration. Updated msvc project configs: - Updated platform toolset from v141 to v142. - Updated Qt static library from Qt5.9.7 to Qt5.9.8. - Added ignore for linker warning building bitcoin-qt program. - Added missing util/str.cpp class file to test_bitcoin project file.
* [refactor] Replace global int nScriptCheckThreads with bool
* [tests] Don\'t use TestingSetup in the checkqueue_tests
* [tests] Don\'t stop-start unnecessarily in rpc_fundrawtransaction.py
* [tests] Use -whitelist in rpc_fundrawtransaction.py
* Remove getBlockDepth method from Chain::interface
* Remove locked_chain from GetDepthInMainChain and its callers
* Use CWallet::m_last_block_processed_height in GetDepthInMainChain
* Only return early from BlockUntilSyncedToCurrentChain if current tip is exact match
* Refactor some importprunedfunds checks with guard clause
* Add block_height field in struct Confirmation
* doc: Add documentation for new test/lib
* scripted-diff: test: Move setup_common to test library
* Replace CWalletTx::SetConf by Confirmation initialization list
* script: Enable SC2006 rule for Gitian scripts
* script: Lint Gitian descriptors with ShellCheck
* build: Remove install command samples
* Add util_ArgParsing test
* wallet_importmulti: use addresses of the same type as being imported
* Add missing newline in util_ChainMerge test
* Improve \"Hide\" button tool-tip message
* rpc: Remove unused boost::this_thread::interruption_point
* test: add dumptxoutset RPC test
* devtools: add utxo_snapshot.sh
* rpc: add dumptxoutset
* Add m_last_block_processed_height field in CWallet
* Pass block height in Chain::BlockConnected/Chain::BlockDisconnected
* doc: Add template for good first issues
* coinstats: add coins_count
* Add missing SetupGeneration error handling in EncryptWallet
* remove old bootstrap relevant code
* Clean up nested scope in GetReservedDestination
* Get rid of confusing LegacyScriptPubKeyMan::TopUpKeyPool method
* Pass CTxDestination to ScriptPubKeyMan::GetMetadata
* doc: Update doc/bips.md with recent changes in master
* Add EnsureLegacyScriptPubKeyMan and use in rpcwallet.cpp
* TestShell: Return self from setup()
* TestShell: Simplify default setting of num_nodes
* Doc: Remove backticks in test-shell.md code block
* TestShell: Fix typo in TestShell warning printout
* [tools] update nNextInvSend to use mockable time
* [tools] add PoissonNextSend method that returns mockable time
* depends: move README.md Android instructions to a separate section
* tests: Add fuzzing harness for Bech32 encoding/decoding
* tests: Move CaseInsensitiveEqual to test/util/str
* cli: fix -getinfo output when compiled with no wallet
* logs: add timing information to FlushStateToDisk()
* logs: add BCLog::Timer and related macros
* ci: Run non-cross-compile builds natively
* ci: Run CI_WAIT only on travis
* [tests] Speed up rpc_fundrawtransaction.py
* wallet: LearnRelatedScripts only if KeepDestination
* wallet: Lock address type in ReserveDestination
* test: Reset global args between test suites
* bump libevent to 2.1.11 in depends
* test: Add ASSERT_DEBUG_LOG to unit test framework
* logging: Add member for arbitrary print callbacks
* depends: update README.md with working Android targets and API levels
* Add documentation for test_shell submodule
* test: add \"diamond\" unit test to MempoolAncestryTests
* doc: Fix some misspellings
* Add TestShell class
* Move argparse() to init()
* Move assert num_nodes is set into main()
* Clear TestNode objects after shutdown
* Add closing and flushing of logging handlers
* Refactor TestFramework main() into setup/shutdown
* Remove network_event_loop instance in close()
* wallet: Reuse existing batch in CWallet::SetUsedDestinationState
* wallet: Avoid recursive lock in CWallet::SetUsedDestinationState
* doc: Add ShellCheck to lint tests dependencies
* Refactor: Move nTimeFirstKey accesses out of CWallet
* Refactor: Move GetKeypoolSize code out of CWallet
* Refactor: Move RewriteDB code out of CWallet
* Refactor: Move SetupGeneration code out of CWallet
* Refactor: Move HavePrivateKeys code out of CWallet::CreateWalletFromFile
* Refactor: Move Upgrade code out of CWallet::CreateWalletFromFile
* Refactor: Move MarkUnusedAddresses code out of CWallet::AddToWalletIfInvolvingMe
* Refactor: Move GetMetadata code out of getaddressinfo
* Refactor: Move LoadKey LegacyScriptPubKeyMan method definition
* Refactor: Move SetAddressBookWithDB call out of LegacyScriptPubKeyMan::ImportScriptPubKeys
* refactor: Replace UnsetWalletFlagWithDB with UnsetBlankWalletFlag in ScriptPubKeyMan
* Refactor: Remove UnsetWalletFlag call from LegacyScriptPubKeyMan::SetHDSeed
* Remove SetWalletFlag from WalletStorage
* Refactor: Move SetWalletFlag out of LegacyScriptPubKeyMan::UpgradeKeyMetadata
* Refactor: Move SetAddressBook call out of LegacyScriptPubKeyMan::GetNewDestination
* Refactor: Add new ScriptPubKeyMan virtual methods
* Refactor: Declare LegacyScriptPubKeyMan methods as virtual
* MOVEONLY: Reorder LegacyScriptPubKeyMan methods
* bench: Remove redundant copy constructor in mempool_stress
* refactor: Remove redundant PSBT copy constructor
* doc: compiling with Visual Studio is now supported on Windows
* doc: update MSVC instructions to remove Qt configuration
* test: Do not instantiate CAddrDB for static call
* doc: Remove explicit network name references
* test: rm ascii art in rpc_fundrawtransaction
* test: add rpc_fundrawtransaction logging
* [qa] Add shrinkdebugfile=0 to regtest bitcoin.conf
* Minor refactoring to remove implied m_addr_relay_peer.
* log: Fix log message for -par=1
* GuessVerificationProgress: cap the ratio to 1
* [linter] Strip trailing / in path for git-subtree-check
* build: update retry to current version
* Fix incorrect help-debug for -checkpoints
* Squashed \'src/univalue/\' changes from 7890db99d6..5a58a46671
* QA: Add wallet_implicitsegwit to test the ability to transform keys between address types
* travis: Run unit and functional tests on native arm
* test: Add RegTestingSetup to setup_common
* Walk pindexBestHeader back to ChainActive().Tip() if it is invalid
* test: move-only ComputeFilter to src/test/lib/blockfilter
* replace asserts in RPC code with CHECK_NONFATAL and add linter
* [tests] remove bignum.py
* [tests] remove bn2bin()
* [tests] remove bn_bytes() function
* [tests] remove mpi2vch() function
* [tests] don\'t encode the integer size in bignum
* [tests] add function comments to bignum
* [tests] fix flake8 warnings in script.py and bignum.py
* rpc: Add generatetodescriptor
* docs: Add undefined to --with-sanitizers=fuzzer,address
* tests: Add fuzzing harness for ISO-8601 related functions
* refactor: Replace all uses of boost::optional with our own Optional type
* doc: Add developer note on c_str()
* [validation] Remove fMissingInputs from AcceptToMemoryPool()
* [validation] Remove unused first_invalid parameter from ProcessNewBlockHeaders()
* [validation] Remove useless ret parameter from Invalid()
* [validation] Remove error() calls from Invalid() calls
* [validation] Tidy Up ValidationResult class
* [validation] Add CValidationState subclasses
* Chainparams: Use name constants in chainparams initialization
* nsis: Write to correct filename in first place
* cli: Add \"headers\" and \"verificationprogress\" to -getinfo
* add unused SnapshotMetadata class
* wallet: Remove left-over BIP70 comment
* Fix missing strFailReason in CreateTransaction
* Fix misplaced AssertLockHeld
* doc: Clarify WalletStorage / Wallet relation
* Add back mistakenly removed AssertLockHeld
* Refactor: Add GetLegacyScriptPubKeyMan helper
* test: add reason checks for non-standard txs in test_IsStandard
* refactor: Remove addrdb.h dependency from node.h
* Add assertion to randrange that input is not 0
* Add new mempool benchmarks for a complex pool
* contrib: remove accounts from bash completion
* pubkey: Assert CPubKey\'s ECCVerifyHandle precondition
* Avoid using g_rpc_node global in wallet code
* scripted-diff: Remove g_connman, g_banman globals
* Pass NodeContext, ConnMan, BanMan references more places
* MOVEONLY: Move NodeContext struct to node/context.h
* scripted-diff: Rename InitInterfaces to NodeContext
* Fix issue with conflicted mempool tx in listsinceblock
* Fix occurences of c_str() used with size() to data()
* refactor: Remove redundant c_str() calls in formatting
* bench: Fix negative values and zero for -evals flag
* Add search for first blk file with pruned node
* tests: Add fuzzer initialization (hold ECCVerifyHandle)
* Add roundtrip and more tests to ParseISO8601DateTime and FormatISO8601DateTime
* Rename DecodeDumpTime to ParseISO8601DateTime and move to time.cpp
* gui: Fix duplicate wallet showing up
* Drop signal CClientUIInterface::LoadWallet
* Tests: Use self.chain instead of \'regtest\' in almost all current tests
* [rpc] set default bip32derivs to true for psbt methods
* Refactor: Split up CWallet and LegacyScriptPubKeyMan and classes
* MOVEONLY: Move key handling code out of wallet to keyman file
* Move wallet enums to walletutil.h
* added asserts to check m_addr_known when it\'s used
* [net] SocketHandler: log peer id for close and disconnect
* gui: disable font antialiasing for QR image address
* test: fix script_p2sh_tests OP_PUSHBACK2/4 missing
* gui: Make polling in ClientModel asynchronous
* Avoid unused call to GuessVerificationProgress in NotifyHeaderTip
* http: add missing header bootlegged by boost < 1.72
* tests: Add fuzzing harness for various CScript related functions
* ci: Remove ccache requirement on the host
* compat: remove bswap_
* check on macOS
* build: skip building OpenSSL lib_ssl
* build: remove OpenSSL from Qt build
* build: remove EVP_MD_CTX_new detection
* build: remove SSL lib detection
* gui: Update BIP70 support message
* build: remove BIP70 entries from macOS Info.plist
* gui: remove payment request file handling from OpenURI dialog
* Remove BIP70 Support
* docs: remove protobuf from docs
* build: remove protobuf from depends
* consensus: Explain why fCheckDuplicateInputs can not be skipped and remove it
* [validation] Remove unused cacheSigStore from CheckInputsFromMempoolAndCache
* ci: Disable functional tests on mac host
* doc: Changed miniupnp links to https
* tests: Remove Cygwin WinMain workaround
* tests: Skip unnecessary fuzzer initialisation. Hold ECCVerifyHandle only when needed.
* depends: fix boost mac cross build with clang 9+
* Add unit testing for the CompressScript functions
* tests: Add Parse(...) (descriptor) fuzzing harness
* tests: Allow for using non-default fuzzing initialization
* gui: Fix payAmount tooltip in SendCoinsEntry
* Add override/final modifiers to V1TransportDeserializer
* Make resetting implicit in TransportDeserializer::Read()
* Remove oversized message detection from log and interface
* Continue relaying transactions after they expire from mapRelay
* refactor: test/bench: dedup Build{Crediting,Spending}Transaction()
* Replace the LogPrint function with a macro
* static tooltip
* test: use default address type (bech32) for wallet_bumpfee tests
* Force CNetMessage::m_recv to use std::move
* build: use osslsigncode 2.0 in gitian
* refactor: Remove unused CExt{Pub,}Key (de)serialization methods
* Expand on wallet_balance.py comment from https://github.com/bitcoin/bitcoin/pull/16766\\#issuecomment-527563982
* Update release notes to mention changes to IsTrusted and impact on wallet
* Systematize style of IsTrusted single line if
* update variable naming conventions for IsTrusted
* Update comment in test/functional/wallet_balance.py
* Update wallet_balance.py test to reflect new behavior
* Reuse trustedParents in looped calls to IsTrusted
* Cache tx Trust per-call to avoid DoS
* Make IsTrusted scan parents recursively
* tests: Remove no longer needed UBSan suppressions (issues fixed). Add documentation.
* Add testcase to simulate bitcoin schema in leveldb
* ci: Enable address sanitizer (ASan) stack-use-after-return checking
* wallet: Remove unused GetLabelName
* doc: Added instructions for how to add an upsteam to forked repo
* Send amount shows minimum amount placeholder
* util: Add CHECK_NONFATAL and use it in src/rpc
* Android: add all arch support
* random: remove call to RAND_screen() (Windows only)
* [wallet] Remove `state` argument from CWallet::CommitTransaction
* [wallet] Remove return value from CommitTransaction()
* [wallet] Add doxygen comment to CWallet::CommitTransaction()
* gui: Add placeholder text to the sign message field
* Use adapter pattern for the network deserializer
* Remove transport protocol knowhow from CNetMessage / net processing
* Refactor: split network transport deserializing from message container
* util: Filter out macOS process serial number
* doc: Describe log files + consistent paths in test READMEs
* ci: Remove redundant check for TRAVIS_OS_NAME
* doc: Document that GNU tools are required for linters
* ci: Cleanup macOS runs
* doc: correct function name in ReportHardwareRand()
* p2p: Avoid allocating memory for addrKnown where we don\'t need it
* chain: Set all CBlockIndex members to null, remove SetNull helper
* Add tests for util/vector.h\'s Cat and Vector
* Add some general std::vector utility functions
* [wallet] Fix whitespace in CWallet::CommitTransaction()
* Remove unused includes
* tests: Add fuzzing harness for descriptor Span-parsing helpers
* rpc: fix -rpcclienttimeout 0 option
* gui: Added label & tooltip for Verify Message labels
* gui: remove OpenSSL PRNG seeding (Windows, Qt only)
* gui: Make RPCConsole::TabTypes an enum class
* Update macdeploy README to include correctly named `.dmg` file produced from `make deploy`
* tests: Fix fs_tests for unknown locales
* util: Filter control characters out of log messages
* github: Add warning for bug reports
* [test] rename SegwitVersion1SignatureHash()
* travis: run tests on macOS native
* test: Fix bug in blockfilter_index_tests.
* [wallet] Remove pruning check for -rescan option
* [wallet] Remove package limit config access from wallet
* [rpc] Fix broken bitcoin-cli examples
* test: fix \"tx-size-small\" errors after default address change
* doc: Add switch on enum example
* util: Add AllowShortCaseLabelsOnASingleLine option
* gui: Fix start timer from non QThread
* test: speed up wallet_address_types by whitelisting peers (immediate tx relay)
* gui: don\'t disable the sync overlay when wallet is disabled
* tests: Add test for loadblock option
* test: speedup wallet_backup by whitelisting peers (immediate tx relay)
* tests: Add EvalScript(...) fuzzing harness
* [build] depends macOS: point --sysroot to SDK
* depends: export dynamic JNI symbols from static qtforandroid.a
* Qt: patch androidjnimain.cpp to make sure JNI is initialised when statically compiled
* doc: update bips.md with buried BIP9 deployments
* build: pass --enable-option-checking to applicable packages
* build: only pass --disable-dependency-tracking to packages that understand it
* doc: Add missing indexes/blockfilter/basic/ to doc/files.md
* change wallet pointers to references in feebumper
* tests: Add FuzzedDataProvider fuzzing helper from the Chromium project
* doc: Doxygen-friendly CuckooCache comments
* [docs] Add release notes for removal of REJECT reasons
* [validation] Fix REJECT message comments
* [validation] Remove REJECT code from CValidationState
* typo and unneccessary parentheses
* [logging] Don\'t log REJECT code when transaction is rejected
* [validation] Fix peer punishment for bad blocks
* build: Add README.md to DIST target
* test: add unit tests for Span-parsing helpers
* Add missing fields in TransactionDescriptionString and others
* MOVEONLY : move RPC wallets helpers to TransactionDescriptionString
* test: Seed test RNG context for each test case, print seed
* build: Add variable printing target to Makefiles
* lint: Install grep and git via brew on mac for --perl-regexp
* lint: Fix shellcheck SC2155
* lint: Run the linters against Mac OS on Travis
* depends: pull upstream libdmg-hfsplus changes
* depends: latest config.guess & config.sub
* tests: Remove TRANSACTION_DESERIALIZE (replaced by transaction fuzzer)
* tests: Add fuzzing harness for CheckTransaction(...), IsStandardTx(...) and other CTransaction related functions
* ci: Run tests on arm
* init: Change fallback locale to C.UTF-8
* [test] Add coverage to estimaterawfee and estimatesmartfee
* build: Fix #include sys/poll.h to just poll.h (without sys/)
* [doc] fix Makefile target in benchmarking.md
* Add release note
* Update descriptors.md to include sortedmulti
* Test sortedmulti descriptor using BIP 67 tests
* Add sortedmulti descriptor and unit tests
* gitian: Put things in the right place to begin with
* gitian: Eliminate rename dependency
* gitian: Smaller diff with gitian-linux.yml
* gitian: Fix README inclusion in archives
* wallet: Avoid showing GUI popups on RPC errors
* Fix bug where duplicate PSBT keys are accepted
* Added double quotes
* Disable _FORTIFY_SOURCE when enable-debug
* tests: Pass fuzzing inputs as constant references
* Always generate `bitcoinstrings.cpp` on `make translate`
* build: Remove workaround for ancient libtool
* build: Ensure a minimal version of libtool
* Fix Python Docstring to include all Args.
* util: Simplify path argument for CBlockTreeDB ctor
* scripts: update copyright_header script to include additional files
* build: Bump gitian descriptor versions
* contrib: fix minor typos in makeseeds.py
* doc: Fix amount typo in release notes
* modify p2p_feefilter test to catch rounding error
* Disallow implicit conversion for CFeeRate constructor
* feefilter: Compute the absolute fee rather than stored rate to match mempool acceptance logic
* ci: Make apt-get more verbose, to debug travis timeouts
* Don\'t rename main thread at process level
* Prevent processing duplicate payment requests
* gitian: Use split-debug.sh for Win builds
* doc: Add detailed info about Bitcoin Core files
* doc: Update bips.md for default bech32 addresses in 0.20.0
* doc: move-only release notes fragments for 0.20.0
* Truly decouple wallet from chainparams for -fallbackfee
* p2p: Remove BIP61 reject messages
* ci: Use busybox utils for one build
* doc: move-only: Steps for \"before major release branch-off\"
* doc: reset release notes after 0.19 split-off
* build: 0.19 release updates on master
* gui: Add shortcuts for tab tools
* add newline after -stdin
*
* cli: add -stdinwalletpassphrase for (slightly more) secure CLI
* add stdin helpers for password input support
* scripts: search for next position of magic bytes rather than fail
* test: Fix combine_logs.py for AppVeyor build
* Add release note for bech32 by default in wallet
* Revert \"gui: Generate bech32 addresses by default (take 2, fixup)\"
* Change default address type to bech32
* refactor: consolidate PASTE macros
* Change sendcoins dialogue Yes to Send
* doc: Doxygen-friendly descriptor.h comments
* builds: remove superfluous config_opts_aarch64_android
* txmempool: Make entry time type-safe (std::chrono)
* build: remove mingw linker workaround from win gitian descriptor
* Patch libevent when building for Android (fix arc4random_addrandom)
* Update bitcoin_qt.m4
* Define TARGET_OS when host is android
* Only check the hash of transactions loaded from disk
* util: Add count_seconds time helper
* test: mempool entry time is persisted
* Fix Android zlib cross compilation issue (https://stackoverflow.com/questions/21396988/zlib-build-not-configuring-properly-with-cross-compiler-ignores-ar)
* Add full Android build example command and instructions on getting SDK/NDK
* Add config opts and patch for aarch64_android build of Qt
* Add ranlib to android.mk hosts file (fix OSX Android NDK build)
* Add example Android host-platform-triplet and options
* Add support for building Android dependencies
* Add documenting comments to spanparsing.h
* Abstract out some of the descriptor Span-parsing helpers
* test: add unit test for wallet watch-only methods involving PubKeys
* Set init stop timeout to 10 min
* Fixup whitespace
* scripted-diff: Rename CPubKey and CKey::
*_KEY_SIZE and COMPRESSED_
*_KEY_SIZE
* Fix UB with bench on genesis block
* Show addresses for \"SendToSelf\" transactions
* GUI: Restore RPC Console to non-wallet tray icon menu
* Fri Mar 06 2020 marecAATTdetebe.org- Update to version 0.19.1:
* build: Bump version for 0.19.1 final
* doc: Add missing author to 0.19.1 release notes
* build: Bump version to 0.19.1rc2
* doc: UNIX manual pages update for rc2
* qt: Pre-rc2 translations update
* doc: Update release notes for rc2
* Squashed \'src/univalue/\' changes from 7890db99d6..98261b1e7b
* psbt: check output index is within bounds before accessing
* gui: Fix unintialized WalletView::progressDialog
* wallet: Reset reused transactions cache
* Don\'t calculate tx fees for PSBTs with invalid money values
* doc: Preliminary 0.19.1 release notes
* doc: Manpage updates for 0.19.1rc1
* build: Bump version to 0.19.1rc1
* qt: Translations update pre-rc1
* test: add missing #include to fix compiler errors
* bug-fix macos: give free bytes to F_PREALLOCATE
* init: Stop indexes on shutdown after ChainStateFlushed callback.
* Use correct C++11 header for std::swap()
* Fix comparison function signature
* Don\'t allow implementers to think ScriptHash(Witness
*()) results in nesting computation
* IsUsedDestination shouldn\'t use key id as script id for ScriptHash
* IsUsedDestination should count any known single-key address
* Fix issue with conflicted mempool tx in listsinceblock
* gui: Fix duplicate wallet showing up
* Drop signal CClientUIInterface::LoadWallet
* zmq: Fix due to invalid argument and multiple notifiers
* qt: Periodic translations update for 0.19 branch
* scripts: fix check-symbols & check-security argument passing
* Update msvc build for Visual Studio 2019 v16.4
* Moves vcpkg list to a text file and updates the appveyor job and readme to use it.
* Updated appveyor config: - Update build image from Visual Studio 2017 to Visual Studio 2019. - Updated Qt static library from Qt5.9.7 to Qt5.9.8. - Added commands to update vcpkg port files (this does not update already installed packages). - Updated vcpkg package list as per #17309. - Removed commands setting common project file options. Now done via common.init.vcxproj include. - Changed msbuild verbosity from normal to quiet. Normal rights a LOT of logs and impacts appveyor job duration. Updated msvc project configs: - Updated platform toolset from v141 to v142. - Updated Qt static library from Qt5.9.7 to Qt5.9.8. - Added ignore for linker warning building bitcoin-qt program. - Added missing util/str.cpp class file to test_bitcoin project file.
* Add missing typeinfo includes
* net: Log to net category for exceptions in ProcessMessages
* test: fix bitcoind already running warnings on macOS
* Fix origfee return for bumpfee with feerate arg
* util: Add missing headers to util/fees.cpp
* rpc: require second argument only for scantxoutset start action
* cli: fix Fatal LevelDB error when specifying -blockfilterindex=basic twice
* gui: disable File->CreateWallet during startup
* wallet: unbreak with boost 1.72
* Mark PSBTs spending unspendable outputs as invalid in analysis
* Have a PSBTAnalysis state that indicates invalid PSBT
* refactor: Styling w/ clang-format, comment update
* qt: Fix missing qRegisterMetaType for size_t
* doc: Clear out release notes after 0.19.0.1
* Tue Nov 19 2019 marecAATTdetebe.org- Update to version 0.19.0.1:
* doc: Generate manpages for 0.19.0.1
* doc: Re-add release notes of 0.19.0
* fix uninitialized variable nMinerConfirmationWindow
* build: bump version to 0.19.0.1
* doc: Clean out release notes post-release
* cli: fix -getinfo output when compiled with no wallet
* Sat Nov 09 2019 marecAATTdetebe.org- Update to version 0.19.0:
* build: set CLIENT_VERSION_RC to 0 pre-final
* doc: add macOS DMG opening note to release notes
* doc: reintegrate release notes from wiki
* gui: rc3 translations update
* build: bump version to rc3
* gui: disable font antialiasing for QR image address
* gui: Fix start timer from non QThread
* http: add missing header bootlegged by boost < 1.72
* gui: Make polling in ClientModel asynchronous
* util: Filter out macOS process serial number
* rpc: fix -rpcclienttimeout 0 option
* doc: update bips.md with buried BIP9 deployments
* util: Filter control characters out of log messages
* init: Change fallback locale to C.UTF-8
* tests: Fix fs_tests for unknown locales
* qt: Periodic translations update
* doc: Update manpages
* Prevent processing duplicate payment requests
* build: Fix boost detection on Ubuntu ARM 18.04
* qt: Periodic translations update
* Don\'t rename main thread at process level
* qt: Translations update pre-rc1
* build: Bump version to 0.19.0
* contrib: Remove invalid nodes from seeds list
* qa: Do not force overwrite of QT_QPA_PLATFORM on windows for gui tests
* doc: Explain QT_QPA_PLATFORM for gui tests
* doc: Consolidate release notes before 0.19.0
* doc: Add missing release notes for 16383
* chainparams: Bump assumed chain params
* net: 0.19 hardcoded seeds update
* contrib: makeseeds: More fancy output
* contrib: makeseeds: Limit per network, instead of total
* contrib: makeseeds: dedup by ip,port
* contrib: makeseeds: Factor out ASN lookup
* contrib: makeseeds: Improve logging and filtering
* Enable UBSan for Travis fuzzer job
* doc: Bump version in bips.md, mention bumping in release process
* build: Installed Qt version only appears if being built
* util: Make thread names shorter
* doc: Remove mention of renamed mapBlocksUnlinked
* doc: Add mention of BIP158 indexing since v0.19.0
* doc: Add mention of BIP125 used by wallet GUI by default since v0.18.1
* When BIP70 is disabled, get PaymentRequest merchant using string search
* doc: Add mention of BIP70 disabling by default in bips.md
* test bumpfee fee_rate argument
* qa: Fix service flag comparison check in rpc_net test
* test: Avoid whitespace linting in qt translations
* qt: Periodic translations update
* Correct docstring param name.
* build: Factor out qt translations from build system
* rpc bumpfee check fee_rate argument
* rpc bumpfee: add fee_rate argument
* test: add unittests for CheckProofOfWork
* qt: Change default size of intro frame
* refactor: Remove Qt function to disable menu icons on macOS
* doc: Improve test READMEs
* doc: Remove MSVC update step from translation process
* [RPC] Fix casing in getblockchaininfo to be inline with the rest of the response
* make SaltedOutpointHasher noexcept
* doc: Put PR template in comments
* test: Remove python dead code linter
* doc: replace outdated OpenSSL comment in test README
* ci: Remove TRAVIS env vars
* ci: Set $HOST before setting fallback values
* validation: Make GetWitnessCommitmentIndex public
* make sure to update the UI when deleting a transaction
* doc: Improve doxygen readme navigation section
* doc: Move doxygen intro to file for USE_MDFILE_AS_MANPAGE
* travis: Disable feature_block in tsan run
* test: use named args for sendrawtransaction calls
* doc: improve rawtransaction code/test docs
* test: fix incorrect value in rpc_rawtransaction.py
* gui: Rename address checkbox back to bech32
* Add OpenSSL termios fix for musl libc
* Refresh ZeroMQ 4.3.1 patch
* tests: Add information on how to add Vulture suppressions
* test: Fix extra_args in wallet_import_rescan.py
* doc: Fix doxygen comment for SignTransaction in rpc/rawtransaction_util
* test: Make PORT_MIN in test runner configurable
* Test: Move common function assert_approx() into util.py
* [doc] update brew instruction for doxygen
* Update tx-size-small comment with relevant CVE disclosure
* test: lint: Add DisabledOpcodeTemplates to whitelist
* test: Remove unused connect_nodes_bi
* scripted-diff: test: Replace connect_nodes_bi with connect_nodes
* test: Use connect_nodes when connecting nodes in the test_framework
* test: Reformat python imports to aid scripted diff
* refactoring: move ReplayBlocks under CChainState
* refactoring: move LoadChainTip to CChainState method
* doc: fix CChainState::ActivateBestChain doc
* doc: Fix whitespace errs in .md files, bitcoin.conf, Info.plist.in, and find_bdb48.m4
* test: add some unit tests for merkle.cpp
* test: Bump timeouts in slow running tests
* depends: qt: Fix LDFLAGS pickup
* [refactor] Rewrite AcceptToMemoryPoolWorker() using smaller parts
* qt: Run \"make translate\" in ./src
* test: Add notes on how to generate data/wallets/high_minversion
* build: remove unnecessary qt xcb patching
* build: remove unnecessary macOS qt patching
* Add python bech32 impl round-trip test
* test: improve gettransaction test coverage
* rpc: fix regression in gettransaction
* build: make protobuf optional in depends
* doc: clarify protobuf build requirements
* build: update boost macros to latest upstream
* [wallet] Rename \'decode\' argument in gettransaction method to \'verbose\'
* Clarify includeWatching for fundrawtransaction
* bitcoin-wallet: Add a missing closing parenthesis in the help
* Elaborate on the need to re-login on Debian-based systems to use tor following usermod
* Prevent UpdateTip log message from being broken up
* Qt: advise users not to switch wallets when opening a BIP70 URI.
* doc: specify protobuf as optional in build docs
* build: disable BIP70 support by default
* tests: rename \'test_getnetworkinginfo\' in \'test_getnetworkinfo\'
* tests: add a test for the \'servicesnames\' RPC field
* doc: add comments clarifying how local services are advertised
* Fix block index inconsistency in InvalidateBlock()
* util: CBufferedFile fixes
* doc: move-only ActivateBestChain doxygen comment to header
* signrawtransaction
*: improve error for partial signing
* signrawtransactionwithkey: better error messages for bad redeemScript/witnessScript
* depends: qt: Fix C{,XX}FLAGS pickup
* gui: fix autofocus in CreateWalletActivity::askPassphrase()
* gui: fix passphrase labels/tooltip in createwalletdialog/askpassphrasedialog
* gui: rename encrypt(), blank(), and askPasshprase()
* qa: Check scantxoutset result against gettxoutsetinfo
* rpc: Improve scantxoutset response and help message
* Escape ampersands (&) in wallet names in Open Wallet menu
* HTML escape address labels in more dialogs and notifications
* HTML escape the wallet name in more dialogs and notifications
* refactor: Cleanup walletinitinterface.h
* doc: Add issue templates for bug and feature request
* Added libbitcoin_qt and bitcoin-qt to the msbuild configuration.
* Testchains: Qt: Simplify network/chain styles
* Testchains: Generic selection with -chain= in addition of -testnet and -regtest
* Add Create Wallet menu action
* Expose wallet creation to the GUI via WalletController
* Add CreateWalletDialog to create wallets from the GUI
* Optionally allow AskPassphraseDialog to output the passphrase
* refactor: Avoid locking cs_main in ProcessNewBlockHeaders
* gui: Refactor OpenWalletActivity
* contrib: guix: Remove ssp spec file hack
* contrib: guix: More robust search paths, add checks
* depends: zlib: Move toolchain options to configure
* Ignore old versionbit activations
* doc: add a release note for the new field in \'getpeerinfo\' and \'getnetworkinfo\'
* rpc/net: decode the services flags in a new entry
* Assert that the HRP is lowercase in Bech32::Encode
* Test that joinpsbts randomly shuffles the inputs
* Shuffle inputs and outputs after joining psbts
* Conservatively accept RBF bumps bumping one tx at the package limits
* Make lint-includes.sh work from any directory
* Disconnect peers violating blocks-only mode
* doc: improve comments relating to block-relay-only peers
* Don\'t relay addr messages to block-relay-only peers
* Add 2 outbound block-relay-only connections
* Add comment explaining intended use of m_tx_relay
* Check that tx_relay is initialized before access
* test: Remove incorrect and unused try-block in assert_debug_log
* Refactor rawtransaction_util\'s SignTransaction to have previous tx parsing be separate
* devtools: Accomodate block-style copyright blocks
* lint: Bump flake8 to 3.7.8
* lint: Disable flake8 W504 warning
* test/contrib: Fix invalid escapes in regex strings
* wallet: Fix segmentation fault in CreateWalletFromFile
* test: Print both messages on failure in assert_raises_message
* wallet: Fix documentation around WalletParameterInteraction
* doc: ActivateBestChainStep return value
* gui: Update English source translation
* gui: Update transifex slug for 0.19
* Avoid unnecessary \"Synchronizing blockheaders\" log messages
* qt: Replace objc_msgSend with native syntax
* Check for codespell in lint-spelling.sh
* GUI: Remove unused menu items for Windows and Linux
* doc: Add release note for the new gettransaction argument
* tests: Add a new functional test for gettransaction
* gettransaction: add an argument to decode the transaction
* Don\'t show addresses or P2PK in decoderawtransaction
* [qt] Change uninstall icon on Windows
* qt: Replace QFontMetrics::width() with TextWidth()
* Add a test wallet_reorgsrestore
* Modify wallet tx status if has been reorged out
* Add window final block height to getchaintxstats
* wallet: extract PubKey from P2PK script with Solver
* doc: Delete stale URL in test README
* Added the bench_bitcoin project to the list automatically produced by the msvc-autogen python script.
* wallet: Translate all initErrors in CreateWalletFromFile
* util: Make util/error bilingual_str (refactor)
* doc: Tidy up shadowing section
* [refactor] Change tx_relay structure to be unique_ptr
* [refactor] Move tx relay state to separate structure
* test: add executable flag for wallet_watchonly.py
* Adds an option to msbuild common configuration to ignore linker warning 4221. This warning is for object files that do not include any symbols. The warning is harmless and occurs due to some classes that are
*nix only having no source to compile for an msvc build.
* qa: Relax so that the subscriber is ready before publishing zmq messages
* ci: Move CCACHE_DIR and test_runner tmp dir into ./ci/scratch/
* ci: Pass down $MAKEJOBS to test_runner.py
* test: Establish only one connection between nodes in rpc_invalidateblock
* move-only: move coins statistics utils out of RPC
* doc: Add spacing to command in translation_process.md
* Remove unused fScriptChecks parameter from CheckInputs
* Support serialization of std::vector
* rpc bumpfee: move feerate estimation logic into separate method
* lint: Catch use of [] or {} as default parameter values in Python functions
* Avoid using mutable default parameter values
* doc: Update labels in CONTRIBUTING.md
* qt: Remove QSignalMapper from TransactionView
* qt: Replace obsolete functions of QDesktopWidget
* qt: Remove obsolete QModelIndex::child()
* wallet: Use wallet name instead of pointer on unload/release
* [gui] intro: enable pruning by default unless disk is big
* [gui] intro: add prune preference
* [gui] intro: inform caller if intro was shown
* [gui] add explicit prune setter
* [node] add forceSetArg to interface
* [Doc] Add documentation for the new whitelist permissions
* Replace obsolete functions of QSslSocket
* qt: Remove QSignalMapper from RPCConsole
* Release notes: add previously undocumented changes
* Release notes: edit previously-detached notes
* Remove SyncTransaction for conflicted txn in CWallet::BlockConnected
* Encapsulate tx status in a Confirmation struct
* qt: Add TextWidth() wrapper
* gui: Ensure tx send error highlight is visible
* packages.md: document depends build targets
* Clarify need to specify --prefix with depends
* Doc: move detached release notes into release-notes.md
* gui: remove unused PlatformStyle::TextColorIcon
* refactor: replace qLowerBound & qUpperBound with std:: upper_bound & lower_bound
* refactor: replace qSort with std::sort
* refactor: replace qStableSort with std::stable_sort
* build: update RapidCheck Makefile
* QA: fix rpc_setban.py race
* Make descriptor test deterministic
* rpc: Use Join helper in rpc/util
* util: Add Join helper to join a list of strings
* Unrecommend making config file owned by bitcoin
* Set ProtectHome in systemd service file
* Chgrp config dir to bitcoin in systemd service
* Improve clarity of systemd service file comments
* scripts: move update-translations.py to maintainer-tools repo
* doc: add default bitcoin.conf locations
* scripts: remove github-merge.py
* doc: initial RapidCheck property-based testing documentation
* doc: add release-notes for getmempoolentry weight field addition
* qa: Add RPC tests for weight in mempool entry
* RPC: add weight to mempool entry output
* Bugfix: QA: Run tests with UPnP disabled
* qa: Test ZMQ notification after chain reorg
* qa: Refactor ZMQ test
* doc: Add note regarding ZMQ block notification
* test: Add test for default maxfeerate in sendrawtransaction
* wallet/rpc: Use the default maxfeerate value as BTC/kB
* doc: Add ZMQ dependencies to Fedora build
* Additional tests for other failure cases
* Check error messages in descriptor tests
* Give more errors for specific failure conditions
* Return an error from descriptor Parse that gives more information about what failed
* test: Test that low difficulty chain fork is rejected
* Reformat p2p_permissions.py
* [Fix] The default whitelistrelay should be true
* doc: Refer in rpcbind doc to the manpage
* test: Pass down correct chain name in tests
* [doc] mention whitelist is inbound, and applies to blocksonly
* ci: Set --ansi in test_runner
* ci: Add environment files for all settings
* build: echo prop tests status during build
* Add test for setban
* Fix spelling error chache -> cache.
* Cover UTXO set access with lock annotations
* ci: Add note that this assumes a fresh git clone
* ci: Use ./ci/ on non-travis host
* ci: Remove dependence on travis, use it as fallback env
* ci: Add retry
* ci: Rename .travis/ to ./ci/
* refactor: have CCoins
* data managed under CChainState
* doc: Improve versionbits.h documentation
* util: Move ResolveErrMsg to util/error
* [Fix] Allow connection of a noban banned peer
* lint: Add false positive to python dead code linter
* qt: Remove menu icons
* tests: Use colors and dots in test_runner.py output only if standard output is a terminal -- allows for using the test runner output as input to other programs
* test: Test p2sh-witness and bech32 in wallet_import_rescan
* test: Replace fragile \"rng\" with call to random()
* test: Generate one block for each send in wallet_import_rescan
* [docs] Add release notes for burying bip 9 soft fork deployments
* [tests] Add coverage for the content of getblockchaininfo.softforks
* [Consensus] Bury segwit deployment
* [Consensus] Bury CSV deployment height
* Remove unused variable
* doc: Fix typos in COPYRIGHT
* build: Remove src/obj directory from repository
* depends: zeromq: disable draft classes and methods
* depends: xproto: configure flags cleanup
* depends: qrencode: configure flags cleanup
* depends: fontconfig: configure flags cleanup
* depends: libxcb: configure flags cleanup
* depends: libXau: configure flags cleanup
* descriptor: fix missed m_script_arg arg renaming in #14934
* Add missing contributor to release notes
* build: ignore macOS make deploy artefacts & add them to clean-local
* [rpc] Tidy up reporting of buried and ongoing softforks
* Moved and renamed hash256 from util.py to zmq_interface.py
* rpc: Fix getblocktemplate CLI example (#16594)
* Add test for AddTimeData
* travis: Bump timeout from 50 minutes to 90
* doc: Mention other ways to conserve memory on compilation
* build: Remove unused src/obj-test folder
* doc: Update Markdown syntax for bdb packages
* Add functional tests for flexible whitebind/list
* Replace the use of fWhitelisted by permission checks
* Do not disconnect peer for asking mempool if it has NO_BAN permission
* Make whitebind/whitelist permissions more flexible
* sipsorcery gitian key.
* Give QApplication dummy arguments
* [wallet] Restore confirmed/conflicted tx check in SubmitMemoryPoolAndRelay()
* doc: Add historical release notes for 0.18.1
* build: disable libsecp256k1 benchmarks
* Remove p2pEnabled from Chain interface
* Fix Char as Bool in interfaces
* util: refactor upper/lowercase functions
* Do not query all DNS seed at once
* Add unmodified-but-with-checksum to getdescriptorinfo
* Factor out checksum checking from descriptor parsing
* [wallet] restore coinbase check in SubmitMemoryPoolAndRelay()
* refactor: pcoinsTip -> CChainState::CoinsTip()
* build: disable libxcb extensions
* test: only include and init openSSL where it\'s actually used
* [doc] chain: Declare BLOCK_VALID_HEADER reserved
* doc: Fix grammar and punctuation in developer notes
* test: Add missing sync_blocks to feature_pruning
* [doc] Update and extend benchmarking.md
* test: Explain why -whitelist is used in feature_fee_estimation
* test: Format feature_fee_estimation with pep8
* test: Avoid hardcoding the chain name in combine_logs
* [build] .gitignore add Qt Creator Makefile.am.user
* log: harmonize bitcoind server logging
* Tidy up BroadcastTransaction()
* Remove unused submitToMemoryPool and relayTransactions Chain interfaces
* Remove duplicate checks in SubmitMemoryPoolAndRelay
* Introduce CWalletTx::SubmitMemoryPoolAndRelay
* Add BroadcastTransaction utility usage in Chain interface
* Test: Set -acceptnonstdtxn in feature_fee_estimation
* gui: Remove unused RPCConsole::tabFocus
* test: Adapt test framework for chains other than \"regtest\"
* test: Fix “local variable \'e\' is assigned to but never used”
* test: Make tests arg type specific
* Revamp option negating policy
* wallet: Drop unused OldKey
* doc: Add release note for the deprecated totalFee option of bumpfee
* Changes the verbosity of msbuild from quiet to normal in the appveyor script. Increasing the verbosity helps to identify the cause of build errors which is the main purpose of the appveyor script.
* autoconf: Sane --enable-debug defaults.
* test: Add -acceptnonstdtxn to self.extra_args[3]
* gui: Generate bech32 addresses by default (take 2, fixup)
* [wallet] Remove CMerkleTx serialization logic
* [wallet] Flatten CWalletTx class hierarchy
* [wallet] Move CMerkleTx functions into CWalletTx
* test: Bump rpc_timeout in feature_dbcrash
* Add setting as known type
* qa: fix deprecated log.warn in feature_dbcrash test
* doc: update labels in CONTRIBUTING.md
* Allow createwallet to take empty passwords to make unencrypted wallets
* Updated python command in readme so it will work on systems that have both python2 and 3 installed.
* scripts: filter more qt plugins we don\'t use in macdeployqtplus
* scripts: misc cleanups in macdeployqtplus
* scripts: use format() in macdeployqtplus
* scripts: add type annotations to macdeployqtplus
* Trivial: add missing space
* wallet: Rename CWalletKey to OldKey
* wallet: Enumerate walletdb keys
* Replace IsArgKnown() with FlagsOfKnownArg()
* Use ArgsManager::NETWORK_ONLY flag
* rpc: sendrawtransaction unconditionality/privacy note
* [test] walletcreatefundedpsbt: check RBF is disabled when -walletrbf=0
* [doc] rpc: remove \"fallback to\" from RBF default help
* [rpc] walletcreatefundedpsbt: use wallet default RBF
* Remove unused m_debug_only member from Arg struct
* scripted-diff: Use ArgsManager::DEBUG_ONLY flag
* scripted-diff: Use Flags enum in AddArg()
* Add Flags enum to ArgsManager
* Refactor InterpretNegatedOption() function
* refactoring: Check IsArgKnown() early
* [mempool] log correct messages when CPFP fails
* test: Fail early on disconnect in mininode.wait_for_
*
* Add RPC bumpfee totalFee deprecation test
* deprecate totalFee argument in bumpfee RPC call
* Exclude depends/Makefile in .gitignore
* [qa] Ensure we don\'t generate a too-big block in p2sh sigops test
* [qa] Fix race condition in example_test.py
* doc: add note on precedence of options in bitcoin.conf
* refactor : use RelayTransaction in BroadcastTransaction utility
* doc: Remove downgrading warning in release notes, per 0.18 branch
* Enable all tests in feature_config_args.py
* Use CheckDataDirOption() for code uniformity
* Fix datadir handling in bitcoin-cli
* Fix datadir handling in bitcoin-qt
* Fix datadir handling in bitcoind
* Add CheckDataDirOption() function
* Return absolute path early in AbsPathForConfigVal
* Have importwallet use ImportPrivKeys and ImportScripts
* Optionally allow ImportScripts to set script creation timestamp
* Have importaddress use ImportScripts and ImportScriptPubKeys
* Have importpubkey use CWallet\'s ImportScriptPubKeys and ImportPubKeys functions
* scripted-diff: Make translation bilingual
* Add bilingual message type
* Refactor out translation.h
* tests: functional watch-only wallet tests
* doc: add release note for include_watchonly default changes
* depends: disable unused Qt features
* doc: remove line numbers from qt package links
* doc: fix typo in bitcoin_qt.m4 comment
* build: remove jpeg lib check from bitcoin_qt.m4
* build: disable libjpeg in qt
* test: Skip flaky p2p_invalid_messages test on macOS
* wallet: Recognize -disablewallet option early
* travis: Print memory and number of cpus
* extract min & max depth onto coin control
* Remove ReadVersion and WriteVersion
* Log the actual wallet file version
* Remove nFileVersion from CWalletScanState
* Specify AM_CPPFLAGS for ZMQ.
* txmempool: Remove unused default value MemPoolRemovalReason::UNKNOWN
* move-onlyish: move CCoinsViewErrorCatcher out of init.cpp
* doc: Update bips 35, 37 and 111 status
* build: Treat -Wswitch as error when --enable-werror
* Use switch on status in RpcWallet
* Return error for ignored passphrase through disable private keys option
* Have importprivkey use CWallet\'s ImportPrivKeys, ImportScripts, and ImportScriptPubKeys
* Log when an import is being skipped because we already have it
* test: remove redundant setup in addrman_tests
* depends: qt: Patch to remove dep on libX11
* gitignore: Actually pay attention to depends patches
* Add release notes for DEFAULT_BLOOM change
* rpcwallet: document include_watchonly default for watchonly wallets
* rpcwallet: default include_watchonly to true for watchonly wallets
* QA: Fix race condition in wallet_encryption test
* Get rid of PendingWalletTx class.
* depends: Bump QT to LTS release 5.9.8
* net: Make poll in InterruptibleRecv only filter for POLLIN events. poll should block until there is data to be read or the timeout expires.
* symbol-check: Disallow libX11-
*.so.
* shared libraries
* depends: libXext isn\'t needed by anyone
* build-aux: Remove check for x11-xcb
* depends: libX11: Make package headers-only
* depends: qt: Explicitly stop using Xlib/libX11
* depends: xproto is only directly needed by libXau
* fix: tor: Call event_base_loopbreak from the event\'s callback
* Use strong enum for WalletCreationStatus
* Place out args at the end for CreateWallet
* Remove wallet settings from chainparams
* qa: Add --filter option to test_runner.py
* docs: Improve netbase comments
* doc: describe how to pass wildcard names to test runner
* test: enable passing wildcards with path to test runner
* Remove unused bits from the service flags enum
* contrib: guix: Additional clarifications re: substitutes
* Fix autostart filenames on Linux
* contrib: guix: Various improvements.
* contrib: guix: Clarify SOURCE_DATE_EPOCH.
* contrib: Add deterministic Guix builds.
* Change ImportScriptPubKeys\' internal to apply_label
* Call node->initError instead of InitError from GUI code
* init: Use InitError for all errors in bitcoind/qt
* Restrict lifetime of ReserveDestination to CWallet::CreateTransaction
* CreateTransaction calls KeepDestination on ReserveDestination before success
* Remove redundant pre-TopUpKeypool checks
* test: Add test for maxtxfee option
* Move wallet creation out of the createwallet rpc into its own function
* Add GetNewChangeDestination for getting new change Destinations
* Replace CReserveKey with ReserveDestinatoin
* Add GetNewDestination to CWallet to fetch new destinations
* Move WatchOnly stuff from SigningProvider to CWallet
* Remove CCryptoKeyStore and move all of it\'s functionality into CWallet
* Move various SigningProviders to signingprovider.{cpp,h}
* Move KeyOriginInfo to its own header file
* scripted-diff: rename CBasicKeyStore to FillableSigningProvider
* Move HaveKey static function from keystore to rpcwallet where it is used
* [mempool] Allow one extra single-ancestor transaction per package
* Remove CKeyStore and squash into CBasicKeyStore
* test: Add test for BIP30 duplicate tx
* test: Properly serialize BIP34 coinbase height
* Remove redundant WalletController::addWallet slot
* depends: expat 2.2.7
* Update doc and CI config
* qt: Assert QMetaObject::invokeMethod result
* gui: Fix missing qRegisterMetaType(WalletModel
*)
* test: rpc_users: Make variable names more clear.
* test: rpc_users: Also test rpcauth.py with specified password.
* test: rpc_users: Add function for testing auth params.
* test: rpc_users: Add function for auth\'d requests.
* refactoring: remove mapBlockIndex global
* refactoring: make pindexBestInvalid internal to validation.cpp
* refactoring: add block_index_candidates arg to LoadBlockIndex
* refactoring: move block metadata structures into BlockManager
* refactor: Rename getWallets to getOpenWallets in WalletController
* gui: Sort wallets in open wallet menu
* test: Tool wallet test coverage for unexpected writes to wallet
* test: Split tool_wallet.py test into subtests
* test: Add log messages to test/functional/tool_wallet.py
* rpc: switch to using RPCHelpMan.Check()
* Make the RPCHelpMan aware of JSONRPCRequest and add Check() helper
* build: prune dbus from depends
* Remove unused guard
* doc: Include static members in Doxygen
* docs: add reduce-memory.md
* [build]: use #if HAVE_SYSTEM instead of defined(HAVE_SYSTEM)
* bench: Benchmark blockToJSON
* [docs] Add release notes for PR 15427
* rpc: migrate JSONRPCRequest functionality into request.cpp
* Disable other targets when enable-fuzz is set
* Enable ShellCheck rules
* [RPC] add new utxoupdatepsbt arguments to the CRPCCommand and CPRCConvertParam tables
* Add HaveKey and HaveCScript to SigningProvider
* Use placeholder instead of key expiration date
* Add logpath description for getrpcinfo
* Suppress output in test_bitcoin for expected errors
* Add ChaCha20Poly1305AATTBitcoin AEAD benchmark
* Add ChaCha20Poly1305AATTBitcoin tests
* rpc: fix RPC help requirements for getblocktemplate
* test: Split fundrawtx test into subtests
* test: Make local symbols in run_test members
* test: Add tests for getblockchaininfo.softforks
* bench: Move generated data to a dedicated translation unit
* rpc: Clarify that block count means height excl genesis
* wallet: Remove unreachable code in CreateTransaction
* wallet: Fix -maxtxfee check by moving it to CWallet::CreateTransaction
* Add antialiasing to traffic graph widget
* TEST: Replace hard-coded hex tx with classes
* Improve documentation of memory_cleanse()
* [MSVC] Copy build output to src/ automatically after build
* Fix: \"Bitcoin Core\" -> \"The Bitcoin Core\"
* Drop no-longer-relevant copyright holder name
* Include Objective-C source files
* doc: Fix broken link in doc/build-osx.md
* [MSVC] allow user level project customization
* [wallet] abort when attempting to fund a transaction above maxtxfee
* test: Add missing sync_all to wallet_balance test
* [MSVC] Enable Fuzz for functional tests
* qt: test: Create at most one testing setup
* util: No translation of `Bitcoin Core` in the copyright
* util: Explain why the path is cached
* tests: Switch one of the Travis jobs to an unsigned char environment (-funsigned-char)
* tests: Reduce compilation time and unneccessary recompiles by removing unused includes in tests
* qt: Run «make translate» in ./src/
* scripted-diff: Avoid passing PACKAGE_NAME for translation
* build: Stop translating PACKAGE_NAME
* Add Travis check for single parameter constructors not marked \"explicit\"
* Add missing ECC_Stop(); in GUI rpcnestedtests.cpp
* Remove extra CBlockIndex declaration
* Fix GCC 7.4.0 warning
* Add ChaCha20Poly1305AATTBitcoin AEAD implementation
* signrawtransactionwithkey: report error when missing redeemScript/witnessScript param
* rpc: Allow shutdown while in generateblocks
* build: dont compile rapidcheck with -Wall
* test: Require standard txs in regtest
* docs: release note wording
* wallet/rpc: use static help text
* wallet/rpc/getbalances: add entry for \'mine.used\' balance in results
* Use qInfo() if no error occurs
* [MSVC]: Create the config.ini as part of bitcoind build
* doc: remove orphaned header in developer notes
* ci: Run extended tests
* Set AA_EnableHighDpiScaling attribute early
* test: Log to debug.log in all tests
* Make and get the multisig redeemscript and destination in one function instead of two
* net: Document what happens to getdata of unknonw type
* test: use common setup in gui tests
* test: Create data dir in BasicTestingSetup
* MSVC: Fix error in debug mode (Fix #16245)
* Change ismine to take a CWallet instead of CKeyStore
* Move ismine to wallet module
* [qa] Test that getdata requests work as expected
* Make AbortNode() aware of MSG_NOPREFIX flag
* Add MSG_NOPREFIX flag for user messages
* Prepend the error/warning prefix for GUI messages
* doc: Remove travis badge from readme
* docs: add rapidcheck to vcpkg install list
* Cleaned up and consolidated msvc build files to allow faster builds and easier migration to vs2019.
* test: Suppress false positive leak in secure_allocator
* test: Log output even if fuzzer failed
* test: Add test that mainnet requires standard txs
* chainparams: Remove unused fMineBlocksOnDemand
* test: Add test for unknown args
* gui: Fix open wallet menu initialization order
* net: Use mockable time for tx download
* tests: Make coins_tests/updatecoins_simulation_test deterministic
* devtools: Fetch and display ACKs at sign-off time in github-merge
* getrawtransaction: inform about blockhash argument when lookup fails
* doc: Add release notes for 14897 & 15834
* travis: Use absolute paths for cache dirs
* travis: Fix caching issues
* Improve build-osx formatting
* doc: Remove explicit mention of version from SECURITY.md
* addrdb: Remove temporary files created in SerializeFileDB. Fixes non-determinism in unit tests.
* Add example 2nd arg to signrawtransactionwithkey
* Update configure to reject unsafe miniUPnPc API ver
* Replace remaining fprintf with tfm::format manually
* Failing functional tests stop lcov
* Add log output during initial header sync
* scripted-diff: Replace fprintf with tfm::format
* doc: Rework section on ACK
* tinyformat: Add doc to Bitcoin Core specific strprintf
* Delete error-prone CScript constructor
* devtools: Always use unabbreviated commit IDs in github-merge.py
* depends: xtrans: Configure flags cleanup.
* Fix spelling errors identified by codespell 1.15.0
* fixup: Fix prunning test
* Fix RPC/pruneblockchain returned prune height
* scripted-diff: gitian: Use REFERENCE_DATETIME directly.
* Remove -mempoolreplacement to prevent needless block prop slowness.
* Add test for dumping the private key imported from descriptor
* Extend importmulti descriptor tests
* [test] Add test to check mempool consistency in case of reorgs
* validation: Add missing mempool locks
* txpool: Make nTransactionsUpdated atomic
* doc: update release process with SECURITY.md
* doc: clarify support in SECURITY.md
* scripts: add key for fanquake to trusted keys list
* doc: Add release notes for 15993
* Align formatting with clang-format
* Use PACKAGE_NAME in UPnP description
* Drop support of insecure miniUPnPc versions
* Move DEFAULT_PEERBLOOMFILTERS from validation.h to net_processing.h
* Disable bloom filtering by default.
* Import private keys from descriptor with importmulti if provided
* Add private key derivation functions to descriptors
* [build]: check std::system for -[alert|block|wallet]notify
* [build] MSVC: set HAVE_SYSTEM for desktop apps
* [build] detect std::system or ::wsystem
* Clean up logic in memory_cleanse() for MSVC
* Include core_io.h from core_read.cpp
* Don\'t use global (external) symbols for symbols that are used in only one translation unit
* depends: remove usage of TAR_OPTIONS
* docs: create security policy
* [qa] Test disconnect block failure -> shutdown
* [validation] Crash if disconnecting a block fails
* wallet: do not encrypt wallets with disabled private keys
* tests: Mark unit test blockfilter_index_initial_sync as non-deterministic
* build: remove export GZIP from gitian descriptors
* Add riscv64 to outputs list in release-process.md
* qt: fix opening bitcoin.conf via Preferences on macOS; see #15409
* gui: Set progressDialog to nullptr
* New regression testing for CVE-2018-17144, CVE-2012-2459, and CVE-2010-5137.
* Added comments referencing multiple CVEs in tests and production code.
* Make reasoning about dependencies easier by not including unused dependencies
* Add test for GCC bug 90348
* Don\'t GPG sign intermediate commits with github-merge tool
* gui: Enable console line edit on setClientModel
* Limit Python linting to files in the repo
* gui: Enable open wallet menu on setWalletController
* bitcoind: update -avoidpartialspends description to account for auto-enable for avoid_reuse wallets
* doc: release notes for avoid_reuse
* wallet: enable avoid_partial_spends by default if avoid_reuse is set
* test: add test for avoidreuse feature
* wallet/rpc: add \'avoid_reuse\' option to RPC commands
* wallet/rpc: add setwalletflag RPC and MUTABLE_WALLET_FLAGS
* wallet: enable avoid_reuse feature
* wallet: avoid reuse flags
* wallet: make IsWalletFlagSet() const
* wallet: rename g_known_wallet_flags constant to KNOWN_WALLET_FLAGS
* Fix bug around transaction requests
* Expire old entries from the in-flight tx map
* logging: Add threadsafety comments
* Log early messages with -printtoconsole
* Replace OpenDebugLog() with StartLogging()
* docs: add release note for 14954
* contrib: add curl as a required program in gitian-build.py
* gui: move coin control OK to the right
* wallet: Pass WalletBatch to CWallet::UnsetWalletFlag
* Apply the batch treatment to CWallet::SetAddressBook via ImportScriptPubKeys
* depends: libX
*: --disable-malloc0returnsnull in conf
* Move some of ProcessImport into CWallet::Import
*
* depends: libXext: Bump to 1.3.3 to fix _XEatDataWords
* depends: Purge libtool archives
* depends: Build secondary deps statically.
* Exceptions should be caught by reference, not by value.
* Add vertical spacer
* Remove global symbols: Avoid using the global namespace if possible
* depends: add ability to skip building zeromq
* contrib: use newer config.guess & config.sub in install_db4.sh
* remove parameters -addresstype=legacy in rpc_rawtransaction test
* configure: Add flag for enabling thread_local.
* util: Add type safe GetTime
* doc: add bitcoin_config.h PACKAGE updates to release process
* build: bump bitcoin_config.h packages to v0.18
* wallet_balance.py: Prevent edge cases
* replace tx hash with txid in test rawtransaction
* refactor: Improve CRollingBloomFilter::reset by using std::fill
* bench: Add benchmark for CRollingBloomFilter::reset
* rpc: Mention getwalletinfo where a rescan is triggered
* RPC: Hint for importmulti in help output of importpubkey and importaddress
* parameterize hard coded numbers referring to miner conf window
* depends: switch to secure download of all dependencies
* mempool: remove unused magic number from consistency check
* Make --setup command independent
* depends: add patch to common dependencies
* doc: fix/improve analyzepsbt in doc/psbt.md
* Do not show list for the only recipient.
* Batch writes for importmulti
* Have WalletBatch automatically flush every 1000 updates
* Add AddWatchOnlyWithDB, AddKeyOriginWithDB, AddCScriptWithDB functions
* Fix gitian-build.py --verify option
* Set/unset USE_LXC, USE_VBOX, USE_DOCKER explicitly
* Fix Docker related issues for gitian-build.py
* test: Speed up cache creation
* test: Bump MAX_NODES to 12
* scripted-diff: Rename LockAnnotation to LockAssertion
* Make sure the compile-time locking promises given via LockAnnotation:s hold also in practice at runtime (ifdef DEBUG_LOCKORDER)
* Move LockAnnotation to make it reflect the truth
* Move LockAnnotation from threadsafety.h (imported code) to sync.h (our code)
* Add a \'logpath\' field to getrpcinfo
* rpc: bugfix: Properly use iswitness in converttopsbt
* Remove temporary method assumeLocked(). Remove LockingStateImpl. Remove redundant cs_main locks.
* wallet: Use chain.lock() instead of temporary chain.assumeLocked()
* rpc: Switch touched RPCs to IsValidNumArgs
* Run all lint scripts
* refactoring: IsInitialBlockDownload -> CChainState
* refactoring: FlushStateToDisk -> CChainState
* refactoring: introduce ChainstateActive()
* move-only: make the CChainState interface public
* build with -fstack-reuse=none
* tests: Fail if RPC has been added without tests
* netaddress: Update CNetAddr for ORCHIDv2
* docs: Add productivity notes for \"dummy rebases\"
* [doc] rpcwallet: Only fail rescan when blocks have been pruned
* validation: Hold cs_main when reading chainActive in RewindBlockIndex
* [rpc] deriveaddresses: Correct descriptor checksum in RPCExamples
* Disallow extended encoding for non-witness transactions (take 3)
* Add option to create an encrypted wallet
* [refactor] interfaces: Add missing LockAnnotation for cs_main
* init: Remove dead code in LoadChainTip
* doc: Mention blocksonly in reduce-traffic.md, unhide option
* test: Add test for p2p_blocksonly
* QA: add test for HKDF HMAC_SHA256 L32
* Add HKDF HMAC_SHA256 L=32 implementations
* Add support for descriptors to utxoupdatepsbt
* Abstract out UpdatePSBTOutput from FillPSBT
* Abstract out EvalDescriptorStringOrObject from scantxoutset
* Abstract out IsSegWitOutput from utxoupdatepsbt
* [docs] Update release-notes.md
* [docs] Update release-process.md
* rpc: faster getblockstats using BlockUndo data
* test: Format predicate source as multiline on error
* Give WalletModel::UnlockContext move semantics
* [tests] Make random seed logged and settable
* net: Rename ::fRelayTxes to ::g_relay_txes
* tests: Make msg_block a witness block
* doc: Remove win32 from the release process
* test: Remove True argument to CBlock::serialize
* Show loaded wallets as disabled in open menu instead of nothing
* Add LOCKS_EXCLUDED(cs_main) to LimitValidationInterfaceQueue(...) which does AssertLockNotHeld(cs_main)
* .gitignore: Don\'t ignore depends patches
* Add test for ArgsManager::GetChainName
* Add unit test NextString, ForEachNoDup functions
* util_SettingsMerge test cleanup
* fix static_assert for macro HAVE_THREAD_LOCAL
* Fix portability issue with pthreads
* Document strenghtening
* Add hash strengthening to the RNG
* Do not construct out-of-bound pointers in SHA512/SHA1/RIPEMD160 code
* scripted-diff: Bump copyright headers in wallet
* wallet: Only fail rescan when blocks have actually been pruned
* Add ChaCha20 bench
* test_runner: Move pruning back to extended
* refactoring: remove unused chainActive
* scripted-diff: replace chainActive -> ::ChainActive()
* refactoring: introduce unused ChainActive()
* rename: CChainState.chainActive -> m_chain
* Add ChaCha20 encryption option (XOR)
* rpc: Deprecate getunconfirmedbalance and getwalletinfo balances
* Remove Windows 32 bit build
* [tests] Comment for why logging config is set as command-line args.
* Install bitcoin-wallet manpage.
* [depends] boost: update to 1.70
* Separate reason for premature spends (coinbase/locktime)
* Assert validation reasons are contextually correct
* [refactor] Update some comments in validation.cpp as we arent doing DoS there
* [refactor] Drop unused state.DoS(), state.GetDoS(), state.CorruptionPossible()
* scripted-diff: Remove DoS calls to CValidationState
* [refactor] Prep for scripted-diff by removing some \
s which annoy sed.
* Allow use of state.Invalid() for all reasons
* Fix handling of invalid headers
* [refactor] Use Reasons directly instead of DoS codes
* CorruptionPossible -> BLOCK_MUTATED
* CorruptionPossible -> TX_WITNESS_MUTATED
* LookupBlockIndex -> CACHED_INVALID
* [refactor] Drop redundant nDoS, corruptionPossible, SetCorruptionPossible
* [refactor] Add useful-for-dos \"reason\" field to CValidationState
* rpc: Add lock annotations to block{,header}ToJSON
* Ban all peers for all block script failures
* Clean up banning levels
* [refactor] drop IsInvalid(nDoSOut)
* [refactor] Refactor misbehavior ban decisions to MaybePunishNode()
* [refactor] rename stateDummy -> orphan_state
* Drop obsolete sigops comment
* rpc: Add getbalances RPC
* doc: Add historical release notes for 0.18.0
* rpcwallet: Make helper methods const on CWallet
* Silence GCC 7 warning \"control reaches end of non-void function\" (-Wreturn-type) in psbt.cpp
* GUI: Move QRImageWidget to its own file-pair
* doc: Add release notes for 15730
* rpc: Show scanning details in getwalletinfo
* wallet: Track current scanning progress
* doc: Explain how to pass in non-fundamental types into functions
* [docs] Add doxygen comment for CReserveKey
* [docs] Add doxygen comment for CKeyPool
* rpc: Serialize in getblock without cs_main
* rpc: Use IsValidNumArgs in getblock
* wallet: Use IsValidNumArgs in getwalletinfo rpc
* GUI: Refactor actual QR code rendering into new QRImageWidget::setQR
* [tests] log thread names by default in functional tests
* test: Add reorg test to wallet_balance
* test: Check that wallet txs not in the mempool are untrusted
* test: Add getunconfirmedbalance test with conflicts
* test: Add wallet_balance test for watchonly
* [qa] test_runner: Move feature_pruning to base tests
* Replace deprecated Boost Filesystem function
* [tests] fix block time in feature_pruning.py
* Remove dead code for walletFile check
* threads: add thread names to deadlock debugging message
* threads: prefix log messages with thread names
* tests: add threadutil tests
* threads: introduce util/threadnames, refactor thread naming
* GetKeyBirthTimes should return key ids, not destinations
* Replace CScriptID and CKeyID in CTxDestination with dedicated types
* add missing debian contrib files to tarball
* Remove unused OpenSSL includes to make it more clear where OpenSSL is used
* wallet: Avoid logging no_such_file_or_directory error
* lint: Check that all wallet args are hidden
* wallet: Track scanning duration
* Bugfix: dummywallet: Add -ignorepartialspends to list of ignored wallet options
* dummywallet: Reformat ignored wallet options list
* remove extraneous scope
* wallet: log on rescan completion
* Include bitcoin_config.h in release process
* Align MSVC build options with Linux build ones
* disable HAVE_THREAD_LOCAL on unreliable platforms
* appveyor: Write AATTPACKAGE_NAMEAATT to config
* doc: explain AcceptToMemoryPoolWorker\'s coins_to_uncache
* Remove NOTFOUND transactions from in-flight data structures
* Add an explicit memory bound to m_tx_process_time
* Improve NOTFOUND comment
* Add test for superfluous witness record in deserialization
* Fix missing input template by making minimal tx
* QA/mininode: Send all headers upfront in send_blocks_and_test to avoid sending an unconnected one
* QA: feature_filelock, interface_bitcoin_cli: Use PACKAGE_NAME in messages rather than hardcoding Bitcoin Core
* QA: Avoid re-reading config.ini unnecessarily
* Doc: remove text about txes always relayed from -whitelist
* Align code example with clang-format
* Show recipient list as detailedText of QMessageBox
* Make SendConfirmationDialog fully fledged
* doc: Fix -dustrelayfee= argument docs grammar
* refactor: replace isPotentialtip/waitForNotifications by higher method
* Resolve the qt/guiutil <-> qt/optionsmodal CD
* wallet: add cachable amounts for caching credit/debit values
* test: Add missing syncwithvalidationinterfacequeue to wallet_import_rescan
* Add settings merge test to prevent regresssions
* rpc: Speedup getaddressesbylabel
* Ensure repos are up-to-date
* Add WITH_LOCK macro: run code while locking a mutex
* wallet: Remove unused import checkpoints.h
* Add comments to Python ECDSA implementation
* [POLICY] Make sending to future native witness outputs standard
* Pure python EC
* [wallet] Move maxTxFee to wallet
* tests: fix outdate include in blockfilter_index_tests
* [test] combine_logs: append node stderr and stdout if it exists
* contrib: gh-merge: Use pagination to fetch all review comments
* refactor: Add handleNotifications method to wallet
* Filter IPv6 by ASN
* rpc: Remove dependency on interfaces::Chain in SignTransaction
* test: Add test that addmultisigaddress fails for watchonly addresses
* test: Fixup creatmultisig documentation and whitespace
* doc: Remove upgrade note in release notes from EOL versions
* qt: update request payment button text and tab description
* bench: Add wallet_balance benchmarks
* remove out-of-date comment on pay-to-witness support
* doc: Clarify RPC versioning
* [wallet] move-only: move CReserveKey to be next to CKeyPool
* Include cstring for sanity_test_fdelt if required
* [moveonly] Split glibc sanity_test_fdelt out
* Extract ParseDescriptorRange
* gitignore: add
*.plist (clang-check)
* gitignore: add
*.dat
* doc: mention creating application support bitcoin folder on OSX
* GUI: Options: Remove the upper-bound limit from pruning size setting
* GUI: Options: Set the range of pruning size before loading its value
* [rpc] Remove the addresses field from the getaddressinfo return object
* travis: Bump second timeout to 33 minutes, Add rationale
* scripted-diff: Bump copyright headers in test, bench
* docs: Clarify PR guidelines w/re documentation
* scripted-diff: Rename test_bitcoin to test/setup_common
* doc: describe onlynet option in doc/tor.md
* wallet_bumpfee.py: add test for change key preservation
* add functional tests for feerate bumpfee with adding inputs
* generalize bumpfee to add inputs when needed
* test: Use test_bitcoin setup in bench, Add test utils
* test: Have segwit always active in (Basic)TestingSetup
* docs: Improve netaddress comments
* [cleanup] Remove unused CReserveKey
* [rpc] simplify generate RPC
* bitcoin-wallet tool: Drop libbitcoin_server.a dependency
* Remove access to node globals from wallet-linked code
* bitcoin-wallet tool: Drop MakeChain calls
* [wallet] Refactor CWalletTx::RelayWalletTransaction()
* Avoid redefine warning
* [build] Move AnalyzePSBT from psbt.cpp to node/psbt.cpp
* [docs] Document src subdirectories and different libraries
* [build] Move wallet load functions to wallet/load unit
* [build] Add several util units
* [build] Move several units into common libraries
* [build] Move rpc rawtransaction util functions to rpc/rawtransaction_util.cpp
* [build] Move rpc utility methods to rpc/util
* [build] Move policy settings to new src/policy/settings unit
* [build] Move CheckTransaction from lib_server to lib_consensus
* test: Remove unused imports
* scripted-diff: use self.sync_
* methods
* test: Pass self to test_simple_bumpfee_succeeds
* test: Add BitcoinTestFramework::sync_
* methods
* test: Pass at most one node group to sync_all
* [wallet] Remove unnecessary Chain::Lock parameter from ResendWalletTransactions
* [wallet] Schedule tx rebroadcasts in wallet
* [wallet] Keep track of the best block time in the wallet
* qa: Prevent concurrency issues reading .cookie file
* scripted-diff: Rename sync_blocks to send_blocks to avoid name collisions and confusion
* test: Properly log named args in authproxy
* rpc: Validate maxfeerate with AmountFromValue
* doc: correct bitcoinconsensus_version in shared-libraries
* Upgrade gitian image before signing
* doc: Clarify sendrawtransaction::maxfeerate==0 help
* blockfilter: Update BIP 158 test vectors.
* rpc: Add getblockfilter RPC method.
* init: Add CLI option to enable block filter index.
* index: Access functions for global block filter indexes.
* test: Unit test for block filter index reorg handling.
* test: Unit tests for block index filter.
* index: Implement lookup methods on block filter index.
* index: Implement block filter index with write operations.
* serialize: Serialization support for big-endian 32-bit ints.
* blockfilter: Functions to translate filter types to/from names.
* index: Ensure block locator is not stale after chain reorg.
* index: Allow atomic commits of index state to be extended.
* Take non-importing keys into account for spendability warning in descriptor import
* Update bips.md for 0.18.0
* Mention new descriptor RPCs in descriptors.md
* travis: Properly cache and error on timeout
* Mention new PSBT RPCs in psbt.md
* Remove unused var
* rpc: getrpcinfo docs
* qa: Make swap_magic_bytes in p2p_invalid_messages atomic
* Speed up deriveaddresses for large ranges
* Import all origin info in importmulti; even for non-importing pubkeys
* Keep full pubkeys in FlatSigningProvider::origins
* wallet: Get all balances in one call
* rpc: RPCHelpMan: Always push_name when outer type is an object
* rpc: Add some doxygen comments to utils
* change default Python block serialization to witness
* [qa] Overhaul p2p_compactblocks.py
* [wallet] Remove ResendWalletTransactionsBefore
* gui: Generate bech32 addresses by default
* Squashed \'src/secp256k1/\' changes from 0b70241850..b19c000063
* qa: Check unconfirmed balance after loadwallet
* wallet: Update transactions with current mempool after load
* interfaces: Add Chain::requestMempoolTransactions
* [rpc] remove resendwallettransactions RPC
* Disconnect BlockNotifyGenesisWait and RPCNotifyBlockChange properly. Remove no-op CClientUIInterface::[signal_name]_disconnect.
* [tests] make pruning test faster
* [tests] style fixes in feature_pruning.py
* travis: Switch to ubuntu keyserver to avoid timeouts
* Silence \"Test case [...] did not check any assertions\" warnings when running \"test_bitcoin --log_level=test_suite\"
* Avoid repeated log messages in tests by connecting to signal handlers (ThreadSafeMessageBox, etc.) only once
* tests: Reduce noise level in test_bitcoin output
* Comment for seemingly duplicate LIBBITCOIN_SERVER
* doc: rpc-mining: Clarify error messages
* doc/dependencies: Fix typo libsrvg->librsvg
* rpc: Fix help text for signtransactionwithXXX
* release: Update the Windows Codesigning certificate
* refactor: combine Chain::findFirstBlockWithTime/findFirstBlockWithTimeAndHeight
* wallet: Move CWallet::ReacceptWalletTransactions locks to callers
* [tests] Add test for wallet rebroadcasts
* QA: add test for CKey::Negate()
* CKey: add method to negate the key
* Add documentation of struct PSBTAnalysis et al
* Refactor analyzepsbt for use outside RPC code
* Move PSBT decoding functions from core_io to psbt.cpp
* Poly1305: tolerate the intentional unsigned wraparound in poly1305.cpp
* Add Poly1305 bench
* Add Poly1305 implementation
* [docs] fix comment: the return value of findFork is _not_ an ancestor when the specified block is on the active chain
* Remove unused AES-128 code
* depends: latest rapidcheck, use INSTALL_ALL_EXTRAS
* rpc: Rename size to vsize in mempool related calls
* Handle the result of posix_fallocate system call
* Resolve the checkpoints <-> validation CD.
* net: Remove unused unsanitized user agent string CNode::strSubVer
* torcontrol: Use the default/standard network port for Tor hidden services, even if the internal port is set differently
* Interrupt orphan processing after every transaction
* [MOVEONLY] Move processing of orphan queue to ProcessOrphanTx
* Simplify orphan processing in preparation for interruptibility
* docs: Add more tips to productivity.md
* [docs] remove reference to signrawtransaction in the developer docs.
* doc: Fix all typos reported by codespell
* contrib: gh-merge: Include review comments in merge commit
* [rpc] Remove deprecated functionality message from validateaddress help
* [rpc] Remove signrawtransaction warning
* gui: Defer removeAndDeleteWallet when no modal widget is active
* Move g_is_mempool_loaded into CTxMemPool::m_is_loaded
* rpc: Expose g_is_mempool_loaded via getmempoolinfo and /rest/mempool/info.json
* doc: Add release notes for 15629
* qa: Add test for missing testnet section in conf file
* doc: documents how to calculate m_assumed_blockchain_size and m_assumed_chain_state_size on the release process.
* doc: Add release notes for 15596
* Doc: update ACK description in CONTRIBUTING.md
* refactor: Remove unused function
* qa: mininode: Clearer error message on invalid magic bytes
* doc: Add release notes for 15620
* init: Throw error when network specific config is ignored
* rpc: Mention all output types in decodescript doc
* refactor: Expose UndoReadFromDisk in header
* rpc: Uncouple rpcs from maxTxFee global
* rpc: Use IsValidNumArgs over hardcoded size checks
* refactor: Remove unused function
* depends: qt: Don\'t hardcode pwd path
* depends: tar: Always extract as yourself
* depends: Defer to Python detected by autoconf
* Do not relay banned IP addresses
* rpc: decodescript use IsValidNumArgs over hardcoded check
* rpc: Clarify decodescript RPCResult doc
* Add Gitian key for droark
* Set \'distro\' explicitly
* [docs] release note for disabling reject messages by default
* wallet: Improve log output for errors during load
* wallet: Remove unused GetLegacyBalance
* scripted-diff: wallet: Rename pcoin to wtx
* build: depends: Switch to python3
* Generate log entry when blocks messages are received unexpectedly.
* wallet/rpc: add maxfeerate parameter to sendrawtransaction
* wallet/rpc: add maxfeerate parameter to testmempoolaccept
* wallet: Log and ignore errors in ListWalletDir and IsBerkeleyBtree
* rpc: Document that minconf is an ignored dummy value
* rpc: return a number for estimated_feerate in analyzepsbt
* doc: correct analysepsbt rpc doc
* Fix overflow bug in analyzepsbt fee: CAmount instead of int
* depends: native_protobuf: avoid system zlib
* Enable TLS in link to chris.beams.io
* dead code: Remove dead option in HexStr conversion
* cli: remove duplicate wallet fields from -getinfo
* cli: replace testnet with chain and return network name as per BIP70.
* doc: remove release note fragments
* doc: correct path in build-windows.md
* rest/rpc: Make mempoolinfo atomic
* rpc: Speedup getrawmempool when verbose=true
* build: use full version string in setup.exe
* gitian: Improve error handling
* Remove remaining wallet accesses to node globals
* test: Refactor vout fetches in rpc_rawtransaction
* tests: Print remaining jobs in test_runner.py
* wallet_bumpfee.py: Make sure coin selection produces change
* Remove use of CCoinsViewMemPool::GetCoin in wallet code
* Remove use of CRPCTable::appendCommand in wallet code
* Remove use CValidationInterface in wallet code
* Document assumptions about C++ compiler
* Remove sharp edge (uninitialized m_filter_type) when using the compiler-generated constructor for BlockFilter
* In lint-format-strings, open files sequentially
* test: .style.yapf: Set column_limit=160
* test: Remove python3.4 workaround in feature_dbcrash
* doc: Move wallet lock annotations to header
* Suggested interfaces::Chain cleanups from #15288
* contrib: Bump gitian descriptors for 0.19
* doc: Remove pr release notes file in wrong dir
* Add sizeof(size_t) assumptions
* Make SignatureExtractorChecker private to its own file
* .python-version: Specify full version 3.5.6
* scripted-diff: Update copyright in ./test
* scripted-diff: test: Remove brackets after assert
* build: Require python 3.5
* scripted-diff: test: Use py3.5 bytes::hex() method
* build: Bump version to 0.18.99
* docs: Update Transifex links
* docs: add \"sections\" info to example bitcoin.conf
* [addrman] Improve collision logging and address nits
* [wallet] remove unused GetScriptForMining
* Add regtests for HTTP status codes.
* fuzz: Link BasicTestingSetup (shared with unit tests)
* test: Move main_tests to validation_tests
* test: Remove useless test_bitcoin_main.cpp
* test: Add missing LIBBITCOIN_ZMQ to test_test_bitcoin_LDADD
* [addrman] Ensure collisions eventually get resolved
* [rpc] remove deprecated generate method
* [net] feeler connections can be made to outbound peers in same netgroup
* test: Add .style.yapf
* [addrman] Improve tried table collision logging
* bench: Benchmark MempoolToJSON
* rpc: Pass mempool into MempoolToJSON
* Style cleanup.
* flatfile: Unit tests for FlatFileSeq methods.
* scripted-diff: Rename CBlockDiskPos to FlatFilePos.
* Move CDiskBlockPos from chain to flatfile.
* validation: Refactor file flush logic into FlatFileSeq.
* validation: Refactor block file pre-allocation into FlatFileSeq.
* validation: Refactor OpenDiskFile into method on FlatFileSeq.
* validation: Extract basic block file logic into FlatFileSeq class.
* util: Move CheckDiskSpace to util.
* Change brace formatting
* Remove use of IsInitialBlockDownload in wallet code
* Remove use of uiInterface.LoadWallet in wallet code
* circular-dependencies: Avoid treating some .h/.cpp files as a unit
* Remove use of AcceptToMemoryPool in wallet code
* Remove uses of InitMessage/Warning/Error in wallet code
* Remove uses of GetAdjustedTime in wallet code
* Remove use of g_connman / PushInventory in wallet code
* Remove uses of g_connman in wallet code
* Remove uses of fPruneMode in wallet code
* Remove uses of fee globals in wallet code
* Remove use of CalculateMemPoolAncestors in wallet code
* Remove use of GetTransactionAncestry in wallet code
* Remove use of GetCountWithDescendants in wallet code
* Remove use of IsRBFOptIn in wallet code
* Remove uses of CheckFinalTx in wallet code
* gui: Drop unused return values in WalletFrame
* Remove travis_wait from lint script
* depends: Add commands for each package for each stage
* depends: Preprocessing doesn\'t care about deps
* [doc] productivity: more advanced git range-diff
* [doc] devtools: mention clang-format dependency
* [doc] productivity: fix broken link
* Fix lack of warning of unrecognized section names
* tests: Add script checking for deterministic line coverage
* gui: Uppercase bech32 addresses in qr codes
* cirrus ci: Inital config
* speed up Unserialize_impl for prevector
* [doc] descriptor: explain GetPubKey() usage with cached public key
* scripted-diff: rename DescriptorImpl m_script_arg to m_subdescriptor_arg
* Add warning messages to the debug window
* Move non-linux source tarball to bitcoin-binaries
* doc: Clarify -blocksdir usage
* Bugfix: test/functional/rpc_psbt: Correct test description comment
* Bugfix: test/functional/rpc_psbt: Remove check for specific error message that depends on uncertain assumptions
* fix an undefined behavior in uint::SetHex
* Lift prevector default vals to the member declaration
* Disallow extended encoding for non-witness transactions
* Allow quicker shutdowns during LoadBlockIndex()
* configure: Initialise assembly enable_
* variables
* configure: Skip assembly support checks, when assembly is disabled
* configure: Invert --enable-asm help string since default is now enabled
* Thu Aug 22 2019 marecAATTdetebe.org- Update to version 0.18.1:
* doc: Bump manpages pre-final
* build: set CLIENT_VERSION_RC to 0 pre-final
* Doc: remove old release notes about systemd and riscv changes
* doc: Update release notes for rc1
* doc: Update manpages for rc1
* build: Bump version to 0.18.1rc1
* qt: pre-rc1 translations update
* net: Make poll in InterruptibleRecv only filter for POLLIN events. poll should block until there is data to be read or the timeout expires.
* fix: tor: Call event_base_loopbreak from the event\'s callback
* qt: Assert QMetaObject::invokeMethod result
* gui: Fix missing qRegisterMetaType(WalletModel
*)
* signrawtransactionwithkey: report error when missing redeemScript/witnessScript param
* .python-version: Bump to 3.5.6
* Add comments to Python ECDSA implementation
* Set AA_EnableHighDpiScaling attribute early
* gui: Fix open wallet menu initialization order
* Make and get the multisig redeemscript and destination in one function instead of two
* Pure python EC
* test: Add test that addmultisigaddress fails for watchonly addresses
* test: Fixup creatmultisig documentation and whitespace
* Replace remaining fprintf with tfm::format manually
* scripted-diff: Replace fprintf with tfm::format
* Exceptions should be caught by reference, not by value.
* tinyformat: Add doc to Bitcoin Core specific strprintf
* rpc: bugfix: Properly use iswitness in converttopsbt
* Bugfix: test/functional/rpc_psbt: Correct test description comment
* Bugfix: test/functional/rpc_psbt: Remove check for specific error message that depends on uncertain assumptions
* rpc: Switch touched RPCs to IsValidNumArgs
* Add example 2nd arg to signrawtransactionwithkey
* fixup: Fix prunning test
* Fix RPC/pruneblockchain returned prune height
* gui: Enable open wallet menu on setWalletController
* Bugfix: dummywallet: Add -ignorepartialspends to list of ignored wallet options
* dummywallet: Reformat ignored wallet options list
* Add test for GCC bug 90348
* gui: Set progressDialog to nullptr
* gui: Enable console line edit on setClientModel
* qt: fix opening bitcoin.conf via Preferences on macOS; see #15409
* Disallow extended encoding for non-witness transactions (take 3)
* Add test for superfluous witness record in deserialization
* Fix missing input template by making minimal tx
* Disallow extended encoding for non-witness transactions
* Show loaded wallets as disabled in open menu instead of nothing
* Install bitcoin-wallet manpage.
* Doc: remove text about txes always relayed from -whitelist
* doc: Mention blocksonly in reduce-traffic.md, unhide option
* test: Add test for p2p_blocksonly
* test: Format predicate source as multiline on error
* net: Rename ::fRelayTxes to ::g_relay_txes
* build with -fstack-reuse=none
* doc: Clean out release notes post-0.18.0
* Tue Apr 30 2019 marecAATTdetebe.org- Update to version 0.18.0:
* build: Bump version to -final
* doc: 0.18: Remove TODO from release notes
* build: Bump version to rc4
* doc: Move release notes from wiki
* gui: Pre-rc4 translations update
* GUI: Options: Remove the upper-bound limit from pruning size setting
* GUI: Options: Set the range of pruning size before loading its value
* Revert \"Change in transaction pull scheduling to prevent InvBlock-related attacks\"
* Take non-importing keys into account for spendability warning in descriptor import
* Import all origin info in importmulti; even for non-importing pubkeys
* Keep full pubkeys in FlatSigningProvider::origins
* doc: Clarify RPC versioning
* doc: describe onlynet option in doc/tor.md
* doc/dependencies: Fix typo libsrvg->librsvg
* doc: mention creating application support bitcoin folder on OSX
* gitignore: add
*.plist (clang-check)
* gitignore: add
*.dat
* [rpc] Remove the addresses field from the getaddressinfo return object
* rpc: getrpcinfo docs
* Mention new descriptor RPCs in descriptors.md
* Mention new PSBT RPCs in psbt.md
* doc: correct bitcoinconsensus_version in shared-libraries
* Update bips.md for 0.18.0
* qa: Check unconfirmed balance after loadwallet
* wallet: Update transactions with current mempool after load
* interfaces: Add Chain::requestMempoolTransactions
* wallet: Move CWallet::ReacceptWalletTransactions locks to callers
* [tests] Add test for wallet rebroadcasts
* Interrupt orphan processing after every transaction
* [MOVEONLY] Move processing of orphan queue to ProcessOrphanTx
* Simplify orphan processing in preparation for interruptibility
* doc: Update manpages for changes since rc2
* release: Update the Windows Codesigning certificate
* build: Bump to rc3
* qt: Translations update pre-rc3
* [rpc] Remove deprecated functionality message from validateaddress help
* gui: Defer removeAndDeleteWallet when no modal widget is active
* Do not relay banned IP addresses
* [docs] document BIP 61 deprecation
* [p2p] Enable BIP 61 REJECT messages by default
* doc: Update manpages
* build: bump to rc2
* wallet: Log and ignore errors in ListWalletDir and IsBerkeleyBtree
* doc: Pre-rc2 translations update
* Fix overflow bug in analyzepsbt fee: CAmount instead of int
* rpc: return a number for estimated_feerate in analyzepsbt
* doc: correct analysepsbt rpc doc
* build: use full version string in setup.exe
* qt: periodic translations update
* [addrman] Improve collision logging and address nits
* [addrman] Ensure collisions eventually get resolved
* [net] feeler connections can be made to outbound peers in same netgroup
* [addrman] Improve tried table collision logging
* gitian: Improve error handling
* doc: Remove pr release notes file in wrong dir
* build: set RC1
* doc: Merge release notes fragments
* Make last disconnected block BLOCK_FAILED_VALID, even when aborted
* doc: Remove ppa from linux build instructions
* build: Bump version to 0.18.0
* modify test for memory locked in case locking pages failed at some point
* [rpc] deriveaddresses: add range to CRPCConvertParam
* Make deriveaddresses use stop/[start,stop] notation for ranges
* test: Bump timeout on tests that timeout on windows
* appveyor: Don\'t build debug libraries instead of \"build and delete\"
* Optimization: don\'t add txn back to mempool after 10 invalidates
* Prevent callback overruns in InvalidateBlock and RewindBlockIndex
* Release cs_main during InvalidateBlock iterations
* Use stop/[start,stop] notation in importmulti desc range
* Add support for stop/[start,stop] ranges to scantxoutset
* Support ranges arguments in RPC help
* Add ParseRange function to parse args of the form int/[int,int]
* msvc: Use a single file to specify the include path
* doc: Update release process for snap package
* add rpc_misc.py, mv test getmemoryinfo, add test mallocinfo
* refactor: Use RPCHelpMan::IsValidNumArgs in getrawtransaction
* doc: Remove misleading hint in getrawtransaction
* test: Simplify create_cache
* rpc/gui: Remove \'Unknown block versions being mined\' warning
* Enable PID file creation on Windows - Add available WIN PID function - Consider WIN32 in each relevant case - Add new preprocessor definitions to suppress warning - Update error message for generic OS
* Call InvalidateBlock without cs_main held
* Make RewindBlockIndex interruptible
* Call RewindBlockIndex without cs_main held
* Release cs_main during RewindBlockIndex operation
* Merge the disconnection and erasing loops in RewindBlockIndex
* Move erasure of non-active blocks to a separate loop in RewindBlockIndex
* Abstract EraseBlockData out of RewindBlockIndex
* wallet: Use fsbridge::ifstream to fix Windows path issue
* gui: Fix async open wallet call order
* refactor: Drop redundant wallet reference
* rpc: Actually throw help when passed invalid number of params
* rpc: Add RPCHelpMan::IsValidNumArgs()
* qa: Fix wallet_txn_doublespend issue
* qa: Always refresh stale cache to be out of ibd
* qa: Remove mocktime unless required
* [test] functional: set cwd of nodes to tmpdir
* tests: remove byte.hex() to keep compatibility
* Add missing #include.
* Address test todos by removing -txindex to nodes. Originally added when updating getrawtransaction to stop searching unspent utxos.
* Use a single wallet batch for UpgradeKeyMetadata
* appveyor: Remove unused NDEBUG removal
* scripted-diff: Remove NDEBUG pre-define
* Update assumevalid, minimumchainwork, and getchaintxstats to height 563378.
* [Doc] importmulti: add missing description of keypool option
* [Doc] add missing newline to witnessScript in listunspent help
* Implement analyzepsbt RPC and tests
* Add checksums to descriptors.md
* Make descriptor checksums mandatory in deriveaddresses and importmulti
* Add getdescriptorinfo to compute checksum
* Descriptor checksum
* Move PSBT UTXO fetching to a separate method
* Figure out what is missing during signing
* Implement joinpsbts RPC and tests
* Implement utxoupdatepsbt RPC and tests
* doc: update FreeBSD build guide for 12.0
* tests: Add missing cs_main locks required when accessing pcoinsdbview, pcoinsTip or pblocktree
* Import public keys in order
* Test pubkey import to keypool
* Add option to importmulti add an imported pubkey to the keypool
* Fetch keys from keypool when private keys are disabled
* Add a method to add a pubkey to the keypool
* Add release notes for importing key origin info change
* Test importing descriptors with key origin information
* Import KeyOriginData when importing descriptors
* Implement a function to add KeyOriginInfo to a wallet
* Store key origin info in key metadata
* Move all PID file stuff to init.cpp
* fuzz: test_runner: Better error message when built with afl
* travis: Combine --disable-bip70 into existing job
* test: txindex: interrupt threadGroup before calling destructor
* Remove hdmasterkeyid
* Add a method to CWallet to write just CKeyMetadata
* Add WriteHDKeypath function and move
*HDKeypath to util/bip32.{h,cpp}
* Refactor keymetadata writing to a separate method
* Remove unused TransactionError constants
* [build] AppVeyor: clean cache when build configuration changes
* [build] Makefile.am: add rule for src/bitcoin-wallet
* Add compile time verification of assumptions we\'re currently making implicitly/tacitly
* fixes m_assumed_blockchain_size variables values:
* msvc: Fix silent merge conflict between #13926 and #14372 part II
* Bump minimum Qt version to 5.5.1
* qa: Add test/fuzz/test_runner.py
* fuzz: Script validation flags
* fuzz: Move deserialize tests to test/fuzz/deserialize.cpp
* Remove manual byte editing in wallet_tx_clone func test
* Add release note for listunspent P2WSH change
* Add test for P2SH-P2WSH in signrawtransactionwithkey and listunspent
* Make listunspent and signrawtransaction RPCs support witnessScript
* Log full paths for wallets
* gui: Add close wallet action
* gui: Add closeWallet to WalletController
* interfaces: Add remove to Wallet
* Replace script name with special parameter
* Remove unnecessary const_cast
* [wallet] Close bdb when flushing wallet.
* [rpc] mining: Omit uninitialized currentblockweight, currentblocktx
* tests: Added missing tests for RPC wallet errors
* Factor out combine / finalize / extract PSBT helpers
* Remove op== on PSBTs; check compatibility in Merge
* Switch away from exceptions in refactored tx code
* appveyor: Remove outdated libraries
* tests: accept unicode characters on Windows
* Move PSBT definitions and code to separate files
* Factor BroadcastTransaction out of sendrawtransaction
* Split DecodePSBT into Base64 and Raw versions
* Add pf_invalid arg to std::string DecodeBase{32,64}
* Travis: Add test without BIP70 (but still full wallet + tests)
* GUI: If BIP70 is disabled, give a proper error when trying to open a payment request file
* GUI: If BIP70 is disabled, attempt to fall back to BIP21 parsing
* RPCHelpMan: Check default values are given at compile-time
* trivial: correct parameter name in comments
* [wallet] Support creating a blank wallet
* Move ParseConfirmTarget from rpc/mining to rpc/util
* Move maxTxFee initialization to init.cpp
* qa: Add tool-prefix to functional test readme
* A few textual improvements
* test_runner: Remove unused --force option
* Avoid triggering undefined behaviour (std::memset(nullptr, 0, 0)) if an invalid string is passed to DecodeSecret(...)
* wallet: Add lock annotation for mapAddressBook
* Change in transaction pull scheduling to prevent InvBlock-related attacks
* util: Add SetupHelpOptions()
* doc: Add missing wallet-tool manpages
* contrib: Add missing wallet tool to gen-manpages.sh
* Update linearize-hashes.py
* qa: Drop RPC connection if --usecli
* travis: Only exit early if compilation took longer than 30 min
* doc: Add separate productivity notes document
* Add release notes for importmulti descriptor support
* Add test for importing via descriptor
* [wallet] Allow descriptor imports with importmulti
* [wallet] Refactor ProcessImport() to call ProcessImportLegacy()
* [wallet] Add ProcessImportLegacy()
* [wallet] Refactor ProcessImport()
* rpc: Fix for segfault if combinepsbt called with empty inputs
* Fix issue #9683 \"gui, wallet: random abort (segmentation fault) running master/HEAD\".
* Fix build after pr 15266 merged
* qa: Test .walletlock file is closed
* netaddress: Make IPv4 loopback comment more descriptive
* netaddress: Fix indentation in IsLocal
* net: Correct comparison of addr count
* [Docs] Small updates to getrawtransaction description
* remove deprecated mentions of signrawtransaction from fundraw help
* qt: Pre-0.18 split-off translations update
* init: Modify docs and add release note for 12255
* msvc: add rapid check property tests
* gui: Show indeterminate progress dialog while opening walllet
* gui: Add OpenWalletActivity
* wallet: Close wallet env lock file
* wallet: Close dbenv error file db.log
* interfaces: Avoid interface instance if wallet is null
* gui: Add thread to run background activity in WalletController
* gui: Add Open Wallet menu
* gui: Add openWallet and getWalletsAvailableToOpen to WalletController
* interfaces: Add loadWallet to Node
* wallet: Factor out LoadWallet
* Use RdSeed when available, and reduce RdRand load
* Check m_internals in UnregisterValidationInterface
* gui: Fix m_node.startShutdown() order
* gui: Expose BitcoinGUI::unsubscribeFromCoreSignals
* gui: Fix WalletController deletion
* tests: Make updatecoins_simulation_test deterministic
* test: Fix race in p2p_invalid_messages
* travis: Revert \"Run extended tests once daily\"
* test: Make bloom tests deterministic
* Make PID file creating errors fatal
* Improve PID file removing errors logging
* msvc: Fix silent merge conflict between #13926 and #14372
* Rename Chain getLocator -> getTipLocator
* Drop redundant get_value_or
* Fix ScanForWalletTransactions start_block comment
* wallet: Add missing cs_db lock
* Document rescanblockchain returned stop_height being null
* doc: Add cs_main lock annotations for mapBlockIndex
* travis: Save cache when compilation took very long
* Add suggested rescanblockchain comments
* Update ScanForWalletTransactions result comment
* Rename ScanResult stop_block field
* Update release notes through to cb35f1d3
* Release notes: integrate detached & rm backports
* travis: Document whether functional tests are run in the job name
* Revert \"travis: Compile trusty with depends for now\"
* Prefer boost::optional#get_value_or over #value_or
* Piecewise construct to avoid invalid construction
* Do not import private keys to wallets with private keys disabled
* Refactor importwallet to extract data from the file and then import
* Slight tweak to the verify-commits script directions
* tests: unify RPC argument to cli argument conversion and handle dicts and lists
* travis: Remove unused FUNCTIONAL_TESTS_CONFIG
* msvc: build leveldb locally
* msvc: build secp256k1 locally
* Fix assertion in CKey::SignCompact
* gdb attaching to process during tests has non-sudo solution
* Explain that unused mempool memory is added to -dbcache
* [tests] Add wallet-tool test
* [tools] Add wallet inspection and modification tool
* Remove \'boost::optional\'-related gcc warnings
* build: prefer python3.4 even if newer versions are present on the system
* Correct units for \"-dbcache\" and \"-prune\"
* test: Build fuzz targets into seperate executables
* log: Construct global logger on first use
* wallet: Fixup rescanblockchain result doc
* [rpc] util: add deriveaddresses method
* doc: correct logging rpc return type and example
* travis: Compile trusty with depends for now
* travis: Compile once on trusty
* Add gitian PGP key for hebasto
* rpc: Compile on GCC4.8
* qa: Use wallet to retrieve raw transactions
* [RPC] Update getrawtransaction interface
* Squashed \'src/leveldb/\' changes from 524b7e36a8..f545dfabff
* build: Remove WINVER pre define in Makefile.leveldb.inlcude
* [test] fuzz: make test_one_input return void
* Trivial: Doxygenize existing CBufferedFile and VectorReader comments
* RPCHelpMan: Pass through Result and Examples
* Descriptor expansions only need pubkey entries for PKH/WPKH
* qa: Style-only fixes in touched files
* Scripts and tools: Drop no-longer-relevant copyright holder names
* Scripts and tools: Fix devtools/copyright_header.py to always honor exclusions
* Prevent mutex lock fail even if --enable-debug
* Trivial: fixup a few doxygen comments
* Docs: Update python docs to reflect that wildcard imports are disallowed
* Drop defunct Windows compat fixes
* qa: Add tests for invalid message headers
* tests: unify RPC argument to cli argument conversion and handle dicts and lists
* [doc] add notes on release notes
* submitheader: more directly test missing prev block header
* remove some magic mining constants in functional tests
* Doc: add information about security to the JSON-RPC doc
* Notify the GUI that the keypool has changed to set the receive button
* Added some factors that affect the dependency list
* windows: Call SetProcessDEPPolicy directly
* windows: Set _WIN32_WINNT to 0x0601 (Windows 7)
* Allow connections from misbehavior banned peers.
* Default -whitelistforcerelay to off
* docs: add perf section to developer docs
* tests: add utility to easily profile node performance with perf
* Fix macOS launch-at-startup memory issue
* Qt: remove macOS launch-at-startup option when compiled with > macOS 10.11
* Check for more than private keys disabled to show receive button
* [Docs] add short documentation for /rest/blockhashbyheight
* [QA] add rest tests for /rest/blockhashbyheight/.
* REST: add \"blockhashbyheight\" call, fetch blockhash by height
* Delete README_osx.md and move its contents into build-osx.md
* lint: Enable python linters via an array
* Remove errant past from walletcreatefundedpsbt for nLocktime replaceability
* gui: Fix window title update
* Add locking annotation for vNodes. vNodes is guarded by cs_vNodes.
* zmq: log outbound message high water mark when reusing socket
* Update all subprocess.check_output functions in CI scripts to be Python 3.4 compatible
* Update zmq to 4.3.1
* rpc: remove duplicate solvable field from getaddressinfo
* gui: Refactor to use WalletController
* gui: Add WalletController
* gui: Use AutoConnection for WalletModel::unload signal
* Add comment describing fDisconnect behavior
* docs: Spelling error fix on fuzzing.md
* Document RNG design in random.h
* Use secure allocator for RNG state
* Encapsulate RNGState better
* DRY: Implement GetRand using FastRandomContext::randrange
* Sprinkle some sweet noexcepts over the RNG code
* Remove hwrand_initialized.
* Switch all RNG code to the built-in PRNG.
* Integrate util/system\'s CInit into RNGState
* Abstract out seeding/extracting entropy into RNGState::MixExtract
* Add thread safety annotations to RNG state
* Rename some hardware RNG related functions
* Automatically initialize RNG on first use.
* Don\'t log RandAddSeedPerfmon details
* build: Drop macports support
* scripted-diff: batch-recase BanMan variables
* banman: Add, use CBanEntry ctor that takes ban reason
* banman: reformulate nBanUtil calculation
* banman: add thread annotations and mark members const where possible
* scripted-diff: batch-rename BanMan members
* net: move BanMan to its own files
* banman: pass in default ban time as a parameter
* banman: pass the banfile path in
* banman: create and split out banman
* net: split up addresses/ban dumps in preparation for moving them
* tests: remove member connman/peerLogic in TestingSetup
* net: Break disconnecting out of Ban()
* Remove no longer needed shellcheck suppressions
* Fix warnings introduced in shellcheck v0.6.0
* Remove repeated suppression. Fix indentation.
* Pin shellcheck version to v0.6.0
* qa: Improve tests of /rest/headers and /rest/block
* doc: /rest/block responds with 404 if block does not exist
* qa: Remove race between connecting and shutdown on separate connections
* Improve \"help-console\" message
* doc: Explain empty result of /rest/headers
* [docs] Expand help text for importmulti changes
* Fix remaining compiler warnings (MSVC). Move disabling of specific warnings from /nowarn to project file.
* [doc] explain what .python-version does
* Remove remaining chainActive references from CWallet
* Convert CWallet::ScanForWalletTransactions and SyncTransaction to the new Chain apis
* Add findFork and findBlock to the Chain interface
* Add time methods to the Chain interface
* Add height, depth, and hash methods to the Chain interface
* gui: Show current wallet name in window title
* gui: Keep network style in BitcoinGUI
* gui: Remove unused return type in some BitcoinGUI methods
* refactor/lint: Add ignored suggestions to an array
* doc: Add release notes for unloadwallet change to synchronous call
* rpc: Make unloadwallet wait for complete wallet unload
* Add workaround for QProgressDialog bug on macOS
* Fix wallet selector size adjustment
* contrib: Allow use of github API authentication in github-merge
* contrib: Add support for http[s] URLs in github-merge
* contrib: Detailed reporting for http errors in github-merge
* qa: Ignore shellcheck warning SC2236
* Drop IsLimited in favor of IsReachable
* Use FRC::randbytes instead of reading >32 bytes from RNG
* Replace remaining 0 with nullptr in Qt code
* Don\'t use zero as null pointer constant (-Wzero-as-null-pointer-constant)
* configure: bitcoin-tx doesn\'t need libevent, so don\'t pull it in
* Use C++11 default member initializers
* util: Make ToLower and ToUpper take a char
* util: remove unused [U](BEGIN|END) macros
* Replace use of BEGIN and END macros on uint256
* Remove redundant stopExecutor() signal
* Remove redundant stopThread() signal
* Add checksum in gitian build scripts for ossl
* Do not deselect peer when switching away from tab
* Improve Peers tab layout
* docs: Clarifying testing instructions
* Fail if either disk space check fails
* Error if rpcpassword contains hash in conf sections
* docs: Add FreeBSD build notes link to doc/README.md
* Fix download link
* Fix out-of-bounds write in case of failing mmap(...) in PosixLockedPageAllocator::AllocateLocked
* build: Allow to configure --with-sanitizers=fuzzer
* Use C++11 default member initializers
* test: Run invalid_txs.InputMissing test in feature_block
* Fix the build problem in libbitcoin_server
* init: Use systemd automatic directory creation
* [tests] move wallet util functions to wallet_util.py
* [tests] tidy up wallet_importmulti.py
* Qt: Fix update headers-count
* Qt: update header count regardless of update delay
* Fix minimized window bug on Linux
* qt: Use WalletModel
* instead of wallet name in console window
* qt: Use WalletModel
* instead of wallet name in main window
* qt: Factor out WalletModel::getDisplayName()
* rpc: Avoid permanent cs_main lock in getblockheader
* Add BitcoinApplication & RPCConsole tests
* Move BitcoinApplication to header so it can be tested
* Use std::vector API for construction of test data.
* test: Correct ineffectual WithOrVersion from transactions_tests
* Add names to Travis jobs
* rpc: Document bytessent_per_msg and bytesrecv_per_msg
* gui: Fix for Incorrect application name when passing -regtest
* Release notes: integrate detached release notes
* Release notes: update notes through fb52d0684
* Don\'t label transactions \"Open\" while catching up
* doc: Add getrpcinfo release notes
* qa: Add tests for getrpcinfo
* rpc: Add getrpcinfo command
* rpc: Track active commands
* test: Fix rpc_net.py \"pong\" race condition
* [rpc] Correct reconsiderblock help text, add test
* Botbot.me (IRC logs) not available anymore
* [Trivial] Update license year range to 2019
* test: Add basic test for BIP34
* Bump manpages
* Update copyright headers to 2018
* IsReachable is the inverse of IsLimited (DRY). Includes unit tests
* Increase timeout of featuer_assumevalid test to fix flaky tests
* If tests are ran with (ASan + LSan), Docker needs access to ptrace
* Update Travis base OS to Xenial
* wallet: Avoid leaking locktime fingerprint when anti-fee-sniping
* Get more info about GUI-related issue on Linux
* [test] wallet_txn_clone: Correctly clone txin sequence
* doc: Add historical release notes for 0.17.1
* whitespace: Split ~300 char line into multiple ones
* scripted-diff: Rename rpc_timewait to rpc_timeout
* scripted-diff: Remove unused \'split\' parameter to setup_network
* validation: Add cs_main locking annotations
* blockfilter: Remove default clause in switch statement.
* test: Avoid racy test p2p_timeouts
* Fix minor grammar error in doc
* Remove misplaced Q_UNUSED and others enhancements
* doc: Add comment to cs_main and mempool::cs
* test: Bump timeout to run tests in travis thread sanitizer
* Fix broken notificator on GNOME
* rpc: Fix data race (UB) in InterruptRPC()
* Add suppression for InterruptRPC (fRPCRunning) data race
* Modify build instructions to work with Command Prompt as well as PowerShell; other minor changes
* Made expicit constructor CTransaction(const CMutableTransaction &tx).
* Minimal changes to comply with explicit CMutableTransaction -> CTranaction conversion.
* wallet: Initialize stop_block to nullptr in CWallet::ScanForWalletTransactions
* test: Add missing validation locks
* test: Add comment to g_insecure_rand_ctx
* clarifying getrawtransaction[time] get help text
* test: Undo thread_local g_insecure_rand_ctx
* Making supported operating systems more clear
* travis: Use trap and set -e errtrace
* build: Enable functional tests in the ThreadSanitizer (TSan) build job
* [Qt] Restore < Qt5.6 compatibility for addAction
* Refactoring with QString::toNSString
* [net] add dnsseed.emzy.de to DNS seeds
* Fix cuckoocache_tests TSAN failure introduced in #14935. Fixes #14967.
* fix testmempoolaccept CLI syntax
* test: Fix race in mempool_accept
* sync: Add RecursiveMutex type alias
* rpc: Remove unused PreCommand signal
* lint/format-strings: Correctly exclude escaped percent symbols
* Select orphan transaction uniformly for eviction
* test: add_nodes can only be called once after set_test_params
* test: Make g_insecure_rand_ctx thread_local
* Revert \"tests: Support calling add_nodes more than once\"
* Remove Python 2 import workarounds
* docs: add NSIS setup/install steps to windows docs
* Revert \"travis: Save cache on build error\"
* tests: Test for expected return values when calling functions returning a success code
* doc: update NetBSD build instructions for 8.0
* Add release notes
* Overhaul importmulti logic
* Do not permit copying FastRandomContexts
* Simplify testing RNG code
* Make unit tests use the insecure_rand_ctx exclusively
* Bugfix: randbytes should seed when needed (non reachable issue)
* Use a FastRandomContext in LimitOrphanTxSize
* Introduce a Shuffle for FastRandomContext and use it in wallet and coinselection
* Use a local FastRandomContext in a few more places in net
* Make addrman use its local RNG exclusively
* test: Add tests for truncated scripts
* depends: disable unused qt features
* depends: qt 5.9.7
* depends: expat 2.2.6
* [test] functional framework: add CScript hex() for Python 3.4
* [test] Travis: enforce Python 3.4 support in functional tests
* Removed implicit CTransaction conversion from benchmaks
* Removed implicit CTransaction constructor from tests
* test: mempool_persist: Verify prioritization is dumped correctly
* test: pruning: Check that verifychain can be called when pruned
* Add nice table to files.md
* test: consensus: Check that final transactions are valid
* test: Correctly deserialize without witness
* qt: Remove ellipsis from sending/receiving addresses
* qt: Add Window menu
* qt: Allow to inspect RPCConsole tabs
* [docs] add release note for change to GBT
* [mining] segwit option must be set in GBT
* [tests] Add docstring for wallet_importmulti.py
* [tests] add test_address method to wallet_import.py
* [tests] add test_importmulti method to wallet_import.py
* [tests] add get_multisig function to wallet_importmulti.py
* [tests] add get_key function to wallet_importmulti.py
* Add E711 to flake8 check
* Compare to None with is/is not
* RPCHelpMan: Support required arguments after optional ones
* doc: Update minimum required qt
* Change \'== None\' to \'is None\'
* Handle exception as ImportError
* threads: fix unitialized members in sched_param
* rpc: Document default values for optional arguments
* rpc: Assert named arguments are unique in RPCHelpMan
* rpc: Avoid creating non-standard raw transactions
* [tests] tidy up imports in wallet_importmulti.py
* [tests] fix flake8 warnings in wallet_importmulti.py
* Fix start with the `-min` option
* Improve documentation for running verify-commits.py script
* Include util/strencodings.h which is required for IsSpace(...)
* [doc] developer-notes.md: point out that UniValue deviates from upstream
* add `--retry 5` to curl opts in install_db4.sh
* doc: Fix PSBT howto and example parameters
* RPCHelpMan: Add space after colons in extended description
* Use std::numeric_limits::max()) instead of (UNSIGNED)-1
* rpc: Add description to fundrawtransaction vout_index
* scripted-diff: Run scripted-diff in subshell
* validation: Add and use HaveTxsDownloaded where appropriate
* scripts: Add trusted key for Samuel Dobson
* Increase maxconnections limit when using poll.
* Implement poll() on systems which support it properly.
* tests: Modify rpc_bind to conform to #14532 behaviour.
* wallet_keypool_topup.py: Test for all keypool address types
* Add locking annotations to feeStats, shortStats and longStats
* scripted-diff: Rename from cs_feeEstimator to m_cs_fee_estimator
* policy: Add Clang thread safety annotations for variables guarded by cs_feeEstimator
* Scripts and tools & Docs: Used #!/usr/bin/env bash instead of obsolete #!/bin/bash, added linting for .sh files shebang and updated the Developer Notes.
* Cleanup SplashScreen class
* Test coinbase category in wallet rpcs
* Add all category options to wallet rpc help
* Move SocketEvents logic to private method.
* Move GenerateSelectSet logic to private method.
* Introduce and use constant SELECT_TIMEOUT_MILLISECONDS.
* [tests] Add wallet_balance.py
* Improve blocksdir functional test.
* Fix broken Gmane URLs
* Use const in COutPoint class
* Move CheckBlock() call to critical section
* tests: have combine_logs default to most recent test dir
* make peertimeout a debug argument, remove error message translation
* docs: Add more Doxygen information to Developer Notes
* Add CScriptNum decode python implementation in functional suite
* Remove duplicate libconsensus linking in test make
* qt: Remove hidden columns in coin control dialog
* validation: assert that pindexPrev is non-null when required
* p2p: allow p2ptimeout to be configurable, speed up slow test
* Add comments to descriptor tests
* Add descriptor expansion cache
* [refactor] Combine the ToString and ToPrivateString implementations
* [refactor] Use DescriptorImpl internally, permitting access to new methods
* [refactor] Add a base DescriptorImpl with most common logic
* Add missing lock in CNode::copyStats(...)
* Add missing locking annotations
* test: add invalid tx templates for use in functional tests
* bench: Destroy wallet txs instead of leaking their memory
* Replace CAffectedKeysVisitor with descriptor based logic
* Fix descriptor_tests not checking ToString output of public descriptors
* rpc: Pass argument descriptions to RPCHelpMan
* Bugfix: test/functional/mempool_accept: Ensure oversize transaction is actually oversize
* Add LSan suppression warnings
* Add ASan Travis build
* Make test p2p_invalid_messages.py pass: Allow for expected Travis ASAN memory increase
* qa: Add wallet_encryption error tests
* qa: clean up assert_memory_usage_stable utility
* qa: fix p2p_invalid_messages on macOS
* Trivial: add doxygen-compatible comments relating to BerkeleyEnvironment
* Tests: add unit tests for GetWalletEnv
* Free BerkeleyEnvironment instances when not in use
* clarify RPC rawtransaction documentation
* Less confusing documentation for `torpassword`
* Use window() instead of obsolete topLevelWidget()
* Make SafeDbt DB_DBT_MALLOC on default initialization
* Add Benchmark to test input de-duplication worst case
* squashme: connect thru node interface
* Indicate -rpcauth option password hashing alg
* http -> https
* tests: check readability of cookie file
* test: allows test_runner command line to receive parameters for each test
* qa: Test bitcond shutdown
* http: Remove timeout to exit event loop
* http: Remove unnecessary event_base_loopexit call
* http: Unlisten sockets after all workers quit
* http: Send \"Connection: close\" header if shutdown is requested
* rpc: Add wait argument to stop
* Fix detection of copyright holders
* Remove UBSan suppression
* streams: Remove unused seek(size_t)
* Correct misleading \"overridden options\" label
* Allow running rpc_bind.py --nonloopback test without IPv6
* qt: Call noui_connect to prevent boost::signals2::no_slots_error in early calls to InitWarning
* test: Move UBSAN suppressions to test/sanitizer_suppressions/ubsan
* travis: --disable-hardening for xenial thread sanitizer
* travis: Run thread sanitizer
* A few minor formatting fixes and clarifications to descriptors.md
* rpcbind: Warn about exposing RPC to untrusted networks
* CNetAddr: Add IsBindAny method to check for INADDR_ANY
* net: Always default rpcbind to localhost, never \"all interfaces\"
* rpcauth: Improve by using argparse and getpass modules
* Add regtest for JSON-RPC batch calls.
* tests: Support calling add_nodes more than once
* Convert comments to thread safety annotations
* test: Add BOOST_REQUIRE to getters returning optional
* Do not specify sudo in .travis
* Warn unrecognized sections in the config file
* revert removal of fstream.hpp header in fs.h
* Log env path in BerkeleyEnvironment::Flush
* Properly generate salt in rpcauth.py, update tests
* Fix running individually through test_runner.py, as suggested by AATTMarcoFalke (#14732)
* Remove unreferenced boost headers
* Improve scripted-diff developer docs
* fix uninitialized read when stringifying an addrLocal
* add test demonstrating addrLocal UB
* rpc: Documentation fixups
* Add release notes
* Add matching descriptors to scantxoutset output + tests
* Add descriptors to listunspent and getaddressinfo + tests
* Use RPCHelpMan for all RPCs
* Implement prevector::fill once
* Drop defunct IS_TRIVIALLY_CONSTRUCTIBLE handling from prevector.h
* lint: Must use RPCHelpMan to generate the RPC docs
* Bump the minimum Qt version to 5.2
* Rename ListTransactions filter variable
* [wallet] Restore ability to list incoming transactions by label
* disallow oversized CBlockHeaderAndShortTxIDs
* fix a deserialization overflow edge case
* add a test demonstrating an overflow in a deserialization edge case
* rpc: Correctly name arguments
* Add stop_block out arg to ScanForWalletTransactions
* qa: Check specific reject reasons in feature_block
* GetPubKey: make sigdata const
* util.h: explicitly include required QString header
* Return a status enum from ScanForWalletTransactions
* Make CWallet::ScanForWalletTransactions args and return value const
* Introduce SafeDbt to handle DB_DBT_MALLOC raii-style
* remove redundant KeyOriginInfo access, already done in CreateSig
* CreateTransaction: Assume minimum p2sh-p2wpkh spend size for unknown change
* Remove stale comment in CalculateMaximumSignedInputSize
* rpc: Add RPCHelpMan for machine-generated help
* Release notes: integrate detached release notes
* Release notes: update notes through to 11e1ac3ae08
* Adjust configure so that only bip70 is disabled when protobuf is missing instead of the GUI
* qa: Raise ci test_runner timeout to 40 mins
* travis: Avoid timeout on verify-commits check
* doc: add detached release notes for #14060
* build: Add CLIENT_VERSION_BUILD to CFBundleGetInfoString
* Better error message for user when corrupt wallet unlock fails
* qa: Avoid race in p2p_invalid_block by waiting for the block request
* tests: Make feature_block pass on centos
* rpc: Include rpc/util.h where needed for RPCHelpMan
* build: Add bitcoin-tx.exe into Windows installer
* test_node: get_mem_rss fixups
* Throw error if CPubKey is invalid during PSBT keypath serialization
* Require a public key to be retrieved when signing a P2PKH input
* wallet: Create IsDatabaseLoaded function
* build: Fix windows build error if `--disable-bip70`
* importmulti: Don\'t add internal addresses to address book
* [doc] conf: Remove deprecated options from docs, Other cleanup
* tests: Add Python dead code linter (vulture)
* tests: Remove unused testing code
* blockfilter: Additional constructors for BlockFilter.
* blockfilter: Refactor GCS params into struct.
* Add llvm-symbolizer directory to PATH. Needed to get symbolized stack traces from the sanitizers.
* Update KNOWN_VIOLATIONS: Remove fixed violations
* Use IsSpace(...) instead of boost::is_space
* Use ToLower(...) instead of std::tolower
* Use IsDigit(...) instead of std::isdigit
* Send fewer spam messages in p2p_invalid_messages
* Pass chain locked variables where needed
* Remove uses of cs_main in wallet code
* Remove direct node->wallet calls in init.cpp
* Pass chain and client variables where needed
* Add skeleton chain and client classes
* Add UBSan suppressions needed to pass test suite
* Add UBSan options: print_stacktrace + halt_on_error
* doc: Add historical release notes for 0.17.0.1
* Add metavar to match var name in help text + Change wording for better readability
* appveyor: Script improvement part II
* wallet: Add trailing wallet.dat when detecting duplicate wallet if it\'s a directory.
* Refactor: Move m_db pointers into BerkeleyDatabase
* Add test for rpcpassword hash error
* Error if rpcpassword in conf contains a hash character
* Enable functional tests in UBSAN job. Enable -fsanitize=integer (part of UBSAN). Merge UBSAN Travis job with no depends.
* example_test.py: fixup coinbase height argument, derive number clearly
* blockfilter: Use unordered_set instead of set in blockfilter.
* Extract CSipHasher to it\'s own file in crypto/ directory.
* qa: Add test to ensure node can generate all help texts at runtime
* Add NODISCARD to all {Decode,Parse}[...](...) functions returning bool. Sort includes.
* tests: Explicitly ignore the return value of DecodeBase58(...)
* tests: Check return value of ParseParameters(...)
* miner: Default to DEFAULT_BLOCK_MIN_TX_FEE if unable to parse -blockmintxfee
* trivial: Don\'t translate in help text
* Add SAFE_CHARS[SAFE_CHARS_URI]: Chars allowed in URIs (RFC 3986)
* rpc: Make HTTP RPC debug logging more informative
* scripted-diff: Rename misleading \'defaultPort\' to \'http_port\'
* Fix `bitcoin-qt -version` output formatting
* Make blockdir always net specific
* qt: All tray menu actions call showNormalIfMinimized
* qt: Use GUIUtil::bringToFront where possible
* qt: Add GUIUtil::bringToFront
* scripted-diff: Move util files to separate directory.
* warnings: Compiler warning on memset usage for non-trivial type
* Remove obj_c for macOS Dock icon menu
* Use Qt signal for macOS Dock icon click event
* build: Remove illegal spacing in darwin.mk
* test_runner: Remove travis specific code
* Add regression test for PSBT signing bug #14473
* Refactor PSBTInput signing to enforce invariant
* Simplify arguments to SignPSBTInput
* Add bool PSBTInputSigned
* New PartiallySignedTransaction constructor from CTransction
* Remove redundant txConst parameter to FillPSBT
* More concise conversion of CDataStream to string
* tests: add tests for invalid P2P messages
* tests: add P2PConnection.send_raw_message
* tests: add utility to assert node memory usage hasn\'t increased
* Avoid using numeric_limits for sequence numbers and lock times
* Remove duplicated code
* Replace platform dependent type with proper const
* [tests] Move deterministic address import to setup_nodes
* Tests: Fix a comment
* Update release-process.md to include RC version bumping
* macOS: disable AppNap during sync
* Make clear function argument case in dev notes
* Remove obj_c for macOS Dock icon setting
* FreeBSD: Document Python 3 requirement for \'gmake check\'
* doc: Add external interface consistency guarantees
* build: include rc number in version number
* build: if VERSION_BUILD is non-zero, include it in the package version
* align items in contrib init
* qt: Remove \"Pay only required fee\" checkbox
* tests: Print dots by default
* qt: Improve BitcoinAmountField class
* added details about commit messages
* Bugfix: RPC: Add address_type named param for createmultisig
* gui: explicitly disable \"Dark Mode\" appearance on macOS
* Remove unused `adjustedTime` parameter
* Various textual improvements in build docs
* travis: Save cache on build error
* Don\'t rely on locale dependent functions in base_blob::SetHex(...) (uint256), DecodeBase58(...), ParseMoney(...) and ParseHex(...)
* Add tests for InferDescriptor and Descriptor::IsSolvable
* Add Descriptor::IsSolvable() to distinguish addr/raw from others
* Add support for inferring descriptors from scripts
* [tests] Test that nodes respond to getdata with notfound
* Remove fs::relative call and fix listwalletdir tests
* build: Fix Qt link order for Windows build
* wallet: Refactor to use WalletLocation
* wallet: Add WalletLocation utility class
* Add segwit address tests for importmulti
* Make getaddressinfo return solvability
* Add release notes for importmulti segwit change
* Fix typo in test_framework/blocktools
* Add SegWit support to importmulti with some ProcessImport cleanup
* appveyor: Enable multiwallet test
* tests: add test case for loading copied wallet twice
* wallet: Fix duplicate fileid
* [rpc] add \'getnewaddress\' hint to \'generatetoaddress\' help text.
* minor p2p_sendheaders fix of height in coinbase
* Removed explicit mention of storage requirement (squashed)
* Don\'t link SSL_LIBS with GUI unless BIP70 is enabled
* Add BIP70 deprecation warning
* qt: cleanup: Move BIP70 functions together in paymentserver
* show the progress of functional test
* Update documentation to incude origin information
* Add tests for key origin support
* Add key origin support to descriptors
* [macOS] Remove DS_Store WindowBounds bytes object
* travis: Compile once on xenial
* rpc: Prevent concurrent savemempool
* qa: Ensure wallet unload during walletpassphrase timeout
* Revert \"Make qt wallet test compatible with qt4\"
* docs: Document lint tests
* Fix typo
* scripted-diff: Replace boost::bind with std::bind
* refactor: Use boost::scoped_connection in signal/slot, also prefer range-based loop instead of std::transform
* rpc: Always throw in getblockstats if -txindex is required
* ZMQ: add options to configure outbound message high water mark, aka SNDHWM
* doc: Update OpenBSD build guide for 6.4
* gitignore contents of db4 folder
* rpc: Fix wallet unload during walletpassphrase timeout
* docs: Add release notes for listwalletdir RPC
* qa: Add tests for listwalletdir RPC
* rpc: Add listwalletdir RPC
* interfaces: Add getWalletDir and listWalletDir to Node
* wallet: Add ListWalletDir utility
* Add `doc/bitcoin-conf.md`
* [wallet] Deprecate the generate RPC method
* [tests] Add generate method to TestNode
* Avoid 1 << 31 (UB) in calculation of SEQUENCE_LOCKTIME_DISABLE_FLAG
* utils: Fix broken Windows filelock
* Textual improvements
* Avoid triggering undefined behaviour in base_uint::bits()
* [docs] Add release note for removing getwitnessaddress
* descriptors.md: Refer to descriptors as describing instead of matching
* doc: add comment explaining recentRejects-DoS behavior
* [tests] Small fixups before deprecating generate
* build: Pin to specific versions of Python packages we install from PyPI in Travis
* Add ignored word: mut
* Revert \"qa: Fix codespell error and have lint-spelling error instead of warn\"
* refactor: Drop boost::this_thread::interruption_point and boost::thread_interrupted in main thread
* Fix listreceivedbyaddress not taking address as a string
* tests: add test for \'getaddressinfo\' RPC result \'ischange\' field
* rpcwallet: add \'ischange\' field to \'getaddressinfo\' response
* Fix QCompleter popup regression
* bitcoin-tx: Use constant for n pubkeys check
* [doc] getblocktemplate: use SegWit in example
* tests: Stop node before removing the notification file
* Improve CAmount tests
* Add compile time checking for cs_main locks which we assert at run time
* test: forward timeouts properly in send_blocks_and_test
* Fix CLEAN_BITCOIN_TEST to remove .log files for all BITCOIN_TESTS files
* clarify rpcwallet flag url change
* [rpc] Descriptions: Textual consistency fixes
* Add GUARDED_BY(cs_wallet) for setExternalKeyPool, mapKeyMetadata, m_script_metadata and setLockedCoins
* Add GUARDED_BY(cs_wallet) for encrypted_batch, nWalletMaxVersion, m_max_keypool_index and nOrderPosNext
* wallet: Add Clang thread safety analysis annotations
* wallet: Add missing locks
* qt: Revert \"Force TLS1.0+ for SSL connections\"
* build: Add --disable-bip70 configure option
* Add missing locks and locking annotations for CAddrMan
* Add tooltips for both datadir and blocksdir
* Stop requiring imported pubkey to sign non-PKH schemes
* tests: Allow closed http server in assert_start_raises_init_error
* Fix macOS files description
* implements different disk sizes for different networks on intro
* [docs] path to descriptors.md fixed
* [tests] Remove rpc_zmq.py
* Clean systray icon menu for -disablewallet mode
* Add \"Blocksdir\" to Debug window
* rpc: creates possibility to preserve labels on importprivkey
* Don\'t access out of bounds array entry array[sizeof(array)]
* appveyor: trivial build cache modifications
* Fix typos
* doc: miss install
* doc: RPC documentation
* travis: set codespell version to avoid breakage
* depends: qt: avoid system harfbuzz and bz2
* doc: Remove \"temporary file\" notice from 0.17.0 release notes
* tests: Make appveyor run with --usecli
* doc: Add historical release notes for 0.17.0
* test: Add missing call to skip_if_no_cli()
* check that a separator is found for psbt inputs, outputs, and global map
* Include some files currently missed by \'make distclean\'.
* utils: Convert Windows args to utf-8 string
* fix converttopsbt permitsigdata arg, add basic test
* doc: Add historical release notes for 0.14.3 and 0.15.2
* depends: fix bitcoin-qt back-compat with older freetype versions at runtime
* Don\'t use systray icon on inappropriate systems
* Document fixed attribute behavior in critical test framework classes.
* Check for specific tx acceptance failures based on script signature
* Strictly enforce instance attrs in critical functional test classes.
* [docs] Add release notes for removing `-usehd`
* doxygen: Fix member comments
* Set C locale for amountWidget
* [gitian] use versioned unsigned tarballs instead of generically named ones
* Make MSVC compiler read the source code using utf-8
* tests: Add test case for std::ios_base::ate
* Move boost/std fstream to fsbridge
* utils: Add fsbridge fstream function wrapper
* qa: Run more tests with wallet disabled
* tests: exclude all tests with difference parameters
* Consolidate redundant implementations of ParseHashStr
* [wallet] remove redundand restart node
* AppVeyor: Move AppVeyor YAML to dot-file-style YAML
* test: allow arguments to be forwarded to flake8 in lint-python.sh
* Move SocketHandler logic to private method.
* Move InactivityCheck logic to private method.
* tests: write the notification to different files to avoid race condition
* Move DisconnectNodes logic to private method.
* Move NotifyNumConnectionsChanged logic to private method.
* [wallet] Ensure wallet is unlocked before signing
* validation: Pass chainparams in AcceptToMemoryPoolWorker(...)
* Fix for incorrect version attr set on functional test segwit block.
* Don\'t edit Chainparams after initialization
* MOVEONLY: Move versionbits info out of versionbits.o
* test: Fix broken segwit test
* [REST] improve performance for JSON calls
* [wallet] Remove deprecated addwitnessaddress RPC method
* [test] Remove deprecated addwitnessaddress from feature_segwit.py
* [test] Remove deprecated addwitnessaddress from wallet_bumpfee.py
* [test] Remove deprecated addwitnessaddress from p2p_compactblocks.py
* [tests] Remove deprecated addwitnessaddress call from wallet_dump.py
* [tests] Remove deprecated addwitnessaddress call from feature_nulldummy
* [test] Fix flake8 warnings in tests
* doc: Add GitHub pr template
* [RPC] Remove warning for removed estimatefee RPC
* Make fs::path::string() always return utf-8 string
* Add test for conversion from non-witness to witness UTXO
* Convert non-witness UTXOs to witness if witness sig created
* [wallet] Remove -usehd
* lcov: filter /usr/lib/ from coverage reports
* Add autogen.sh in ARM Cross-compilation
* init: Remove deprecated args from hidden args
* tests: Use MakeUnique to construct objects owned by unique_ptrs
* doc: Split build linux dependencies
* wallet: Avoid potential use of unitialized value bnb_used in CWallet::CreateTransaction(...)
* Drop unused setRange arg to BerkeleyBatch::ReadAtCursor
* doc: Split depends installation instructions per arch
* doc: Add historical release notes for 0.16.3
* uint256: Remove unnecessary crypto/common.h use
* gui: Show watch-only eye instead of HD disabled
* [rpc] Add getnodeaddresses RPC command
* [qa] Test for duplicate inputs within a transaction
* Fix crash bug with duplicate inputs within a transaction
* amount: Move CAmount CENT to unit test header
* appveyor: Run functional tests on appveyor
* Changed functional tests which do not require wallets to run without
* tests: Make it possible to run functional tests on Windows
* travis: Run feature_dbcrash functional tests in cron job
* tests: Reorder tests and move most of extended tests up to normal tests
* use integer division instead of double conversion and multiplication for computing amounts
* doc: Document -checklevel levels
* [qa] Use correct python index slices in example test
* build: Remove libssl from LDADD unless gui
* convert C-style (void) parameter lists to C++ style ()
* Fix reference to lint-locale-dependence.sh
* [build] remove #ifdef ENABLE_WALLET from interfaces/node
* qa: Remove unneded import_deterministic_coinbase_privkeys overwrite, add comments
* qa: Fix codespell error and have lint-spelling error instead of warn
* Bugfix: Only run bitcoin-tx tests when bitcoin-tx is enabled
* configure: Make it possible to build only one of bitcoin-cli or bitcoin-tx
* Pass export privkey DER compression flag correctly
* doc: `-help-debug` implies `-help`
* wallet: Remove trailing separators from -walletdir arg
* wallet: Add walletdir arg unit tests
* logging: Replace LogPrint macros with regular functions
* build: Move interfaces/
* to libbitcoin_server
* [depends, zmq, doc] upgrade zeromq to 4.2.5 and avoid deprecated zeromq api functions
* Pass tx pool reference into CheckSequenceLocks
* Remove redundant BIP174 test from rpc_psbt.json
* Call unicode API on Windows
* Drop minor GetSerializeSize template
* Drop unused GetType() from CSizeComputer
* qa: Run all tests even if wallet is not compiled
* qa: Premine to deterministic address with -disablewallet
* utils: Convert fs error messages from multibyte to utf-8
* [build] remove ENABLE_WALLET ifdef from httprpc.cpp
* qa: Fix silent merge conflict in wallet_importmulti
* don\'t translate command line options
* travis: avoid timeout without saving caches, also enable all qt
* depends: Remove unused Qt 4 dependencies
* doc: release notes for -enablebip61 default change
* rpc: Remove cs_main lock from blockToJSON and blockHeaderToJSON
* rpc: Specify chain tip instead of chain in GetDifficulty
* rpc: Fix SoftForkMajorityDesc and SoftForkDesc signatures
* Scripts and tools: increased timeout downloading
* [build] Move dummy wallet into its own .cpp file.
* tx pool: Use class methods to hide raw map iterator impl details
* Squashed \'src/univalue/\' changes from 51d3ab34ba..7890db99d6
* p2p: Disable BIP 61 by default
* qt: Also log and print messages or questions like bitcoind
* noui: Move handlers to header file
* doc/descriptors.md tweaks
* test: Add test for config file parsing errors
* Remove reference to deprecated RPC call in build instructions
* Docs: Add disable-wallet section to OSX build instructions
* Replace duplcate reference with reference to reference doc
* Adjust TODO link
* Add descriptor reference documentation
* doc: Change documentation for =0 for non-boolean options
* doxygen: Remove misleading checkpoints comment in CMainParams
* lint: Add spell check linter (codespell)
* Fix typos reported by codespell
* Explain GetAncestor check for m_failed_blocks in AcceptBlockHeader
* Increase signal to noise in appveyor build output by reducing the MSVC warning count from 12 to 4 (12 is assuming the changes in #14086 are also implemented).
* appveyor: Use clcache to speed up build
* wallet: Set encrypted_batch to nullptr after delete. Avoid double free in the case of NDEBUG.
* doc: correct GetDifficulty doc after #13288
* gui: Favor macOS show / hide action in dock menu
* lint: Make sure we read the command line inputs using utf-8 decoding in python
* Trivial: update clang thread-safety docs url
* build: avoid getifaddrs when unavailable
* Test rpc_help.py failed: Check whether ZMQ is enabled or not.
* Switch nPrevNodeCount to vNodesSize.
* qa: Read reject reasons from debug log, not p2p messages
* scripted-diff: Small locking rename
* added note that control port must be enabled and how to do that in torrc config file
* utils: Use _wfopen and _wreopen on Windows
* Add EXCLUSIVE_LOCKS_REQUIRED to CWallet::ListCoins
* macOS fix: Check for correct version of flake8 to avoid spurious warnings. The brew installed flake8 version is Python 2 based and does not work.
* macOS fix: Add excludes for checks added in the newer shellcheck version installed by brew
* macOS fix: Work around empty (sub)expression error when using BSD grep
* macOS fix: Avoid mapfile due to ancient version of bash shipped with macOS
* tests: Dry run bench_bitcoin (-evals=1 -scaling=0: <1 second running time) as part \"make check\" to allow for quick identification of assertion/sanitizer failures in benchmarking code
* Remove RUN_BENCH logic
* Only log \"Using PATH_TO_bitcoin.conf\" message on startup if conf file exists.
* tests: Add missing locking annotations and locks
* [wallet] Kill accounts
* util: Report parse errors in configuration file
* Fix potential deadlock
* Add lock annotations (cs_args)
* Add missing locks (cs_args)
* qa: Use named args in some tests
* scripted-diff: Use named arguments in feature_block
* scripted-diff: Pass node into p2p_segwit acceptance tests
* Remove unused fsbridge::freopen
* Don\'t close old debug log file handle prematurely when trying to re-open (on SIGHUP)
* validation: Log FormatStateMessage on ConnectBlock error in ConnectTip
* blockfilter: Omit empty scripts from filter contents.
* Removes the Boost case_conv.hpp dependency.
* Implements custom tolower and toupper functions.
* Implements ParseNetwork unit test.
* tests: Fix accidental trunction from int to bool
* Add regression test: Don\'t assert(...) with side effects
* Don\'t assert(...) with side effects
* index: Fix for indexers skipping genesis block.
* Add README.md to linux release tarballs
* Hide spendable label if priveate key is disabled
* [rpc] Remove deprecated sigrawtransaction rpc method.
* [RPC] Remove warning about wallet addresses in createmultisig()
* [rpc] Remove deprecated validateaddress usage.
* test padding non micro timestamps
* travis: add CXXFLAGS=-Wnopsabi at ARM job
* add unicode compatible file_lock for Windows
* Explicitly initialize prevector _union
* Make objects in range declarations immutable by default. Avoid unnecessary copying of objects in range declarations.
* [doc] Add release notes for \'account\' API removal
* [wallet] Re-sort wallet RPC commands
* [wallet] Remove wallet account RPCs
* fix missing differentiation between UNIT and FUNCTIONAL tests in travis build
* Integration of property based testing into Bitcoin Core
* [tests] Remove wallet accounts test
* contrib: Adjust output to current test format
* Report minfeefilter value in getpeerinfo rpc
* use export LC_ALL=C.UTF-8
* make script exit if a command fails
* move remaining travis build steps into individual files
* number .travis/ script according to build lifecycle and add README to explain
* move lint stage up to resemble travis build ui
* abort script in END_FOLD on non-zero exit code
* move script sections info individual files and comply with shellcheck
* utils: run commands using utf-8 string on Windows
* auto generate MSVC project files
* travis: Run unit tests --with-sanitizers=undefined
* qa: Stop txindex thread before calling destructor
* Use assert when running from multithreaded code as BOOST_CHECK_
* are not thread safe
* Move cs_main locking annotations from .cpp to .h
* Add compile time checking for all cs_main runtime locking assertions
* bench: Benchmark GCS filter creation and matching.
* blockfilter: Optimization on compilers with int128 support.
* blockfilter: Unit test against BIP 158 test vectors.
* blockfilter: Additional helper methods to compute hash and header.
* blockfilter: Serialization methods on BlockFilter.
* blockfilter: Construction of basic block filters.
* blockfilter: Simple test for GCSFilter construction and Match.
* blockfilter: Implement GCSFilter Match methods.
* blockfilter: Implement GCSFilter constructors.
* blockfilter: Declare GCSFilter class for BIP 158 impl.
* streams: Unit tests for BitStreamReader and BitStreamWriter.
* streams: Implement BitStreamReader/Writer classes.
* streams: Unit test for VectorReader class.
* streams: Create VectorReader stream interface for vectors.
* [contrib] Support ARM and RISC-V symbol check
* Docs: Fix help message typo optiona -> optional
* fix walletcreatefundedpsbt deriv paths, add test
* qa: Add some actual witness in rpc_rawtransaction
* qa: Add TestNode::assert_debug_log
* [Tests] Make combine_logs.py handle multi-line logs
* util: Replace boost::signals2 with std::function
* depends: Enable unicode support on dbd for Windows
* depends: allow CC/CXX to be overridden during configure
* Make IS_TRIVIALLY_CONSTRUCTIBLE consistent on GCC < 5
* qa: Remove unused deserialization code in msg_version
* Skip stale tip checking if outbound connections are off or if reindexing.
* Remove default argument to prevector constructor to remove ambiguity
* Add new regtest ports in doc following #10825 ports reattributions
* rpc: Avoid locking cs_main in some wallet RPC
* test: Add tests for RPC help
* p2p: Remove dead code for nVersion=10300
* Bugfix: NSIS: Exclude Makefile
* from docs
* test: Add lint to prevent SIGNAL/SLOT connect style
* qt: Use new Qt5 connect syntax
* test: Check RPC settxfee errors
* Disable wallet and address book Qt tests on macOS minimal platform
* RPCTypeCheck bip32derivs arg in walletcreatefunded
* QA: add basic walletcreatefunded optional arg test
* walletcreatefundedpsbt: remove duplicate replaceable arg
* Preserve a format of RPC command definitions
* http: Add const modifier to HTTPRequest methods
* depends: fix qt determinism
* appveyor: fetch the latest port data
* Add checks for settxfee reasonableness
* Fix typo in feature_blocksdir.py log message
* rpc: Return more specific reject reason for submitblock
* refactor: use fs:: over boost::filesystem::
* [trivial] Fix typo in CDiskBlockPos struct\'s ToString
* Use wildcard path in test_bitcoin.vcxproj
* Add PSBT documentation
* Allow ConstructTransaction to not throw error with 0-input txn
* don\'t report minversion wallet entry as unknown
* Import CInv from correct module
* ci: Add appveyor.yml to build on MSVC
* Make macro compatible with MSVC
* tests: Replace usage of tostring() with tobytes()
* Remove unused dummy_tx variable from FillPSBT
* Serialize non-witness utxo as a non-witness tx but always deserialize as witness
* Fix PSBT deserialization of 0-input transactions
* qa: Add tests for submitheader
* rpc: Expose ProcessNewBlockHeaders
* Make SignPSBTInput operate on a private SignatureData object
* Pass HD path data through SignatureData
* Implement key origin lookup in CWallet
* [MOVEONLY] Move ParseHDKeypath to utilstrencodings
* Generalize PublicOnlySigningProvider into HidingSigningProvider
* Make SigningProvider expose key origin information
* Introduce KeyOriginInfo for fingerprint + path
* More tests of signer checks
* Test that a non-witness script as witness utxo is not signed
* Additional sanity checks in SignPSBTInput
* Only wipe wrong UTXO type data if overwritten by wallet
* gitian: bump descriptors for (0.)18
* build: bump version to 0.17.99
* fix deprecation in bitcoin-util-test.py
* Removes unsed `CBloomFilter` constructor.
* p2p: Clarify control flow in ProcessMessage()
* Cleanup StartRest()
* Speed up knapsack_solver_test by not recreating wallet 100 times.
* Visual Studio build configuration for Bitcoin Core
* No longer shutdown after encrypting the wallet
* After encrypting the wallet, reload the database environment
* Add function to close all Db\'s and reload the databae environment
* Move BerkeleyEnvironment deletion from internal method to callsite
* Fix incorrect Doxygen comments
* Add risc-v 64-bit to gitian
* [depends] Add riscv qt depends support for cross compiling bitcoin-qt
* Log progress while verifying blocks at level 4.
* Consistently use ParseHashV to validate hash inputs in rpc
* ui: Compile boost:signals2 only once
* Remove redundant extern
* Enable -Wredundant-decls (gcc) if available
* Remove redundant redeclaration of rescanblockchain(...) in same scope
* [RPC] Remove getinfo deprecation warning
* gui: get special folder in unicode
* Drop boost::scoped_array
* Use LOCK macros for non-recursive locks
* Make LOCK, LOCK2, TRY_LOCK work with CWaitableCriticalSection
* MOVEONLY Move AnnotatedMixin declaration
* Add unit test for DEBUG_LOCKORDER code
* test: Add testing of value_ret for SelectCoinsBnB
* Remove unused variable
* Remove redundant assignments (dead stores)
* [qt] TransactionView: highlight replacement tx after fee bump
* contrib: Support github pull request gitian-build
* scripted-diff: Remove unused first argument to addUnchecked
* tx pool: Use the entry\'s hash instead of the one passed to addUnchecked
* Mark CTxMemPoolEntry members that should not be modified const
* Add CMerkleTx::IsImmatureCoinBase method
* Mark single-argument constructors \"explicit\"
* [gui] Make proxy icon from statusbar clickable
* Return the script type from Solver
* Tests: add usage note to check-rpc-mappings.py
* Explain when reindex-chainstate can be used instead of reindex
* Don\'t assert(foo()) where foo has side effects
* Report progress in ReplayBlocks while rolling forward
* Update functional RBF test to check replaceable flag
* Add \"bip125-replaceable\" flag to mempool RPCs
* Add AssertLockHeld assertions in CWallet::ListCoins
* Let wallet importmulti RPC accept labels for standard scriptPubKeys
* Sat Dec 22 2018 marecAATTdetebe.org- Update to version 0.17.1:
* doc: Fill in authors and changelog for 0.17.1 release notes
* Stop requiring imported pubkey to sign non-PKH schemes
* qa: Ensure wallet unload during walletpassphrase timeout
* build: bump version to 0.17.1
* rpc: Fix wallet unload during walletpassphrase timeout
* fix converttopsbt permitsigdata arg, add basic test
* Add test for conversion from non-witness to witness UTXO
* Sat Oct 27 2018 marecAATTdetebe.org- Update to version 0.17.0.1:
* travis: Pin flake8 version to 3.5.0
* build: Bump version for 0.17.0.1
* doc: Update release notes for 0.17.0.1
* [macOS] Remove DS_Store WindowBounds bytes object
* [doc] getblocktemplate: use SegWit in example
* doc: Clean out release notes after release 0.17.0
* doc: Update release-notes.md from upstream devwiki
* depends: fix bitcoin-qt back-compat with older freetype versions at runtime
* Mon Oct 01 2018 marecAATTdetebe.org- Update to version 0.17.0:
* travis: Pin flake8 version to 3.5.0
* build: Bump version for 0.17.0.1
* doc: Update release notes for 0.17.0.1
* [macOS] Remove DS_Store WindowBounds bytes object
* [doc] getblocktemplate: use SegWit in example
* doc: Clean out release notes after release 0.17.0
* doc: Update release-notes.md from upstream devwiki
* depends: fix bitcoin-qt back-compat with older freetype versions at runtime
* Tue Sep 18 2018 marecAATTdetebe.org- Update to version 0.16.3:
* doc: Update manpages for 0.16.3
* doc: 0.16.3 release notes
* build: Bump version to 0.16.3
* [qa] backport: Test for duplicate inputs within a transaction
* Fix crash bug with duplicate inputs within a transaction
* -prune option -help output aligned with code
* doc: Clean out release notes after 0.16.2
* [tests] Check signrawtransaction
* errors on missing prevtx info
* Error on missing amount in signrawtransaction
*
* 0.16.2: Bump manpages
* doc: Fill in changelog and credits in release notes
* build: Bump version to 0.16.2
* doc: Clean out release notes for 0.16.2
* Fix that CWallet::AbandonTransaction would only traverse one level
* qa: Initialize lockstack to prevent null pointer deref
* gui: Show messages as text not html
* [qt] send: Clear All also resets coin control options
* Fix csBestBlock/cvBlockChange waiting in rpc/mining
* Consensus: Fix bug when compiler do not support __builtin_clz
*
* [qa] Add a test for merkle proof malleation
* have verifytxoutproof check the number of txns in proof structure
* wallet: Erase wtxOrderd wtx pointer on removeprunedfunds
* Remove boost dependency (boost/assign/std/vector.hpp)
* Fix incorrect tests
* Make tests pass after 2020
* [rpcwallet] Clamp walletpassphrase value at 100M seconds
* rpc: fix type mistmatch in listreceivedbyaddress
* [trivial] Add newlines to end of log messages.
* qt: Avoid resetting on resetguisettigs=0
* qa: Fix wallet_listreceivedby race
* [tests] Fixed intermittent failure in p2p_sendheaders.py.
* Remove useless mapRequest tracking that just effects Qt display.
* depends: Update Qt download url
* Fix parameter count check for importpubkey.
* expose CBlockIndex::nTx in getblock(header)
* doc: Last-minute edits to 0.16.1 release notes
* Add Windows shutdown handler
* Bugfix: Include for std::unique_ptr
* qt: Periodic translations update
* doc: Add commits and authors to release notes for rc1
* doc: Bump to Ubuntu Bionic 18.04 in build-windows.md
* build: Bump version to 0.16.1
* qt: Pre-rc1 transifex pull
* qt: Update translations pre-rc1
* GUI: Allow generating Bech32 addresses with a legacy-address default
* GUI: Rephrase Bech32 checkbox text/tooltip
* qa: Pad scriptPubKeys to get minimum sized txs
* Policy to reject extremely small transactions
* Add transaction tests for constant scriptCode
* Add constant scriptCode policy in non-segwit scripts
* Add unit tests for signals generated by ProcessNewBlock()
* Fix concurrency-related bugs in ActivateBestChain
* Do not unlock cs_main in ABC unless we\'ve actually made progress.
* Bugfix: ensure consistency of m_failed_blocks after reconsiderblock
* wallet: Exit SyncMetaData if there are no transactions to sync
* Hold cs_main while calling UpdatedBlockTip() and ui.NotifyBlockTip
* [wallet] [tests] Test disallowed multiwallet params
* [wallet] Fix zapwallettxes/multiwallet interaction.
* RPC Docs: gettxout
*: clarify bestblock and unspent counts
* [qa] Handle disconnect_node race
* List support for BIP173 in bips.md
* Remove blockmaxsize option from init.cpp
* Default to defining endian-conversion DECLs in compat w/o config
* qt:Show the entire Window when double clicking on taskbar
* depends: Fix Qt build with XCode 9.3
* Avoid launching as admin when NSIS installer ends.
* [config] Remove blockmaxsize option
* Fix illegal default `addProxy` and `addrSeparateProxyTor` settings.
* Limit the number of IPs we use from each DNS seeder
* qa: Fix python TypeError in script.py
* [qa] Delete cookie file before starting node
* qa: Cache only chain and wallet for regtest datadir
* [qa] Ensure bitcoind processes are cleaned up when tests end
* [tests] Test starting bitcoind with -h and -version
* [tests] Fix intermittent rpc_net.py failure.
* test: Use wait_until in tests where time was used for polling
* test: Use wait_until to ensure ping goes out
* [test] Round target fee to 8 decimals in assert_fee_amount
* devtools: Exclude patches from lint-whitespace GitHub-Pull: #12442 Rebased-From: fafbf7f
* [Depends] Fix Qt build with Xcode 9.2
* test: Update trust git root
* fix version typo
* depends: Switch expat download to GitHub
* qt: Remove faulty and unnecessary en_US translation
* test: Add missing signal.h header
* doc: Clear out release notes post-0.16.0
* [depends] Allow depends system to support armv7l
* doc: Remove note about temporary file from release notes
* Squashed \'src/leveldb/\' changes from c521b3ac65..64052c76c5
* doc: Update release notes from wiki for rc3
* qt: Pre-rc4 translations update
* Make signrawtransaction accept P2SH-P2WSH redeemscripts
* fix possible shutdown assertion with -reindex-shutdown
* test: Add unit test for LockDirectory
* util: Fix multiple use of LockDirectory
* travis: Don\'t fetch --unshallow when no longer shallow-cloning
* travis: Full clone for git subtree check
* Interrupt loading thread after shutdown request
* Fix rescan test failure due to unset g_address_type, g_change_type
* Fix ignoring tx data requests when fPauseSend is set on a peer
* Reset pblocktree before deleting LevelDB file
* doc: Update release notes from wiki (for rc3 PRs)
* qt: Pre-rc3 translations update
* Bech32 addresses in dumpwallet
* Add braces to meet code style on line-after-the-one-changed.
* Hold mempool.cs for the duration of ATMP.
* http: Remove numThreads and ThreadCounter
* http: Remove WaitExit from WorkQueue
* http: Join worker threads before deleting work queue
* qt: Clarify some comments
* qt: Make sure splash screen is freed on AppInitMain fail
* qt: Poll ShutdownTimer after init is done
* Fix fast-shutdown crash if genesis block was not loaded
* Fix fast-shutdown hang on ThreadImport+GenesisWait
* 0.16: Check in current release notes draft
* qt: Pre-rc2 translations update
* net: don\'t retry failed oneshot connections forever
* [gui] Defer coin control instancing
* net: initialize socket to avoid closing random fd\'s
* test: Make ua_comment test pass on 0.16.0
* doc: Update manpages to 0.16.0
* build: bump version to 0.16.0
* qt: Periodic translations update
* [build] Add NETBSD leveldb target to configure.ac
* [doc] Create build-netbsd.md
* Add special error for genesis coinbase to gettransaction
* [build] Add db4_cxx to bitcoin_find_bdb48.m4
* [wallet] Remove duplicate mapWallet lookups
* Move scheduler/threadGroup into common-init instead of per-app
* Fri Jul 27 2018 marecAATTdetebe.org- Update to version 0.16.2:
* 0.16.2: Bump manpages
* doc: Fill in changelog and credits in release notes
* build: Bump version to 0.16.2
* doc: Clean out release notes for 0.16.2
* Fix that CWallet::AbandonTransaction would only traverse one level
* qa: Initialize lockstack to prevent null pointer deref
* gui: Show messages as text not html
* [qt] send: Clear All also resets coin control options
* Fix csBestBlock/cvBlockChange waiting in rpc/mining
* Consensus: Fix bug when compiler do not support __builtin_clz
*
* Wed Jun 13 2018 marecAATTdetebe.org- Update to version 0.16.1:
* doc: Last-minute edits to 0.16.1 release notes
* qt: Periodic translations update
* doc: Add commits and authors to release notes for rc1
* doc: Bump to Ubuntu Bionic 18.04 in build-windows.md
* build: Bump version to 0.16.1
* qt: Pre-rc1 transifex pull
* qt: Update translations pre-rc1
* GUI: Allow generating Bech32 addresses with a legacy-address default
* GUI: Rephrase Bech32 checkbox text/tooltip
* Mon Feb 26 2018 marecAATTdetebe.org- Update to version 0.16.0:
* doc: Remove note about temporary file from release notes
* doc: Update release notes from wiki for rc3
* qt: Pre-rc4 translations update
* Make signrawtransaction accept P2SH-P2WSH redeemscripts
* fix possible shutdown assertion with -reindex-shutdown
* test: Add unit test for LockDirectory
* util: Fix multiple use of LockDirectory
* travis: Don\'t fetch --unshallow when no longer shallow-cloning
* travis: Full clone for git subtree check
* Interrupt loading thread after shutdown request
* Thu Nov 09 2017 marecAATTdetebe.org- Update to version 0.15.1:
* Update release notes for 0.15.1
* doc: Fill in 0.15.1 changelog and authors in release notes
* rpc: further constrain the libevent workaround
* rpc: work-around an upstream libevent bug
* build: Bump version to 0.15.1
* Add unit test for stale tip checking
* Add CConnmanTest to mutate g_connman in tests
* Connect to an extra outbound peer if our tip is stale
* Track tip update time and last new block announcement from each peer
* Fri Sep 15 2017 marecAATTdetebe.org- Update to version 0.15.0.1:
* doc: Release notes for 0.15.0.1
* qt: Translations update pre-0.15.0.1
* doc: Bump manpages to 0.15.0.1
* build: Bump version to 0.15.0.1
* Fix Qt 0.14.2->0.15.0 segfault if \"total at least\" is selected
* doc: Clean out release notes on 0.15 branch
* doc: Old fee_estimates.dat are discarded by 0.15.0
* travis: filter out pyenv
* doc: Add missing contributors to release notes
* Mon Sep 11 2017 marecAATTdetebe.org- Update to version 0.15.0:
* doc: Release notes for 0.15.0.1
* qt: Translations update pre-0.15.0.1
* doc: Bump manpages to 0.15.0.1
* build: Bump version to 0.15.0.1
* Fix Qt 0.14.2->0.15.0 segfault if \"total at least\" is selected
* doc: Clean out release notes on 0.15 branch
* doc: Old fee_estimates.dat are discarded by 0.15.0
* travis: filter out pyenv
* doc: Add missing contributors to release notes
* Mon Jun 19 2017 marecAATTdetebe.org- Update to version 0.14.2:
* Note preexisting bug in display of fee calculation in coin control
* doc: Fill in details about miniupnp CVE-2017-8798
* doc: Update manpages for 0.14.2
* qt: 0.14.2 pre-rc2 translations update
* doc: Preliminary release notes 0.14.2
* build: bump version to 0.14.2
* net: only enforce the services required to connect
* [Wallet] unset change position when there is no change on exact match
* build: fix bitcoin-config.h regeneration after touching build files
* build: remove wonky auto top-level convenience targets
* Fri Apr 21 2017 marecAATTdetebe.org- Update to version 0.14.1:
* Clarify importprivkey help text with example of blank label without rescan
* release-notes: Accurately explain getblocktemplate improvements
* doc: Update release notes pre-rc2
* qt: translations update pre-rc2
* net: define NodeId as an int64_t
* [rpc] rename disconnectnode argument
* Mention dbcache memory changes in 0.14.1 release notes
* Add some more release notes for 0.14.1.
* doc: Remove release note about release notes
* doc: Update release notes for 0.14.1
* Tue Mar 07 2017 marecAATTdetebe.org- Update to version 0.14.0:
* Fix regsig checking for subkey sigs in verify-commits
* Allow any subkey in verify-commits
* Bugfix: Only install manpages for built programs
* depends: make osx output deterministic
* Add Pieter\'s old signed commits to revsig-commits
* Fix importmulti returning rescan errors for wrong keys
* doc: pre-rc3 changelog update
* qt: pre-rc3 translations update
* Avoid VLA in hash.h
* Mon Jan 02 2017 marecAATTdetebe.org- Update to version 0.13.2:
* doc: Remove ... from release notes
* Bump man pages
* [qt] Bump BLOCK_CHAIN_SIZE
* Bump nMinimumChainWork
* Bump version to 0.13.2
* doc: Add #9382 to release notes
* reduce number of lookups in TransactionWithinChainLimit
* Test for fix of txn chaining in wallet
* CreateTransaction: Don\'t return success with too-many-ancestor txn
* SelectCoinsMinConf: Prefer coins with fewer ancestors
* Thu Oct 27 2016 marecAATTdetebe.org- Update to version 0.13.1:
* Update release notes for dropping osx 10.7 support
* release: bump required osx version to 10.8. Credit jonasschnelli.
* [net] Remove assert(nMaxInbound > 0)
* release-notes: Update from blog draft
* doc: Update blurb in release notes
* doc: Add missing credit to release notes
* doc: Update release notes for rc2
* nMaxOutbound is MAX_OUTBOUND_CONNECTIONS on 0.13
* qt: pre-rc2 translations update
* RPC/Mining: getblocktemplate: Update and fix formatting of help
* Fri Aug 19 2016 marecAATTdetebe.org- Update to version 0.13.0:
* doc/release-notes: Document changed bytespersigop behaviour
* doc/release-notes: Mention the relevance of Compact Blocks on non-mining nodes\' influence on network policy
* doc/release-notes: Misc
* Mention dump/import support for HD wallets
* Remove refactors from list of changes
* Inline mempool RPCs and feefilter into misc sections
* doc: Update changelog for rc3
* qt: translations update pre-rc3
* Bugfix: Use pre-BIP141 sigops until segwit activates
* Document reindexing changes
* Thu Apr 14 2016 marecAATTdetebe.org- Update to version 0.12.1:
* Add missing link to BIP113
* doc: update release notes for #7835
* Version 2 transactions remain non-standard until CSV activates
* Fill in rest of release notes
* Reduce block timeout to 10 minutes
* Track block download times per individual block
* init: allow shutdown during \'Activating best chain...\'
* pre-rc1 translations update
* build: Remove unnecessary executables from gitian release
* [0.12] Update release notes
* Thu Jan 14 2016 marecAATTdetebe.org- Update to version 0.12.0:
* Fix duplicate names in release notes
* doc: Remove another duplicate author name from release notes
* Fix of semantic failure \"meet pay\"
* doc: fix author list in release notes
* qt: Translation update pre-rc5
* doc: Release notes update pre-rc5
* Changed getnetworkhps value to double to avoid overflow.
* [rpc-tests] Change solve() to use rehash
* Fix spelling: misbeha{b,v}ing
* release-notes: Minor corrections and clarifications re Priority
* release-notes: Significantly rewrite priority transactions section
* release-notes: Remove suggestion to use 0.11
* release-notes: Mention possibility of priority removal in 0.13, uncertainty of priority calculation being changed back, and request community input
* release-notes: Cover priority changes correctly, removing mentions of possible futures
* Fri Nov 13 2015 marecAATTdetebe.org- Update to version 0.11.2:
* [doc] 0.11.2 release notes: use original pull numbers
* [docs] 0.11.2 release notes: add sipa graphs & leveldb note
* [docs] Minor revisions to 0.11.2RC1 release notes
* [Docs] First-draft release notes for 0.11.2RC1
* bump version to 0.11.2
* Always flush block and undo when switching to new file
* Squashed \'src/leveldb/\' changes from 7d41e6f..20ca81f
*
*: alias -h for --help
* Change URLs to https in debian/control
* Update debian/changelog and slight tweak to debian/control
* Correct spelling mistakes in doc folder
* Clarification of unit test build instructions.
* Update bluematt-key, the old one is long-since revoked
* [Trivial] Fixed typo when referring to a previous section in depends/README.md [skip ci]
* build: disable -Wself-assign
* Bugfix: Allow mining on top of old tip blocks for testnet (fixes testnet-in-a-box use case)
* build: Remove dependency of bitcoin-cli on secp256k1
* [trivial] Fix rpc message \"help generate\"
* Drop \"with minimal dependencies\" from description
* Split bitcoin-tx into its own package
* Include bitcoin-tx binary on Debian/Ubuntu
* [Qt] Raise debug window when requested
* Fix locking in GetTransaction.
* Fix spelling of Qt
* Thu Oct 15 2015 marecAATTdetebe.org- Update to version 0.11.1:
* doc: Add Luke Dashjr to credits in release notes
* doc: update release notes for 0.11.1rc2
* Bump minrelaytxfee default
* net: Disable upnp by default
* Bump version to 0.11.1
* doc: #6077 was reverted, don\'t mention in release notes
* qt: Update translations before 0.11.1
* doc: Update release notes for 0.11.1
* Update miniupnpc to 1.9.20151008
* Sat Jul 11 2015 marecAATTdetebe.org- Update to version 0.11.0:
* doc: add important information about tx flood to release notes
* Fix typo in release notes.
* release notes for fee estimation changes
* assets-attribution: Update typicons to MIT license
* update release notes for 0.11.0rc3
* Ideal release process for Windows detached signing
* gitian: make the windows signing process match OSX
* Hardcoded seeds update June 2015
* Advance pindexLastCommonBlock for blocks in chainActive
* Sat May 16 2015 marecAATTdetebe.org- Update to version 0.10.2:
* doc: small amandment to release notes
* Release notes 0.10.2
* Avoid crash on start in TestBlockValidity with gen=1.
* Translations update
* Preparations for 0.10.2 release
* don\'t imbue boost::filesystem::path with locale \"C\" on windows
* wallet: fix boost::get usage with boost 1.58
* qt: translation update for next 0.10 point release
* doc: improve credits in release notes
* update release notes for 0.10.1rc3
* Sun Apr 26 2015 marecAATTdetebe.org- Update to version 0.10.1:
* doc: improve credits in release notes
* update release notes for 0.10.1rc3
* Cap nAttempts penalty at 8 and switch to pow instead of a division loop.
* Set nSequenceId when a block is fully linked
* Initialization: setup environment before starting QT tests
* Initialization: setup environment before starting tests
* Initialization: set fallback locale as environment variable
* Fix CheckBlockIndex for reindex.
* Fix missing lock in submitblock
* doc: update release notes pre rc2
* Wed Feb 18 2015 marecAATTdetebe.org- Update to version 0.10.0:
* gitian: don\'t add . to tar list
* doc/release-notes.md: Explain affect of BIP66 on miners
* Add BIP 66 notice to the 0.10 release notes.
* Modify release-notes for changes related to free tranactions
* Increase block download timeout base from 10 to 20 minutes.
* Fix priority calculation in CreateTransaction
* Avoid storing a reference passed to SignatureChecker constructors
* Use separate SignatureChecker for CMutableTransaction
* doc/release-notes.md: Add summary of mining enhancements
* Wed Jan 21 2015 marecAATTdetebe.org- Update to version 0.9.4:
* doc: Properly format git commits in changelog
* Bump version to 0.9.4
* doc: Update release notes for 0.9.4
* qt: Pull updated translations from Transifex
* Improve robustness of DER recoding code
* gitian: bump revision for OSX qt
* doc: Update release process for openssl bump
* fail immediately on an empty signature
* gitian: openssl-1.0.1i.tar.gz -> openssl-1.0.1k.tar.gz
* consensus: guard against openssl\'s new strict DER checks
* Sun Nov 16 2014 marecAATTdetebe.org- initial package build