|
|
|
|
Changelog for dashpay-utils-bash-completion-20.1.1-lp153.3.1.noarch.rpm :
* Thu Apr 04 2024 marecAATTdetebe.org- Update to version 20.1.1: * chore: bump version to 20.1.1 * docs: add v20.1.1 release notes * Merge #5970: guix: exclude debug symbols for apple from list of hashes due to its non-determinism * Merge #5927: fix: check if message can be handled before attempting to deserialize * Merge #5968: docs: add v20.0.4 release notes * Merge #5962: fix: deadlock over cs_main and contributionsCacheCs in dkssessionmgr * Tue Mar 05 2024 marecAATTdetebe.org- Update to version 20.1.0: * chore: set IS_RELEASE to true * docs: add release notes for 20.1.0 * docs: update manpages for 20.1 * refactor: actually move out of previousQuarters.quarterHMinus *C and newQuarterMembers into quorumMembers * ci: exclude translation files from clang-diff analysis * 99%+: it * 80%+: bg * 88%+: ar, de, es, fi, fr, ja, ko, nl, pt, sk, tr, zh_TW * 90%+: it, pl, th, zh_CN * 100%: ru * chore: update `dashstrings.cpp` and `dash_en.ts`/`dash_en.xlf` * docs: fix transifex link for Dash Core * Merge #20677: doc: Remove shouty enums in net_processing comments * Merge bitcoin/bitcoin#22311: test: Add missing syncwithvalidationinterfacequeue in p2p_blockfilters * Merge #21357: test: Unconditionally check for fRelay field in test framework * Merge bitcoin/bitcoin#22203: test: Use ConnmanTestMsg from test lib in denialofservice_tests * Merge bitcoin/bitcoin#22086: test: remove BasicTestingSetup from unit tests that don\'t need it * Merge #21003: test: Move MakeNoLogFileContext to libtest_util, and use it in bench * Merge #20210: net: assert CNode::m_inbound_onion is inbound in ctor, add getter, unit tests * Merge #20737: test: Add missing assignment in mempool_resurrect.py * Merge #20692: test: run mempool_resurrect.py even with wallet disabled * Merge #20047: test: use wait_for_{block,header} helpers in p2p_fingerprint.py * fix: actually run rpc_fundrawtransaction with and without HD feature * chore: bump protocol version to 70231 * chore: update chainparams for testnet * docs: update release process for generating seeds: new PR as a reference * fix: uninitialized variable onions in makeseeds script * chore: update seeds for v20.1 * chore: update chainparams for v20.1 release * fix: fallback to a commit hash in `codesign.sh` * Merge bitcoin/bitcoin#26131: log: log RPC port on startup * Merge bitcoin/bitcoin#26130: Bugfix: Wallet: Lock cs_wallet for SignMessage * Merge bitcoin/bitcoin#25918: build: prune event2 compat headers * Merge bitcoin/bitcoin#26090: fs: fully initialize `_OVERLAPPED` for win32 * Merge bitcoin-core/gui#664: Prevent wrong handling of `%2` token by Transifex * Merge bitcoin/bitcoin#26054: test: verify best blockhash after invalidating an unknown block * Merge bitcoin/bitcoin#26007: [contrib] message-capture-parser: fix AssertionError on parsing `headers` message * Merge bitcoin/bitcoin#26002: build: sync ax_boost_base from upstream * Merge bitcoin/bitcoin#26038: test: invalidating an unknown block throws an error * Merge bitcoin/bitcoin#25959: doc: Fix link to MurmurHash3.cpp (moved from Google Code to Github) * Merge bitcoin/bitcoin#25967: refactor: add LIFETIMEBOUND to blockfilter where needed * Merge bitcoin/bitcoin#25883: doc: Security config warning * Merge bitcoin/bitcoin#25888: refactor: use `strprintf` for creating unknown-service-flag string * Merge bitcoin/bitcoin#25836: subtree: update crc32c subtree * Merge bitcoin/bitcoin#25798: build: fix cleanup of test logs * Merge bitcoin/bitcoin#25811: doc: test: suggest multi-line imports in functional test style guide * Merge bitcoin/bitcoin#25788: guix: patch NSIS to remove .reloc sections from installer stubs * Merge bitcoin/bitcoin#22176: test: Correct outstanding -Werror=sign-compare errors * Merge bitcoin/bitcoin#22180: fuzz: Increase branch coverage of the float fuzz target * fix: rename \"Mask values\" to \"Discreet mode\" * feat: enable optional rebasing as part of github-merge.py script * merge bitcoin#28012: Allow FastRandomContext::randbytes for std::byte, Allow std::byte serialization * partial bitcoin#27927: Allow std::byte and char Span serialization * test: place the std::ostream operator<< definition in namespace std * partial bitcoin#23595: Add ParseHex () helper * partial bitcoin#25296: Add DataStream without ser-type and ser-version * merge bitcoin#26258: Remove unused CDataStream::rdbuf method * partial bitcoin#25001: Modernize util/strencodings and util/string: string_view and optional * merge bitcoin#24231: Fix read-past-the-end and integer overflows * merge bitcoin#24253: Remove broken and unused CDataStream methods * merge bitcoin#24190: Fix sanitizer suppresions in streams_tests * merge bitcoin#23438: Use spans of std::byte in serialize * merge bitcoin#23653: Generalize/simplify VectorReader into SpanReader * merge bitcoin#21969: Switch serialize to uint8_t * merge bitcoin#21824: Replace deprecated char with uint8_t in serialization * merge bitcoin#21966: Remove double serialization; use software encoder for fee estimation * merge bitcoin#21817: Replace &foo[0] with foo.data() * trivial: move GetSerializeSize away from Stream (Un)serialize functions * fix: drop symlinks in immer subtree * Merge bitcoin/bitcoin#25697: depends: expat 2.4.8 & fix building with -flto * Merge bitcoin/bitcoin#22485: doc: BaseIndex sync behavior with empty datadir * Merge bitcoin/bitcoin#25605: depends: update urls for dmg tools * Merge bitcoin/bitcoin#24319: refactor: Avoid unsigned integer overflow in core_write * Merge bitcoin/bitcoin#24191: refactor: Make MessageBoxFlags enum underlying type unsigned * Merge bitcoin/bitcoin#24059: Fix implicit-integer-sign-change in arith_uint256 * Merge bitcoin/bitcoin#23992: fuzz: Limit fuzzed time to years 2000-2100 * Merge bitcoin/bitcoin#23626: refactor: Fix implicit-signed-integer-truncation in cuckoocache.h * Merge bitcoin/bitcoin#23553: test: Remove sanitizer suppression implicit-signed-integer-truncation:netaddress.cpp * Merge bitcoin/bitcoin#22584: test: Add temporary sanitizer suppression implicit-signed-integer-truncation:netaddress.cpp * Merge bitcoin/bitcoin#22146: Reject invalid coin height and output index when loading assumeutxo * Merge bitcoin/bitcoin#22202: test: Add temporary coinstats suppressions * Merge bitcoin/bitcoin#21846: fuzz: Add `-fsanitize=integer` suppression needed for RPC fuzzer (`generateblock`) * Merge bitcoin/bitcoin#21752: doc: Clarify that feerates are per virtual size. * Merge bitcoin/bitcoin#21818: doc: fixup -coinstatsindex help, update bitcoin.conf and files.md * partial bitcoin#26341: add BIP158 false-positive element check in rpc_scanblocks.py * merge bitcoin#23859: Add missing suppressions for crypto_diff_fuzz_chacha20.cpp * partial bitcoin#21798: Create a block template in tx_pool targets * merge bitcoin#21604: Document why no symbol names can be used for suppressions * merge bitcoin#21599: Replace file level integer overflow suppression with function level suppression * merge bitcoin#21586: Add missing suppression for signed-integer-overflow:txmempool.cpp * merge bitcoin#21000: Add UBSan suppressions needed for fuzz tests to not warn under -fsanitize=integer * Merge bitcoin/bitcoin#25589: test: speedup wallet_coinbase_category.py * Merge bitcoin/bitcoin#25568: Remove my key from trusted-keys * Merge bitcoin/bitcoin#25506: Rephrase error message for invalid value of `-peertimeout` * Merge bitcoin/bitcoin#25457: Use more specific path when including `memenv.h` header * Merge bitcoin/bitcoin#25451: test: `-whitebind` and `-bind` with `-listen=0` should throw an error * Merge bitcoin/bitcoin#25440: log: Use consistent wording in random.cpp log * Merge bitcoin/bitcoin#25425: build: Fix `::_wsystem` check * Merge bitcoin/bitcoin#25370: test: check for `getblocktxn` request with out-of-bounds tx index * Merge bitcoin/bitcoin#25367: [contrib] message-capture-parser: fix out of bounds error for empty vectors * refactor: use NodeContext members instead of globals in interface logic * qt: add interface for CGovernanceObject querying * refactor: reduce globals use in RPC and bench, use LLMQContext members * refactor: use NodeContext members instead of globals in RPC logic * refactor: use aliases of globals in unit tests * refactor: dereference CDeterministicMNManager instance before use * refactor: use aliases of globals in initialization logic * refactor: rename creditPoolManager to cpoolman in NodeContext, fix order * refactor: remove extraneous creditPoolManager initialization * refactor: add aliases for Dash-specific global pointers in NodeContext * refactor: use atomic to avoid blocking chainlocks cs on each call to cleanup * backport: partial Merge bitcoin-core/gui#96: Slight improve create wallet dialog * fix: adjust verify-binaries script to properly handle RCs * non-scripted-diff: bump copyright year to 2023 * fix: wrong copyright for dash files * feat: migrate to a CA issued certificate * Merge #19104: gui, refactor: Register Qt meta types in application constructor * Merge #19111: Limit scope of all global std::once_flag * Merge #18452: qt: Fix shutdown when waitfor * cmds are called from RPC console * Merge bitcoin/bitcoin#25332: build: test for timingsafe_bcmp * Merge bitcoin/bitcoin#25320: util: modify Win32LockedPageAllocator to query windows for limit. * Merge bitcoin/bitcoin#25359: doc: add distcc to productivity notes * Merge bitcoin/bitcoin#25312: test: Fix port collisions caused by p2p_getaddr_caching.py * Merge bitcoin/bitcoin#25165: doc: Explain squashing with merge commits * Merge bitcoin/bitcoin#25210: doc: remove misleading AreInputsStandard() comment * Merge bitcoin/bitcoin#25046: build: Fix `libmultiprocess` cross-compiling to Linux hosts * Merge bitcoin/bitcoin#24754: build: specify cmake build dir for multiprocess depends build * Merge bitcoin/bitcoin#24574: test: Actually print TSan tracebacks * Merge bitcoin-core/gui#568: options: flip listenonion to false if not listening * Merge bitcoin/bitcoin#24385: build: remove boost dep from libmultiprocess * Merge bitcoin/bitcoin#24316: ci: Rename Cirrus CI osx_instance to macos_instance * Merge bitcoin/bitcoin#23130: doc: Revert \"Remove outdated comments\" and place comment correctly * Merge bitcoin/bitcoin#23094: doc: Remove outdated comments * docs: update license year range to 2024 (#5890) * Merge #19858: Periodically make block-relay connections and sync headers * Merge #20561: p2p: periodically clear m_addr_known * Merge #20138: net: Assume that SetCommonVersion is called at most once per peer * Merge #19847: rpc, refactor: Avoid duplicate set lookup in gettxoutproof * Merge #18948: qt: Call setParent() in the parent\'s context * refactor: avoid cs_main (#5650) * test: multiple linter warnings to suppress or fix (#5880) * refactor: make a few additional things use std::string_view (#5874) * merge bitcoin#24005: add python implementation of Elligator swift * merge bitcoin#27542: add ripemd160 to test framework modules list * partial bitcoin#26222: Introduce secp256k1 module with field and group classes to test framework * partial bitcoin#20842: consolidate typo & url fixing * docs: add missing block of description style not picked up by Doxygen * docs: update Doxygen documentation URLs to doxygen.nl domain * partial bitcoin#20161: Minor taproot follow-ups * merge bitcoin#21100: remove unused function xor_bytes * partial bitcoin#20292: Fix intermittent feature_taproot issue * partial bitcoin#23394: Taproot wallet test vectors * merge bitcoin#27538: remove modinv python util helper function * partial bitcoin#19953: Implement BIP 340-342 validation * merge bitcoin#22029: Improve transport deserialization fuzz test coverage * trivial: use WITH_LOCK when possible (#5879) * docs: rpc help correction (#5877) * fix: intermittent failures in `feature_asset_locks.py` (#5875) * feat: add onion_seeds to seed creation; do seed creation (#5866) * Merge bitcoin/bitcoin#23781: test: Fix `system_tests/run_command` on Windows * Merge bitcoin/bitcoin#22769: fuzz: Use LIMITED_WHILE instead of limit_max_ops * Merge bitcoin/bitcoin#22749: ci: Run arm task on arm64 hardware * Merge bitcoin/bitcoin#22746: doc: Update GitHub documentation links * Merge bitcoin-core/gui#379: Prompt to reset settings when settings.json cannot be read * Merge bitcoin/bitcoin#22454: fuzz: Limit max ops in tx_pool fuzz targets * Merge bitcoin/bitcoin#22353: ci: Upgrading pip version in macos environment * Merge bitcoin/bitcoin#22065: Mark `CheckTxInputs` `[[nodiscard]]`. Avoid UUM in fuzzing harness `coins_view`. * Merge bitcoin-core/gui#332: Replace disambiguation strings with translator comments * Merge bitcoin-core/gui#125: Enable changing the autoprune block space size in intro dialog * Merge bitcoin-core/gui#188: Write PSBTs to file with binary mode * Merge #21228: test: Avoid comparision of integers with different signs * Merge #20854: [mempool] Remove unnecessary try-block * Merge #20028: test: Check that invalid peer traffic is accounted for * refactor: remove circular dependencies through net_processing (2/N) (#5792) * test: asset unlock (withdrawal) should not be Instant-Send locked (#5862) * Merge bitcoin/bitcoin#25117: test: Check msg type in msg capture is followed by zeros * Merge #21107: test: remove type: comments in favour of actual annotations * Merge #19509: Per-Peer Message Capture * Merge #21060: doc: More precise -debug and -debugexclude doc * Merge #21029: bitcoin-cli: Correct docs (no \"generatenewaddress\" exists) * fix: intermittent failures in `feature_governance.py` (#5868) * ci: use clang-16 * Merge bitcoin/bitcoin#27298: ci: Use TSan new runtime (llvm-16, take 3) * trivial: add missing rpc help messages, remove segwit references, dashify help text, undashify code comments (#5852) * feat: enable HD wallets by default (#5807) * fix: intermittent failure in `feature_dip3_v19.py` (#5863) * fix: unlock proregtx collateral on error (#5838) * test: add activate_ehf_by_name * feat(consensus): Generalize ehf activation * fix: Store BLSVerificationVector on disk using basic bls scheme (#5480) * feat(rpc): Tweak `protx info` to be able to show info for a specific block (#4738) * Merge #20507: sync: print proper lock order location when double lock is detected * Merge #20927: [refactor] [net] Clean up InactivityCheck() * Merge #18990: log: Properly log txs rejected from mempool * Merge #19429: test: Fix intermittent failure in wallet_encryption * Merge #19214: Auto-detect SHA256 implementation in benchmarks * Merge #19272: net, test: invalid p2p messages and test framework improvements * Merge #19562: test: Fix fuzzer compilation on macOS * Merge #19370: Static asserts for consistency of fee defaults * Merge bitcoin/bitcoin#27345: guix: use GCC tool wrappers * Merge bitcoin/bitcoin#27326: guix: combine and document `enable_werror` * Merge bitcoin/bitcoin#27153: guix: pass `--enable-initfini-array` to release GCC * Merge bitcoin/bitcoin#26335: Guix documentation improvements * Merge bitcoin/bitcoin#26047: guix: use git-minimal over git * Merge bitcoin/bitcoin#25833: doc: minor updates to guix README * Merge bitcoin/bitcoin#25508: guix: use elfesteem 2eb1e5384ff7a220fd1afacd4a0170acff54fe56 * Merge bitcoin/bitcoin#24509: doc: Add `guix` prefix for changes to reproducible builds * Merge bitcoin/bitcoin#22531: guix: Fixes to guix-{attest,verify} * fix: intermittent failure in feature_llmq_simplepose.py (#5859) * merge bitcoin#21170: Add benchmark to write JSON into a string * merge bitcoin#21114: Deduplicate some block-to-JSON code. * merge bitcoin#19961: tor.md updates * merge bitcoin#20187: test-before-evict bugfix and improvements for block-relay-only peers * merge bitcoin#20167: Add test for -blockversion * test: use `TIME_GENESIS_BLOCK` as mocktime starting point * merge bitcoin#19401: Use GBT to get block versions correct * merge bitcoin#17775: Try case where txn has inputs first * merge bitcoin#19998: Add CNode::ConnectedThroughNetwork member function * merge bitcoin#19289: GetWalletTx and IsMine require cs_wallet lock * merge bitcoin#24336: Print enable_fuzz_binary in configure * partial bitcoin#21606: Extend psbt fuzz target a bit * merge bitcoin#21970: Add missing CheckTransaction before CheckTxInputs * merge bitcoin#21553: Misc refactor * merge bitcoin#21522: Use PickValue where possible * merge bitcoin#20833: enable packages through testmempoolaccept * merge bitcoin#21512: Fix tx_pool target to properly fuzz immature outpoints * merge bitcoin#21142: Add tx_pool fuzz targets * merge bitcoin#21443: Implement fuzzed_dns_lookup_function as lambda * merge bitcoin#21336: Make .gitignore ignore src/test/fuzz/fuzz.exe * fuzz: drop nonexistent messages from `FUZZ_TARGET_MSG` in process_message * fuzz: add missing Dash-specific network messages * merge bitcoin#20908: Use mocktime in process_message * fuzz targets * merge bitcoin#20332: Mock IBD in net_processing fuzzers * build: fix indentation for test, fuzz and bench option print * Merge #20390: CI/Cirrus: Skip merge_base step for non-PRs * Merge #20368: ci: Remove redundant valgrind fuzz task * Merge #20339: ci: Run more ci configs on cirrus * Merge #20315: travis: Remove s390x build * Merge #20328: cirrus: Skip tasks on the gui repo main branch * Merge #20294: ci: Run more ci configs on cirrus * Merge #20299: test: Fix intermittent rpc_net issue * Merge #20258: tests: Remove getnettotals/getpeerinfo consistency test * Merge #20115: cli: -netinfo quick updates/fixups for 0.21 * Merge #20112: test: Speed up wallet_resendwallettransactions with mockscheduler RPC * Merge #20285: Remove references to CreateWalletFromFile * fix: merge mistake to follow-up bitcoin#17261 * merge bitcoin#22084: package testmempoolaccept followups * partial bitcoin#20833: enable packages through testmempoolaccept * merge bitcoin#21121: Small unit test improvements, including helper to make mempool transaction * partial bitcoin#19668: Make runtime lock checks require compile-time lock checks * merge bitcoin#21783: Make MempoolAcceptResult members const * merge bitcoin#21062: return MempoolAcceptResult from ATMP * merge bitcoin#20834: locks and docs in ATMP and CheckInputsFromMempoolAndCache * merge bitcoin#20581: Don\'t make \"in\" parameters look like \"out\"/\"in-out\" parameters: pass by ref to const instead of ref to non-const * merge bitcoin#19753: don\'t add AlreadyHave transactions to recentRejects * merge bitcoin#19339: re-delegate absurd fee checking from mempool to clients * merge bitcoin#19498: Tidy up ProcessOrphanTx * merge bitcoin#19940: Return fee and vsize from testmempoolaccept * refactor: refactor initialization of `quorum` (#5856) * Merge #20915: fuzz: Fail if message type is not fuzzed * Merge #20663: fuzz: Hide script_assets_test_minimizer * Merge #21077: doc: clarify -timeout and -peertimeout config options * Merge #20832: rpc: Better error messages for invalid addresses * Merge #20998: test: Fix BlockToJsonVerbose benchmark * feat: rpc submitchainlock short circuit if possible and always return… (#5806) * partial Merge #20245: test: Run script_assets_test even if built --with-libs=no * Merge #20106: cirrus: Use kvm to avoid spurious CI failures in the default virtualization cluster * refactor: unify with bitcoin s/RUN_INTEGRATION_TESTS/RUN_FUNCTIONAL_TESTS/ * Merge #20072: ci: Build Arm64 on Travis without functional tests * Merge #19881: ci: Double tsan CPU and Memory to avoid global timeout * Merge #19746: ci: Move valgrind fuzzer to cirrus * Merge #21182: build: remove mostly pointless BOOST_PROCESS macro * Merge #15382: util: add RunCommandParseJSON * Merge #19450: ci: Add tsan suppression for race in BerkeleyBatch * Merge #19424: ci: Run tsan ci config on cirrus * Merge #19412: test: move TEST_RUNNER_EXTRA into native tsan setup * Merge #19321: ci: Run asan ci config on cirrus * feat(rpc): `quorum dkginfo` rpc (#5853) * feat(rpc): added optional block height in `getassetunlockstatuses` (#5849) * fix: don\'t make keypool refill spam progress bars (#5851) * Merge bitcoin-core/gui#35: Parse params directly instead of through node (partial revert #10244) * Merge bitcoin-core/gui#120: Fix multiwallet transaction notifications * refactor: unify code of qr widget with bitcoin\'s implementation bitcoin-core/gui#71 * Merge bitcoin-core/gui#71: Fix visual quality of text in QR image * Merge #20105: [net] Remove CombinerAll * partial Merge #20004: test: Add signet witness commitment section parse tests * Merge #19597: test: test decodepsbt fee calculation (count input value only once per UTXO) * Merge bitcoin-core/gui#220: Do not translate file extensions * Merge bitcoin-core/gui#85: Remove unused \"What\'s This\" button in dialogs on Windows OS * partial Merge #18027: \"PSBT Operations\" dialog * Merge #19731: net, rpc: expose nLastBlockTime/nLastTXTime as last block/last_transaction in getpeerinfo * fix: correct connection order - regular nodes before MN * fix: node initialization in DashTestFramework to unify with BitcoinTestFramework * fix: revive IsQuorumTypeEnabled logic dropped in 5790 (#5841) * Merge #19109: Only allow getdata of recently announced invs * Merge #20090: [doc] Tiny followups to new getpeerinfo connection type field * Merge #17428: p2p: Try to preserve outbound block-relay-only connections during restart * Merge #20131: test: Remove unused nVersion=1 in p2p tests * Merge #20027: Use mockable time everywhere in net_processing * Merge #20022: test: use explicit p2p objects where available * Merge #19804: test/refactor: reference p2p objects explicitly and remove confusing Test_Node.p2p property * Merge #17785: p2p: Unify Send and Receive protocol versions * Merge #19879: [p2p] miscellaneous wtxid followups * Merge #19610: p2p: refactor AlreadyHave(), CInv::type, INV/TX processing * Merge #20071: ci, lint: Remove usage of TRAVIS_COMMIT_RANGE * Merge #19276: ci: Move travis workarounds to .travis.yml * Merge #19422: ci: Add tsan suppression for race in wallet * Merge #19226: test: Add BerkeleyDatabase tsan suppression * Merge #19164: ci: tsan with wallet * partial Merge #19041: ci: tsan with -stdlib=libc++-10 * Merge #19348: test: Bump linter versions * Merge #20076: doc: Update and improve files.md * Merge #18790: gui: Improve thread naming * Merge #19840: Avoid callback when -blocknotify is empty * fix: solve qt segfault (#5845) * Merge #20385: test: run mempool_spend_coinbase.py even with wallet disabled * Merge #20276: test: run mempool_expiry.py even with wallet disabled * Merge #20126: test: p2p_leak_tx.py improvements (use MiniWallet, add p2p_lock acquires) * Merge #19963: Clarify blocksonly whitelistforcerelay test * Merge #19124: doc: Document ALLOW_HOST_PACKAGES dependency option * Merge #20159: test: mining_getblocktemplate_longpoll.py improvements (use MiniWallet, add logging) * Merge #20168: contrib: Fix gen_key_io_test_vectors.py imports * Merge #20876: test: Replace getmempoolentry with testmempoolaccept in MiniWallet * Merge #20688: test: run mempool_compatibility.py even with wallet disabled * Merge #19922: test: Run rpc_txoutproof.py even with wallet disabled * Merge #19800: test: Mockwallet * Merge #19517: psbt: Increment input value sum only once per UTXO in decodepsbt * Merge #19514: [net/net processing] check banman pointer before dereferencing * Merge #19495: ci: Disable macOS functional tests on forked repos to avoid timeouts * Merge #19494: doc: CONTRIBUTING.md improvements * partial Merge bitcoin-core/gui#30: Disable the main window toolbar when the modal overlay is shown * Merge #19453: refactor: reduce DefaultRequestHandler memory allocations * Merge #19347: [net] Make cs_inventory nonrecursive * Merge #19215: psbt: Include and allow both non_witness_utxo and witness_utxo for segwit inputs * Merge #19371: ci: Increase test timeout for sanitizer configs * Merge #21346: doc: install qt5 when building on macOS * Merge #20119: BIP155 follow-ups * Merge #20006: Fix misleading error message: Clean stack rule * Merge #19914: refactor: Do not pass chain params to CheckForStaleTipAndEvictPeers twice * Merge #19738: wallet: Avoid multiple BerkeleyBatch in DelAddressBook * Merge #19765: doc: Fix getmempoolancestors RPC result doc * chore: dashification: drop DOCKER_NAME_TAG * Merge #19267: ci: Upgrade most ci configs to focal * Merge #20279: doc: release process updates/fixups * Merge #17002: chainparams: Bump assumed chain params * Merge bitcoin-core/gui#43: bugfix: Call setWalletActionsEnabled(true) only for the first wallet * Merge bitcoin-core/gui#97: Relax GUI freezes during IBD (when using wallets) * Merge #19818: p2p: change `CInv::type` from `int` to `uint32_t`, fix UBSan warning * Merge #19670: Protect localhost and block-relay-only peers from eviction * Merge #18244: rpc: fundrawtransaction and walletcreatefundedpsbt also lock manually selected coins * Merge #19710: bench: Prevent thread oversubscription and decreases the variance of result values * Merge #19730: ci: Set increased --timeout-factor by default * Merge #19569: Enable fetching of orphan parents from wtxid peers * Merge bitcoin#18044: Use wtxid for transaction relay * feat: new rpc getrawtransactionmulti (#5839) * Merge #19752: test: Update wait_until usage in tests not to use the one from utils * Merge #19552: test: fix intermittent failure in p2p_ibd_txrelay * Merge #19760: test: Remove confusing mininode terminology * Merge #19674: refactor: test: use throwaway _ variable for unused loop counters * Merge bitcoin/bitcoin#25303: refactor: Remove redundant addrman time checks * Merge bitcoin/bitcoin#25096: [net] Minor improvements to addr caching * Merge bitcoin/bitcoin#24416: doc: Avoid ADL for function calls * Merge bitcoin/bitcoin#25253: test: add coverage for non-hex value to -minimumchainwork * Merge bitcoin-core/gui#609: wallet, refactor: Drop unused `WalletModel::PaymentRequestExpired` * Merge bitcoin/bitcoin#25224: Get time less often in AddrManImpl::ResolveCollisions_() * Merge bitcoin/bitcoin#24934: refactor, miner: Delete call to UpdatePackagesForAdded at beginning of addPackageTxs * Merge bitcoin/bitcoin#24392: build: Fix configuring depends with cmake * Merge bitcoin/bitcoin#24871: refactor: Simplify GetTime * Merge bitcoin/bitcoin#24240: depends: fix capnp\'s descriptor for make download * Merge bitcoin/bitcoin#22102: Remove `Warning:` from warning message printed for unknown new rules * Merge #21403: build: set --build when configuring packages in depends * fix: qt\'s way to do stretching columns after bitcoin-core/gui#204 (#5831) * Merge #19655: rpc: Catch listsinceblock target_confirmations exceeding block count * Merge #19605: doc: set CC_FOR_BUILD when building on OpenBSD * Merge #19660: refactor: Make HexStr take a span * Merge #19620: Add txids with non-standard inputs to reject filter * docs: adds bips.md clarification * Merge bitcoin/bitcoin#27629: doc: remove version number from bips.md * Merge #19585: rpc: RPCResult Type of MempoolEntryDescription should be OBJ. * Merge #19590: p2p, refactor: add `CInv` transaction message helpers; use in net processing * Merge #19613: travis: Re-enable s390x * Merge bitcoin-core/gui#14: scripted-diff: rename movie folder to animation * Merge bitcoin-core/gui#34: Show permissions instead of whitelisted * fix: make llmq_test_instantsend great again (#5832) * feat: use dashcore-binaries.thepasta.org as keybase.pub is defunct and validate all .asc files (#5820) * refactor: split llmq/utils to Quorum Calculation and llmq/options (#5790) * Merge #19252: test: wait for disconnect in disconnect_p2ps + bloomfilter test followups * Merge #19260: p2p: disconnect peers that send filterclear + update existing filter msg disconnect logic * Merge #19083: test: msg_mempool, fRelay, and other bloomfilter tests * fix: bitcoin#18808 follow-up * Merge #19177: test: Fix and clean p2p_invalid_messages functional tests * Merge #19403: build: improve __builtin_clz * detection * Merge bitcoin-core/gui#6: Do not truncate node flag strings in debugwindow peers details tab * Merge #17938: Disallow automatic conversion between disparate hash types * Merge bitcoin-core/gui#3: scripted-diff: Make SeparatorStyle a scoped enum * Merge #19276: ci: Move travis workarounds to .travis.yml * Merge #19282: RPC: Rephrase generatetoaddress help, and use PACKAGE_NAME * Merge #19233: Make SetMiscWarning() accept bilingual_str argument * build: disable multiprocess build in gitlab CI * Merge #20549: Support make src/bitcoin-node and src/bitcoin-gui * Merge #20046: depends: Set CMAKE_INSTALL_RPATH for native packages * Merge #19685: depends: CMake invocation cleanup * Merge #18307: build: Require pkg-config for all of the hosts * Merge #18677: Multiprocess build support * Merge bitcoin-core/gui#204: Drop buggy TableViewLastColumnResizingFixer class * Merge #21110: util: remove Boost posix_time usage from GetTime * * Merge #21028: doc/bips: Add BIPs 43, 44, 49, and 84 * Merge #21064: refactor: use std::shared_mutex & remove Boost Thread * Merge #20380: doc: Add instructions on how to fuzz the P2P layer using Honggfuzz NetDriver * Merge #20211: Use -Wswitch for TxoutType where possible * Merge #21117: test: remove assert_blockchain_height * Merge #20944: rpc: Return total fee in getmempoolinfo * Merge #20941: rpc: document RPC_TRANSACTION_ALREADY_IN_CHAIN exception * Merge #20884: script: Improve robustness of bitcoind.service on startup * Merge bitcoin-core/gui#148: Bugfix: GUI: Restore SendConfirmationDialog button default to \"Yes\" * Merge #20495: sync: Use decltype(auto) return type for WITH_LOCK * Merge #20787: Use C++17 std::array deduction for OUTPUT_TYPES, ALL_FEE_ESTIMATE_HORIZONS * Merge #20890: doc: Add explicit macdeployqtplus dependencies install step * Merge #20577: doc: libconsensus: add missing error code description, fix NBitcoin link * Merge bitcoin-core/gui#138: unlock encrypted wallet \"OK\" button bugfix * Merge bitcoin-core/gui#109: wallet: Remove unused AskPassphraseDialog::Decrypt * Merge #20346: script: modify security-check.py to use \"==\" instead of \"is\" for literal comparison * Merge bitcoin-core/gui#116: Fix unreasonable default size of the main window without loaded wallets * Merge bitcoin/bitcoin#25197: contrib: Remove keys that are no longer used for merging * Merge bitcoin/bitcoin#25166: doc: Add link to NetBSD release * Merge bitcoin/bitcoin#25126: test: add BIP157 message parsing support (via MESSAGEMAP) * Merge bitcoin/bitcoin#25124: test: Fix intermittent race in p2p_unrequested_blocks.py * Merge bitcoin/bitcoin#24962: prevector: enforce is_trivially_copyable_v * Merge bitcoin/bitcoin#25121: test: compare `/mempool/info` response with `getmempoolinfo` RPC * Merge bitcoin/bitcoin#25051: Bugfix: configure: Define defaults for enable_arm_{crc,shani} * Merge bitcoin/bitcoin#25104: wallet: Change log interval to use `steady_clock` * Merge bitcoin/bitcoin#24793: test: Change color of skipped functional tests * Merge bitcoin/bitcoin#25040: refactor: Pass lifetimebound reference to SingleThreadedSchedulerClient * Merge bitcoin/bitcoin#25017: validation: make CScriptCheck and prevector swap members noexcept * Merge bitcoin/bitcoin#24815: lint: convert lint-tests.sh to python * Merge bitcoin/bitcoin#24936: test: compare `/mempool/contents` response with `getrawmempool` RPC * Merge bitcoin/bitcoin#24854: Remove not needed ArithToUint256 roundtrips in tests * Merge bitcoin/bitcoin#24803: lint: convert submodule linter test to Python * Merge bitcoin-core/gui#584: Getting ready to Qt 6 (5/n). Do not assume `qDBusRegisterMetaType` return type * Merge bitcoin-core/gui#580: Getting ready to Qt 6 (3/n). Do not use `QKeyEvent` copy constructor * Merge bitcoin/bitcoin#24168: Fix some race conditions in `BanMan::DumpBanlist()` * Merge bitcoin/bitcoin#24134: build: Fix zeromq package when cross-compiling * Merge bitcoin/bitcoin#23956: build: use zeromq 4.3.4 in depends & fix NetBSD 10 build * Merge bitcoin/bitcoin#23607: rpc: Pass const char * to evhttp_connection_get_peer for new libevent * Merge bitcoin/bitcoin#24048: build: Improve error message when pkg-config is not installed * Merge bitcoin/bitcoin#23057: log: Consolidate timedata logging * Merge bitcoin/bitcoin#21802: refactor: Avoid UB in util/asmap (advance a dereferenceable iterator outside its valid range) * Merge #20635: fix misleading comment about call to non-existing function * Merge bitcoin-core/gui#153: Define MAX_DIGITS_BTC for magic number in BitcoinUnits::format * Merge #19958: doc: Better document features of feelers * feat: Set client version for non-release binaries and version in guix based on git tags (#5653) * refactor: make GetTxPayload return an Optional T instead of taking in a T& return (#5733) * feat: use a self-signed windows code signing certificate instead of e… (#5814) * Merge #20003: net: Exit with error message if -proxy is specified without arguments (instead of continuing without proxy server) * Merge #19241: help: Generate checkpoint height from chainparams * Merge #19903: Update build-openbsd.md with GUI support * Merge #19739: refactor: remove c-string interfaces for DecodeBase58{Check} * Merge #15704: Move Win32 defines to configure.ac to ensure they are globally defined * Merge #19493: wallet: Fix clang build in Mac * partial Merge #8456: [RPC] Simplified bumpfee command. * Merge #18850: wallet: Fix ZapSelectTx to sync wallet spends * Merge #19317: Add a left-justified width field to log2_work component for a uniform debug.log output * Merge #18152: qt: Use SynchronizationState enum for signals to GUI * chore: update list of circular dependencies * refactor: llmq/quorums no more depends on net_processing * refactor: llmq/blockprocessor no more depends on net_processing * refactor: llmq/chainlocks no more depends on net_processing * refactor: evo/mnauth no more depends on net_processing * refactor: governance/governance no more depends on net_processing * refactor: moved net Object\'s helpers from net_processing to net.h * refactor: spork no more depends on net_processing * refactor: coinjoin/server no more depends on net_processing * refactor: coinjoin/client no more depends on net_processing * refactor: new helpers in net_processing for external handlers * feat: new util class `expected` for return errors by more convenient way * refactor: removed unused PeerMan from several classes * fix: linter error in depends/config.site.in (#5812) * chore: drop version from README.md which is not really useful (#5811) * merge bitcoin#21629: fix configuring when building depends with NO_BDB=1 * merge bitcoin#21505: Remove unused header from the build system * partial bitcoin#21205: actually stop configure if Boost isn\'t available * merge bitcoin#20527: Do not ignore Homebrew\'s SQLite on macOS * merge bitcoin#19916: allow user to specify DIR_FUZZ_SEED_CORPUS for cov_fuzz * merge bitcoin#19015: Enable some commonly enabled compiler diagnostics * merge bitcoin#19761: improve sed robustness by not using sed * build: drop unused variable replacement and comment * merge bitcoin#19688: Add support for llvm-cov * partial bitcoin#18307: Require pkg-config for all of the hosts * merge bitcoin#19683: Pin clang search paths for darwin host * merge bitcoin#18051: Fix behavior when ALLOW_HOST_PACKAGES unset * merge bitcoin#10508: Run Qt wallet tests on travis * Merge #19172: test: Do not swallow flake8 exit code * Merge #18210: test: type hints in Python tests * Merge #18982: wallet: Minimal fix to restore conflicted transaction notifications * Merge #18424: qt: Use parent-child relation to manage lifetime of OptionsModel object * Merge #17968: qt: Ensure that ModalOverlay is resized properly * Merge #17956: gui: Disable unavailable context menu items in transactions tab * Merge #17908: qt: Remove QFont warnings with QT_QPA_PLATFORM=minimal * Merge #19294: test: refactor: Inline adjust_bitcoin_conf_for_pre_17 * Merge #19178: Make mininode_lock non-reentrant * Merge #18898: gui: Display warnings as rich text * Merge #19180: refactor: Replace RecursiveMutex with Mutex in Shutdown() * Merge #19331: build: Do not include server symbols in wallet * chore: add TODO accordingly init order issue for g_wallet_init_interface and WalletContext * refactor: working with raw pointer of coinjoin_loader instead reference to unique_ptr * fix: removed unused variables from wallet_tests * refactor: drop global coinJoinWalletManager * refactor: use coinjoin interfaces in qt * refactor: pass wallet name instead of wallet itself when possible * refactor: remove dependency wallet/load on CoinJoin by creating new interface method for flush * chore: drop circular dependency coinjoin/client <-> wallet * refactor: move client-side CoinJoin out of server * refactor: split CoinJoin interfaces out of wallet into their own files * refactor: introduce and use CoinJoin::Loader interface * refactor: rename CJClientManager * refactor: drop global param coinJoinClientManager from interfaces::MakeWallet * refactor: assert of masternodeSync existance moved from wallet to coinjoin * refactor: moved call g_wallet_init_interface.InitCoinJoinSettings inside CJ code * refactor: create a new global object dstxManager * Merge #15639: bitcoin-wallet tool: Drop libbitcoin_server.a dependency * fix namespace CCoinjoin * refactor: rename namespace CCoinJoin to CoinJoin * refactor: new coinjoin/common module with utils code * fix: follow-up bitcoin#15638 to move AnalyzePSBT related code * fix: A set of `qdata`/`qwatch` related fixes (#5745) * fix: follow-up missing changes from Merge #20188: tests: Add fuzzing harness for CConnman * Merge #19724: [net] Cleanup connection types- followups * (Partial) Merge #19725: [RPC] Add connection type to getpeerinfo, improve logs * Merge #19316: [net] Cleanup logic around connection types * Merge #19173: build: turn on --enable-c++17 by --enable-fuzz * Merge #19152: build: improve build OS configure output * Merge bitcoin#19115: doc: Add release notes for 17219 * partial Merge #18735: ci: Add and document BASE_BUILD_DIR * Merge #19004: refactor: Replace const char * to std::string * Merge #17946: Fix GBT: Restore \"!segwit\" and \"csv\" to \"rules\" key * Merge #18975: test: Remove const to work around compiler error on xenial * Merge #18946: rpcwallet: Replace boost::optional::emplace with simple assignment of T{} * Merge #18663: doc: mention build docs in README.md * build: Disable miner for Windows binaries built via Guix (#5801) * Merge #17597: qt: Fix height of QR-less ReceiveRequestDialog * Merge #15768: gui: Add close window shortcut * Merge #16432: qt: Add privacy to the Overview page * Merge #15202: gui: Add Close All Wallets action * partial Merge #20182: ci: Build with --enable-werror by default, and document exceptions * Merge #19427: ci: Run all tests on native mac again * Merge #19368: test: improve functional tests compatibility with BSD/macOS * Merge #19014: test: Replace TEST_PREVIOUS_RELEASES env var with test_framework option * chore: TODO to replace ubsan to asan that does same plus extra * Merge #19008: ci: tsan on clang-9 * Merge #18929: ci: Pass down LD_LIBRARY_PATH and MAKEJOBS to fuzz test_runner * Merge #18799: ci: Document why tests can not be run on mac * Merge #18778: ci: Run functional tests on mac again * Merge #18887: build: enable -Werror=gnu * Merge #18216: test, build: Enable -Werror=sign-compare * Merge #18905: travis: Remove s390x * fix: follow-up missing changes from Merge #20413: build: Require C++17 compiler * fix: withdrawal (asset unlock) txes to use Platform Quorum on RegTest (#5800) * fix: ignore triggers from the past when voting (#5798) * chore: update udjin\'s expired builder\'s key * chore: update expired pasta\'s builder key * Merge bitcoin/bitcoin#24772: refactor: Use [[maybe_unused]] attribute * Merge bitcoin/bitcoin#24837: init: Prevent -noproxy and -proxy=0 from interacting with other settings * Merge bitcoin/bitcoin#22052: net: remove non-blocking bool from interface * Merge bitcoin/bitcoin#24077: util: Make base_uint::GetHex() and base_uint::SetHex() not depend on uint256 * Merge bitcoin/bitcoin#24285: build, refactor: Drop useless `call` Make function * Merge bitcoin/bitcoin#24800: lint: convert lint-python-mutable-default-parameters.sh to Python * Merge bitcoin/bitcoin#24808: doc: update RPC argument and field naming guideline in developer notes * Merge bitcoin/bitcoin#24790: lint: remove qt SIGNAL/SLOT lint * Merge bitcoin/bitcoin#24729: util/check: avoid unused parameter warnings * Merge bitcoin/bitcoin#24746: refactor: remove macOS MAP_ANONYMOUS work around * Merge bitcoin/bitcoin#24740: doc: remove incorrect mention of PR_GET_NAME * Merge bitcoin/bitcoin#24707: doc: Speed up functional test runs using ramdisk * refactor: trivial fixes for dead, useless code and minor fixes for dash specific code (#5793) * Merge bitcoin/bitcoin#24715: build, test: Fix test logfile name * Merge bitcoin/bitcoin#24633: Bugfix: configure: Quote SUPPRESS_WARNINGS sufficiently to preserve brackets * Merge bitcoin/bitcoin#19385: test: Change default test logging directory * Merge bitcoin/bitcoin#24604: build: fix copypasta in OpenBSD C{XX} flags * Merge bitcoin/bitcoin#24650: build: require libtool 2.4.2 * Merge bitcoin/bitcoin#24646: doc: remove unneeded documentation on basic package management on FreeBSD * Merge bitcoin/bitcoin#24613: build: remove unused QMAKE_ * VARs * Merge bitcoin/bitcoin#24491: contrib: fix implicit function decleration in win symbol check * Merge bitcoin/bitcoin#24526: build: don\'t install deprecated libevent headers * Merge bitcoin-core/gui#547: Override BitcoinApplication::event() to handle QEvent::Quit * Merge bitcoin/bitcoin#24224: util: Add SaturatingAdd helper * Merge bitcoin-core/gui#508: Prevent negative values of progressPerHour * Merge bitcoin-core/gui#446: RPCConsole: Throw when overflowing size_t type for array indices * Merge bitcoin-core/gui#419: Add missing tooltips to options menu settings * Merge bitcoin-core/gui#360: Unregister wallet notifications before unloading wallets * Merge bitcoin/bitcoin#21129: fuzz: check that ser+unser produces the same AddrMan * Merge bitcoin/bitcoin#23955: build: add support for NetBSD in depends * Merge bitcoin/bitcoin#23977: depends: Fix typo * Merge bitcoin/bitcoin#23795: refactor: Remove implicit-integer-sign-change suppressions in validation * Merge bitcoin/bitcoin#23658: contrib: add check for wget command in install_db4.sh * Merge bitcoin/bitcoin#23681: test: Remove false coinstatsindex test * Merge bitcoin/bitcoin#23579: script install_db4.sh check for `patch` command before continuing to install db4 * Merge bitcoin/bitcoin#22881: doc: provide context for CNetAddr::UnserializeV1Array() and span.h with lifetimebound * Merge bitcoin/bitcoin#13875: [doc] nChainTx needs to become a 64-bit earlier due to SegWit * Merge bitcoin/bitcoin#22942: fuzz: Cleanup muhash fuzz target * Merge bitcoin/bitcoin#22895: consensus: don\'t call GetBlockPos in ReadBlockFromDisk without cs_main lock * Merge bitcoin/bitcoin#22952: Cleanup headers after #20788 * Merge bitcoin/bitcoin#22836: Stricter BIP32 decoding and test vector 5 * Merge bitcoin/bitcoin#22657: fuzz: Re-enable assert in banman again * Merge bitcoin/bitcoin#22609: [GetTransaction] remove unneeded cs_main lock acquire * Merge bitcoin/bitcoin#22557: fuzz: silence a compiler warning about unused CBanEntry comparator * Merge bitcoin/bitcoin#22481: mempool: apply rule of 5 to epochguard.h, fix compiler warnings * Merge bitcoin/bitcoin#22492: wallet: Reorder locks in dumpwallet to avoid lock order assertion * Merge #20316: test: Fix wallet_multiwallet test issue on Windows * feat(rpc): `gettxchainlocks` should return `mempool=false` when tx not in mempool (#5742) * feat(rpc): Asset Unlock status by index (#5776) * chore: add builder key for knst (#5786) * fix: ScanQuorums should not start cache population for outdated quorums (#5784) * refactor: simplify comparator in rpc/governance * refactor: drop circular dependency governance/object <-> governance/validators * cleanup: removed unused definitions from governance/object.h * refactor: drop circular dependency validationinterface <-> governance/object * refactor: a default constructor for Governance::Object * refactor: untie governance/object and wallet implementation * chore: remaining TODO goes to other PRs * refactor: drop global variable fDIP0001ActiveAtTip - partial implementation * fix: remove unused cs_main lock from src/miner.cpp - it\'s not used by EHF logic anymore * refactor: drop llmq_versionbitscache in favor of g_versionbitscache * refactor: drop public llmq::utils::IsV20Active method * chore: removed TODO for TESTNET_LLMQ_25_67_ACTIVATION_HEIGHT so far as have no idea why it is not matching with v19 activation * refactor: drop dependency validation on llmq/utils * refactor: drop dependency miner on llmq::utils::IsV20Active * refactor: drop public method llmq::utils::IsV19Active * refactor: drop dependency test/evo_deterministicmns_tests on llmq::utils * refactor: use DeploymentActiveAfter in llmq/blockprocessor * refactor: use DeploymentActiveAfter instead llmq::utils in rpc/ * refactor: drop dependency test/util/setup_common on llmq/utils * refactor: use DeploymentActiveAfter in init.cpp * refactor: use CFinalCommitment::GetVersion in llmq/{commitment,dkgsession} * refactor: use DeploymentActiveAfter in evo/mnauth * refactor: use DeploymentActiveAfter in cbtx * refactor: use DeploymentActiveAfter in ehf_signals * refactor: drop dependency evo/simplifiedmns on llmq/utils * refactor: drop unused llmq::utils::IsMNRewardReallocationActive * refactor: move out helper IsDIP3Enforced from deterministicmns * refactor: drop default value from IsDIP3Enforced() * refactor: use deployment status in deterministicmns instead llmq\'s helpers * refactor: move common code in deterministicmns to the helper * refactor: rename argument pindex to pindexPrev in GetMNPayee and GetProjectedMNPayees * refactor: drop dependency creditpool on llmq/utils * refactor: drop dependency of specialtxman on llmq/utils * fix: use proper pindex/pindex->pprev in credit pool code during v20/mn_rr activations * refactor: drop dependency unit test block_reward_reallocation_tests on llmq/utils * refactor: drop dependency masternode/payments on llmq/utils * refactor: drop dependency governance/classes on llmq/utils * refactor: use value_or in std::optional * refactor: drop IsDIP0024Active and its usage of llmq_vbc * chore: add TODO for llmq/utils.h refactoring * chore: do not include dash-qt in the docker images (#5775) * refactor: pass large structure by const reference on every RPC call (#5780) * fix: Improve quorum caching (again) (#5761) * chore: update file permissions in tests, add missing executable flag (#5778) * fix(rpc): pass blockhash into `TxToJSON` so that `getspecialtxes` could show correct `instantlock`/`chainlock` values (#5774) * feat(rpc): submit chainlock signature if needed RPC (#5765) * refactor: replace usage of deterministicMNManager to new interface listMNCollaterials * refactor: new method listMNCollaterials() for chain interface * refactor: use static method CDeterministicMNManager without touching global variable in wallet\'s code * refactor: use std::all_of in isGroupISLocked * refactor: removed usage of llmq::chainLocksHandler from wallet * refactor: replace llmq::quorumInstantSendManager->IsLocked() to new chain\'s interface * fix: dirty removal of dependency of scriptpubkeyman on ShutdownRequested introduced in #5456 * refactor: remove dependency scriptpubkeyman on uiInterface * follow-up bitcoin#15288 - missing fPrune usage * Merge bitcoin/bitcoin#22739: doc: link to managing-wallets from docs README * Merge bitcoin/bitcoin#22523: Document about wallet backup and restoration * (partial) Merge #24203: doc: Fix typos pointed out by lint-spelling * partial merge bitcoin#26532: wallet: bugfix, invalid crypted key \"checksum_valid\" set * Merge #20932: refactor: Replace fs::absolute calls with AbsPathJoin calls * Merge bitcoin/bitcoin#19362: rpc/blockchain: Reset scantxoutset progress before inferring descriptors * Merge bitcoin/bitcoin#18795: Test: wallet issue with orphaned rewards * Merge #18017: txmempool: split epoch logic into class * Merge #17556: test: Change feature_config_args.py not to rely on strange regtest=0 behavior * Merge bitcoin-core/gui#162: Add network to peers window and peer details * Merge #21043: net: Avoid UBSan warning in ProcessMessage(...) * Merge #21162: Net Processing: Move RelayTransaction() into PeerManager * Merge #18842: wallet: Mark replaced tx to not be in the mempool anymore * Merge bitcoin/bitcoin#24461: build: Minor leveldb subtree update * Merge bitcoin/bitcoin#28561: build: Update `qt` package up to 5.15.10 * Merge bitcoin/bitcoin#24383: build: upgrade depends Boost to 1.77.0 * Merge bitcoin/bitcoin#24276: build, refactor: Improve package version usage * cleanup: remove release_alpha.yml workflow and Dockerfile for GitHubActions * cleanup: drop Gitian mentioning from Dockerfile * cleanup: remove dash\'s specific gitian files * Merge bitcoin/bitcoin#24738: build: remove faketime unsetting and comments from configure * Merge bitcoin/bitcoin#22418: release: Remove gitian * Merge #21437: gitian, ci: Drop unneeded python3-dev package for macOS builds * Merge #16525: Dump transaction version as an unsigned integer in RPC/TxToUniv * Merge #18965: tests: implement base58_decode * Merge #18309: zmq: Add support to listen on multiple interfaces * Merge #15367: feature: Added ability for users to add a startup command * fix: use proper GitHub.repository and add an echo for testing (#5757) * fix: improve `qgetdata`/`qdata` tests (#5744) * follow-up Merge #17381: LegacyScriptPubKeyMan code cleanups - now it\'s possible to remove workaround * follow-up bitcoin#17926 - add missing changes * Merge #20230: wallet: Fix bug when just created encrypted wallet cannot get address * follow-up Merge #14559: appveyor: Enable multiwallet tests - adds missing changes for wallet_multiwallet.py test * Merge #9381: Remove CWalletTx merging logic from AddToWallet * Merge #18853: wallet: Fix typo in assert that is compile-time true * Merge #17219: wallet: allow transaction without change if keypool is empty * Merge #18671: wallet: Add BlockUntilSyncedToCurrentChain to dumpwallet * follow-up Merge #17260: Split some CWallet functions into new LegacyScriptPubKeyMan * partial (missing function GetKeyForDestination) Merge #11403: SegWit wallet support * fix: correct parsing pubkey in merge bitcoin#18204: improve descriptor cache and cache xpubs * Merge #20567: test: Add option to git-subtree-check to do full check, add help * Merge #19258: doc: improve subtree check instructions * Merge #11394: Perform a weaker subtree check in Travis * Merge #19072: doc: Expand section on Getting Started * Merge #17829: scripted-diff: Bump copyright of files changed in 2019 * Merge #17146: github: Add warning for bug reports * Merge #17111: doc: update bips.md with buried BIP9 deployments * Merge #16973: test: Fix combine_logs.py for AppVeyor build * Merge #16286: refactoring: wallet: Fix GCC 7.4.0 warning * partial Merge #15893: Add test for superfluous witness record in deserialization * Merge #15102: test: Run invalid_txs.InputMissing test in feature_block * Merge #15054: Update copyright headers to 2018 * Merge #18781: Add templated GetRandDuration<> * Merge #18814: rpc: Relock wallet only if most recent callback * fix: Start LLMQContext early to let `VerifyDB()` check ChainLock signatures in coinbase (#5752) * fix: pass GITHUB_REPOSITORY into Dockerfile.GitHubActions.Release (2nd attempt) (#5735) * fix: drop useless mutex cs_llmq_vbc to avoid deadlock (#5749) * fix: Redefine `keepOldKeys` and align quorum and dkgsession key storage depths (#5748) * fix: actually use `to_calculate` stack in `CMNHFManager::GetForBlock` (#5747) * Merge bitcoin/bitcoin#22502: scripted-diff: Revert \"fuzz: Add Temporary debug assert for oss-fuzz issue\" * Merge bitcoin/bitcoin#22406: build: remove --enable-determinism configure option * Merge bitcoin/bitcoin#22263: refactor: wrap CCoinsViewCursor in unique_ptr * Merge bitcoin/bitcoin#22313: test: Add missing sync_all to feature_coinstatsindex * Merge bitcoin/bitcoin#22238: build: improve detection of eBPF support * Merge bitcoin/bitcoin#22268: fuzz: Add temporary debug assert for oss-fuzz issue * Merge bitcoin/bitcoin#22258: build: Disable deprecated-copy warning only when external warnings are enabled * Merge bitcoin/bitcoin#22095: test: Additional BIP32 test vector for hardened derivation with leading zeros * Merge bitcoin-core/gui#343: Improve the GUI responsiveness when progress dialogs are used * Merge bitcoin/bitcoin#21659: net: flag relevant Sock methods with [[nodiscard]] * Merge bitcoin/bitcoin#21914: net: use stronger AddLocal() for our I2P address * Merge bitcoin/bitcoin#21644: p2p, bugfix: use NetPermissions::HasFlag() in CConnman::Bind() * Merge bitcoin/bitcoin#21658: build: fix make deploy for arm64-darwin * Merge #21728: remove executable flag for src/net_processing.cpp * Merge bitcoin-core/gui#277: Do not use QClipboard::Selection on Windows and macOS. * Merge #21477: test: Add test for CNetAddr::ToString IPv6 address formatting (RFC 5952) * Merge #21487: fuzz: Use ConsumeWeakEnum in addrman for service flags * Merge bitcoin-core/gui#233: qt test: Don\'t bind to regtest port * Merge #21334: test: Additional (refactored) BIP9 tests * Merge #21358: fuzz: Add missing include (test/util/setup_common.h) * Merge #21250: build: make HAVE_O_CLOEXEC available outside LevelDB (bugfix) * Merge #21041: log: Move \"Pre-allocating up to position 0x[…] in […].dat\" log message to debug category * Merge #20954: test: Declare `nodes` type in test_framework.py. * Merge bitcoin-core/gui#183: Add include for std::bind. * Merge bitcoin-core/gui#165: Save QSplitter state in QSettings * Merge #20765: fuzz: check that certain script TxoutType are nonstandard * Merge #20248: test: fix length of R check in key_signature_tests * Merge #18896: qt: Reset toolbar after all wallets are closed * (partial) Merge #17934: doc: Use CONFIG_SITE variable instead of --prefix option * Merge bitcoin/bitcoin#18722: addrman: improve performance by using more suitable containers * Merge #17458: Refactor OutputGroup effective value calculations and filtering to occur within the struct * Merge #15710: wallet: Catch ios_base::failure specifically * Merge bitcoin/bitcoin#14604: tests: Add test and refactor feature_block.py * Merge #20466: test: Fix intermittent p2p_fingerprint issue * Merge bitcoin/bitcoin#22517: fuzz: Temporarily disable failing assert in banman fuzz test * Merge bitcoin/bitcoin#22322: fuzz: Check banman roundtrip * (partial) Merge bitcoin/bitcoin#21562: [net processing] Various tidying up of PeerManagerImpl ctor * Merge bitcoin/bitcoin#22530: log: sort logging categories alphabetically * Merge bitcoin/bitcoin#22139: test: add type annotations to util.get_rpc_proxy * Merge bitcoin/bitcoin#22538: doc: fix command typo in guix README * Merge bitcoin/bitcoin#22528: refactor: move GetTransaction to node/transaction.cpp * Merge bitcoin/bitcoin#13533: [tests] Reduced number of validations in tx_validationcache_tests * Merge bitcoin/bitcoin#22383: rpc: Prefer to use txindex if available for GetTransaction * Merge bitcoin/bitcoin#22510: test: add test for RPC error \'Transaction already in block chain\' * Merge bitcoin/bitcoin#22407: rpc: Return block time in getblockchaininfo * Merge bitcoin/bitcoin#22505: addrman: Remove unused test_before_evict argument from Good() * (partial) Merge bitcoin/bitcoin#22232: refactor: Pass interpreter flags as uint32_t instead of signed int * (partial) Merge bitcoin/bitcoin#21940: refactor: Mark CAddrMan::Select and GetAddr const * Merge #18855: tests: feature_backwards_compatibility.py test downgrade after upgrade * Merge #18413: script: prevent UB when computing abs value for num opcode serialize * Merge #18759: bench: Start nodes with -nodebuglogfile * Merge bitcoin/bitcoin#26896: build: Remove port-forwarding runtime setting options from configure * Merge #18861: Do not answer GETDATA for to-be-announced tx * Merge #18931: net: use CMessageHeader::HEADER_SIZE, add missing include * Merge #18962: net processing: Only send a getheaders for one block in an INV * Merge #18610: scripted-diff: test: replace command with msgtype (naming) * Merge #19304: test: Check that message sends successfully when header is split across two buffers * partial Merge #18628: test: Add various low-level p2p tests * fix: assertion in CMNHFManager due to missing data in evoDB (#5736) * ci: Bump Guix build timeout and implement cacheing (#5727) * Merge bitcoin/bitcoin#19438: Introduce deploymentstatus * fix: avoid a crash on -reindex-chainstate (#5746) * docs: update release process document to follow-up v20 release (#5710) * fix: Improve quorum data caching and cleanup (#5731) * fix: use correct interruption condition in `StartCachePopulatorThread` (#5732) * Merge bitcoin/bitcoin#28150: test: Avoid intermittent issues due to async events in validationinterface_tests * Merge #18742: miner: Avoid stack-use-after-return in validationinterface * refactor: introduce CbTx version enum class, adjust version names (#5725) * fix: follow-up partial bitcoin/bitcoin#25063 - actually load binaries with x86_64-apple-darwin platform * Merge bitcoin/bitcoin#24603: macdeploy: remove unused detached-sig-apply.sh * Merge bitcoin/bitcoin#26694: test: `get_previous_releases.py`: M1/M2 macs can\'t run unsigned arm64 binaries; self-sign when needed * partial Merge bitcoin/bitcoin#25063: test: previous releases: add v23.0 * Merge bitcoin/bitcoin#24669: build: further consolidate macOS deployment * Merge bitcoin/bitcoin#22546: build, qt: Fix `make deploy` on M1-based macOS with system frameworks * Merge bitcoin/bitcoin#22199: macdeploy: minor fixups and simplifications * Merge bitcoin/bitcoin#25817: build: fix cross-arch macOS M1 build reproducibility * fix: pass `GITHUB_REPOSITORY` into `Dockerfile.GitHubActions.Release` (#5724) * ci: don\'t re-use config.cache when running configure script * merge bitcoin#27479: BIP324: ElligatorSwift integrations * trivial: add header for std::array instantiation * partial bitcoin#27445: Update src/secp256k1 subtree to release v0.3.1 * merge bitcoin#27230: Update src/secp256k1 subtree to upstream release v0.3.0 * partial bitcoin#26691: Update secp256k1 subtree to libsecp256k1 version 0.2.0 * merge bitcoin#25251: Consolidate Windows ASLR workarounds for upstream secp256k1 changes * partial bitcoin#24792: Update libsecp256k1 subtree to current master * partial bitcoin#23383: Update libsecp256k1 subtree to current master * build: add `--enable-module-schnorrsig --enable-experimental` cfg flags * partial bitcoin#22934: Add verification to Sign, SignCompact and SignSchnorr * fix: should avoid implicit conversions in `pushKV` params (#5719) * ci: change Dockerfile.GitHubActions.Release to use local repo and not always dashpay/dash (#5716) * refactor: deprecate non-deterministic IS support (#5553) * fix: avoid crashes on \"corrupted db\" reindex attempts (#5717) * Merge bitcoin/bitcoin#26153: Reduce wasted pseudorandom bytes in ChaCha20 + various improvements * Merge bitcoin/bitcoin#23806: fuzz: follow up for #22704 * Merge bitcoin/bitcoin#22704: fuzz: Differential fuzzing to compare Bitcoin Core\'s and D. J. Bernstein\'s implementation of ChaCha20 * Merge bitcoin/bitcoin#22649: fuzz: Avoid OOM in system fuzz target * Merge bitcoin/bitcoin#24946: Unroll the ChaCha20 inner loop for performance * refactor: a new struct CDKGJustification::Contribution instead std::pair * cleanup: remove TODO so far as it is not clear what exactly to do \'cleanup\' * cleanup: drop UpgradeDB for llmq::BlockProcessor * refactor: use emplace_back in simplifiedmns constructors * feat: improve log of amount in governance classes * cleanup: remove outdated TODO to follow-up bitcoin#16624 * refactor: avoid code duplication and data copy * Merge bitcoin/bitcoin#23878: doc: Remove TODO comment in tx_verify * cleanup: remove out-dated TODO * refactor: re-order headers and forward declarations to improve compile time (#5693) * fix: make `CONFIGFLAGS` optional (#5713) * build(guix): add debug symbols for osx (#5708) * fix: should not notify about mnlist changes while ConnectBlock isn\'t done yet (#5711) * chore: inacuracies in release notes for v20 and v19 (#5709) * build: let additional configure params to be passed into guix (#5705) * fix: add missing log categories (#5707) * docs: update dmg format (#5703) * chore: bump version to v20.1.0 non-release (#5696) * Fri Jan 12 2024 marecAATTdetebe.org- Update to version 20.0.4: * chore: bump version to 20.0.4 * docs: release notes for 20.0.4 and archiving old one * feat: use a self-signed windows code signing certificate instead of e… (#5814) * chore: drop version from README.md which is not really useful (#5811) * Merge pull request #5797 from knst/builder-keys * fix: ignore triggers from the past when voting (#5798) * fix: withdrawal (asset unlock) txes to use Platform Quorum on RegTest (#5800) * build: Disable miner for Windows binaries built via Guix (#5801) * Mon Dec 25 2023 marecAATTdetebe.org- Update to version 20.0.3: * docs: archive v20.0.2 release notes and create v20.0.3 release notes * chore: bump version to 20.0.3 * fix: ScanQuorums should not start cache population for outdated quorums (#5784) * refactor: pass large structure by const reference on every RPC call (#5780) * Merge pull request #5152 from vijaydasmp/bp21_14 * fix(rpc): pass blockhash into `TxToJSON` so that `getspecialtxes` could show correct `instantlock`/`chainlock` values (#5774) * fix: Improve quorum caching (again) (#5761) * Merge pull request #5759 from UdjinM6/bp26532 * Thu Dec 07 2023 marecAATTdetebe.org- Update to version 20.0.2: * docs: archive v20.0.1 release notes and create v20.0.2 release notes * fix: Start LLMQContext early to let `VerifyDB()` check ChainLock signatures in coinbase (#5752) * fix: drop useless mutex cs_llmq_vbc to avoid deadlock (#5749) * fix: actually use `to_calculate` stack in `CMNHFManager::GetForBlock` (#5747) * fix: assertion in CMNHFManager due to missing data in evoDB (#5736) * Merge pull request #5740 from knst/bp-versionbits * fix: Redefine `keepOldKeys` and align quorum and dkgsession key storage depths (#5748) * fix: avoid a crash on -reindex-chainstate (#5746) * fix: use correct interruption condition in `StartCachePopulatorThread` (#5732) * fix: Improve quorum data caching and cleanup (#5731) * ci: Bump Guix build timeout and implement cacheing (#5727) * Merge pull request #5726 from UdjinM6/bp_18742_28150 * fix: should avoid implicit conversions in `pushKV` params (#5719) * Merge pull request #5718 from knst/mac-improvements * fix: avoid crashes on \"corrupted db\" reindex attempts (#5717) * chore: bump version to 20.0.2 * Sat Nov 18 2023 marecAATTdetebe.org- Update to version 20.0.1: * fix: make `CONFIGFLAGS` optional (#5713) * chore: bump version to 20.0.1 * docs: archive v20.0.0 release notes and create v20.0.1 release notes * build(guix): add debug symbols for osx (#5708) * fix: should not notify about mnlist changes while ConnectBlock isn\'t done yet (#5711) * chore: inacuracies in release notes for v20 and v19 (#5709) * fix: add missing log categories (#5707) * build: let additional configure params to be passed into guix (#5705) * Tue Nov 14 2023 marecAATTdetebe.org- Update to version 20.0.0: * chore: set release version to true; set rc to 0 (#5695) * docs: add v20.0.0 release notes, archive v19.3.0 and drop partial ones (#5674) * ru * `make translate` * fix: enable the mn_rr hard fork in v20 so that a v20.1 in the future may activate mn_rr (#5699) * chore: define v20 start/timeout on mainnet * chore: update mainnet chainparams * chore: update mainnet seeds * fix: rename SPORK_24_EHF to SPORK_24_TEST_EHF, make sure it has no effect on mainnet (#5691) * fix: some fixes for block payee validation and corresponding tests (#5684) * fix: keep platform quorum data for 2 months (#5690) * fix: avoid some crashes on `invalidateblock` (#5683) * refactor: use more gsl::not_null in utils.h and deterministicmns.h (#5651) * test: ensure that mining is possible without CL info (#5689) * refactor: make MNActivationHeight in Params() indeed constant (#5658) * feat: improving unit tests for Basic BLS and enforcing Basic BLS for Evo Nodes (#5463) * docs: update man pages (#5672) * test: v20 earlier activation for regtest (#5668) * Merge #21689: test: Remove intermittently failing and not very meaningful `BOOST_CHECK` in `cnetaddr_basic` * feat!: reuse `nHighSubsidyBlocks` as a starting point for a fixed nSubsidyBase value to better mimic mainnet (#5664) * partial Merge bitcoin/bitcoin#25233: compat: remove glibcxx sanity checks * Merge bitcoin-core/gui#46: refactor: Fix deprecation warnings when building against Qt 5.15 * Merge bitcoin-core/gui#137: refactor: Replace deprecated Qt::SystemLocale{Short,Long}Date * Merge bitcoin/bitcoin#26189: refactor: Do not discard `try_lock()` return value * chore: only report \"bad\" connection when it\'s actually bad (#5680) * fix: actually vote NO on triggers we don\'t like, some additional cleanups and tests (#5670) * chore: bump chainparams on testnet (#5679) * test: `getblockchaininfo` projected `activation_height` test (#5665) * feat: reduce spamming logs with messages from v20 features (#5669) * docs: update tor and i2p docs (#5673) * chore: avoid useless PoSePunish log spam (#5678) * fix: replaced qrand() to QrandomGenerator due to deprecation * fix: use GUIUtil::TextWidth() instead deprecated width() * fix: add cast to void to avoid gcc warning inside string_cast.cpp * fix: a couple of fixes for the way mnauth and probe nodes work (#5660) * fix: FundTransaction should follow the same bip69 rules CreateTransaction does (#5667) * chore(rpc): renamed from bitcoin to coins in help text (#5659) * test: fix `feature_governance.py` (#5657) * Merge bitcoin/bitcoin#24974: refactor: Make FEELER_SLEEP_WINDOW type safe (std::chrono) * Merge bitcoin/bitcoin#25079: index: Change sync variables to use `std::chrono::steady_clock` * Merge bitcoin/bitcoin#23082: build: improve gexauxval() detection, remove getauxval() weak linking * Merge bitcoin/bitcoin#25803: refactor: Drop `boost/algorithm/string/replace.hpp` dependency * chore: bump version to rc.2 (#5656) * refactor: additional if-init usage (#5593) * fix: adjust GetPaymentsLimit to work correctly with historical blocks, adjust sb params on regtest, tweak tests (#5641) * fix: adjust `LLMQ_TEST_DIP0024` params, `mine_cycle_quorum` should use correct size (#5655) * fix: chain halt if some invalid asset lock transactions are in mempool (#5648) * refactor: extend changes to uint512 * Merge bitcoin/bitcoin#26345: refactor: modernize the implementation of uint256. * * Merge bitcoin/bitcoin#26105: Use ReadLE64 in uint256::GetUint64 instead of duplicating logic * revert: 5636, introduce `-llmqtestinstantsend` and `-llmqtestinstantsenddip0024` (#5654) * fix: do not trim values in `payment_amounts` (#5647) * fix: possible assert call if nHeight in CDeterministicMNList is higher then Tip (#5590) * fix: expire triggers that are too far into the future (#5646) * chore: bump rc to 1 (#5645) * chore: Testnet re-organization required changes (#5619) * fix!: mn_rr features only for v21+ (#5642) * feat!: Block reward reallocation activation at v20 (#5639) * feat(rpc): return `activation_height` in `getblockchaininfo` for BIP9 softforks (#5624) * fix: ConnectBlock/Tip stats are in ms (5616 follow-up) (#5629) * Merge #18996: net: Remove un-actionable TODO * Merge #18997: gui: Remove un-actionable TODO * Merge bitcoin/bitcoin#23416: doc: Remove fee delta TODO from txmempool.cpp * partial Merge bitcoin/bitcoin#27483: Bump python minimum version to 3.8 * fix: removed out-dated todo since \"A small overhaul of the way MN list/stats UI and data are tied together (#2696)\" * fix: missing changes from \"merge bitcoin#16127: more thread safety annotation coverage\" * fix: missing changes from Merge #15404: [test] Remove -txindex to start nodes * fix: missing changes from Merge #16917: tests: Move common function assert_approx() into util.py * fix: split evodb commit log and coin cache db write log in FlushStateToDisk (#5632) * fix: v19 activation unit tests should use the block v19 was activated at (#5630) * chore: `-llmqinstantsend` and `-llmqinstantsenddip0024` are devnet-only (#5636) * fix: Avoid using `GetAdjustedTime()` where adjusted time is not really needed or can be harmful (#5631) * fix: actually show json for assetlock/unlock txes (#5633) * fix: double lock of deterministicMNManager->cs (#5637) * refactor: add gsl::not_null to get compile time / run time pointer guarantees (#5595) * fix: change default quorums for devnet (#5635) * feat: new -llmqmnhf param for devnet (#5634) * fix: add rpc help text for \"ehf\" field (#5628) * ci: switch to using gha cache api for guix builds (#5602) * perf: don\'t use boost time in validation.cpp (#5616) * chore: Post v19 cleanup (#5622) * refactor: move DecreaseScores method to be inside CDeterministicMNList class (#5615) * feat: auto generation EHF and spork+EHF activation for MN_RR (#5597) * feat!: exclude fees when calculating `platformReward` (#5612) * feat!: constant subsidy base for blocks in v20 (#5611) * fix: correct quorum for Asset Unlock (withdrawal) transactions (#5618) * refactor: change flag fSuperblockPartOnly to a new function GetSuperblockSubsidyInner * refactor: get rid usage of global ::ChainstateActive() and ::ChainActive() from block_reward_reallocation_tests.cpp * refactor: removing usage of ::ChainActive::Tip() form masternode/payments * refactor: proper BIP9 bury of BRR - follow-up \"Harden BRR activation (#4726)\" * perf: pass around a cached block hash during block validation (#5613) * fix(depends): make it compilable with Xcode 15 on macos * Merge bitcoin/bitcoin#28571: depends: fix unusable memory_resource in macos qt build * Merge bitcoin/bitcoin#28543: build, macos: Fix `qt` package build with new Xcode 15 linker * Revert \"depends|qt: Fix build on Mojave (10.14.6)\" * test: correct calculation of `coinbasevalue` in feature_asset_locks.py (#5603) * fix: Testnet syncing mn_rr (#5608) * fix: Let CDeterministicMN::ToJson() return correct `collateralAddress` for spent collaterals (#5607) * fix!: avoid float calculations in PlatformShare (#5604) * fix: scan quorums instead just using verified sigs * use deployment nStartTime as a signal expiration mark, adjust tests * fix: fix previous commit with fixes * refactor: multiple fixes, cleanups, improvements and refactorings * fix: mark invalid EHF tx in mempool * fix: now EHF transactions expires after nExpiryEHF blocks * feat: update functional tests for Mn EHF - to use same bit more than once * fix: EHF takes care not only about nTimeOut but about nStartTime also * Update src/chainparams.cpp * fix: logs in chainparams moved out from if(fJustCheck) * docs: documented UpdateMNActivationParam * feat: add functional test for unknown and invalid version bits of EHF release * fix: check MnEHF earlier * feat: let unknown deployments to be mined in blocks * fix: conflict resolve due to new fuzz test (versionbits) and -Wno-reorder compile flag * Update src/chainparams.cpp * feat: improve functional tests for MnEHF to check block reconsideration * feat: new functional test for feature MnEHF * feat: add CMNHFManager and logic to make hard-forks accordingly received signals * fix: MnEHF transaction should be accepted to mempool bypass fee limits * feat: imlemented new hard-fork mechanism that uses MN Activation Height * Merge bitcoin/bitcoin#23573: refactor: cast bool operands to int to silence compiler warning * refactor: remove start/count in bls-worker funcs due to spanification (#5599) * fix: Move `CreditPoolDiff` checks out of `ProcessSpecialTxsInBlock`, use correct block reward (#5594) * fix(qt): fix 3 gui issues (#5596) * refactor: further spanification of Dash code (#5586) * feat!: Block Reward Reallocation (Doubling Treasury) (#5588) * chore(rpc): adjust field type in getwalletinfo help (#5591) * refactor: make all ToJson functions return a UniValue instead of return by reference; add nodiscard (#5592) * refactor: remove some now unneeded cppcheck suppressions (#5589) * fix: `debug` rpc should return a list of active debug categories, not all of them (#5585) * refactor: consolidate P2PK{H} types to P2PK_OR_P2PKH * refactor: make AddressType a strong enum, remove uint8_t for address_type * refactor: use structure binding in for loop in rpc/misc * refactor: use range-based loops instead of iterators * refactor: add missing headers to {address,timestamp}index * refactor: remove more code duplication from (dis)connect operations * refactor: deduplicate scriptPubKey trimming, index operations * refactor: use static_cast for (de)serializing bool * refactor: move CAddressIndex * out of spentindex * refactor: move timestamp index out of spentindex * docs: add BitPay copyright to file headers * refactor: remove size_t usage in spentindex structs * refactor: use uint8_t for m_address_type * refactor: cleanup spentindex structs, use fixed-length integers * refactor: add separators between members, functions and serialization * refactor: cleanup addressindex structs, use fixed-length integers * refactor: use boolean for transaction state, rename variable * refactor: cleanup map comparison struct definitions * refactor: use scoped weak enum instead of bare values for address type * merge bitcoin#23413: Replace MakeSpan helper with Span deduction guide * merge bitcoin#22570: Ignore banlist.dat * merge bitcoin#20966: save the banlist in a JSON format on disk * merge bitcoin#20516: Well-defined CAddress disk serialization, and addrv2 anchors.dat * partial bitcoin#17428: Try to preserve outbound block-relay-only connections during restart * merge bitcoin#20839: Avoid extraneous copy of input data, using Span<> * merge bitcoin#19020: Use C++11 member initialization in protocol * merge bitcoin#18468: Span improvements * merge bitcoin#23409: Take Span in SetSeed * partial bitcoin#23438: Use spans of std::byte in serialize * merge bitcoin#23115: use Span instead of std::vector for insert and contains * merge bitcoin#22050: remove tor v2 support * merge bitcoin#19951: CNetAddr scoped ipv6 test coverage, rename scopeId to m_scope_id * partial bitcoin#21560: Add Tor v3 hardcoded seeds * merge bitcoin#20355: Check for addrv1 compatibility before using addrv1 serializer/deserializer on CSubNet * merge bitcoin#20852: allow CSubNet of non-IP networks * merge bitcoin#23451: Add std::byte helpers * merge bitcoin#20464: Treat CDataStream bytes as uint8_t * merge bitcoin#19326: Simplify hash.h interface using Spans * refactor: remove unused Hash function variants * refactor: wrap P2PK scriptPubKey range into Span * refactor: decouple db hooks from CFlatDB-based C *Manager objects, migrate to *Store structs (#5555) * feat: new rpc `gettxchainlocks\' to get transaction statuses by batch (#5578) * feat(rpc): add fundingthreshold to output of getgovernanceinfo (#5581) * docs: improved Docker documentation (#5543) * feat: Remove outdated quorum data from evodb (#5576) * feat: cache downloaded releases * Merge bitcoin/bitcoin#22790: test: add aarch64-apple-darwin platform entry to get_previous_releases * fix: fillow-up Merge #18774: test: added test for upgradewallet RPC * fix: missing changes from Merge #18253: doc: Correct spelling errors in comments * fix: missing changes from Merge #18873: Fix intermittent sync_blocks failures * fix: missing changes from Merge #18067: wallet: Improve LegacyScriptPubKeyMan::CanProvide script recognition * fix: missing changes from bitcoin#20034 test: Get rid of default wallet hacks * fix: dashification of of hashsums in get_previous_releases.py * fix: dashification of test/get_previous_releases.py * partial Merge bitcoin/bitcoin#20354: test: Add feature_taproot.py --previous_release * Merge bitcoin/bitcoin#22442: util: improves error messages on get_previous_releases script * Merge #20955: test: Fix get_previous_releases.py for aarch64 * Merge #19859: qa: Fixes failing functional test by changing version * Merge #19813: util, ci: Hard code previous release tarball checksums * Merge #19560: contrib: Clean up previous_releases.py * Merge #19205: script: previous_release.sh rewritten in python * Merge #18864: Add v0.16.3 backwards compatibility test, bump v0.19.0.1 to v0.19.1 * Merge #19153: test: mempool compatibility test * Merge #19201: ci: Switch to bitcoincore.org download * Merge #18828: test: Strip down previous releases boilerplate * Merge #18534: test: skip backwards compat tests if not compiled with wallet * Merge #18426: scripts: previous_release: improve behaviour on failed download * Merge #12134: Build previous releases and run functional tests * refactor: subsume CoinJoin objects under CJContext, deglobalize coinJoin{ClientQueueManager,Server} (#5337) * refactor: governance constification and deglobalization (#5572) * fix: actually erase old evodb data on db migration (#5570) * fix: improve `gfd` script to make it works for more cases. (#5561) * docs: add release notes for 5342 (#5568) * docs: Added release notes for #5121 (#5559) * docs: Added release notes for #5493 (#5556) * fix: add/tweak thread safety annotations around governance objects map, add missing lock (#5569) * fix: add missing includes and remove obsolete includes (#5562) * fix: only use V20 hardfork for testnet before EHF is mergable * cleanup: tidy-up masternode/payments.cpp comments and [[nodiscard]] * get rid of magic 2299859813 in feature_asset_locks.py * feat: use getblockcount() instead of over-complex node.getblock(node.getbestblockhash())[\"height\"] * refactor: fix bad naming in CreditPool: replaced masternodeReward to platformReward * cleanup: removed unused header from payments.cpp * refactor: missing usage of MasternodePayments::PlatformShare * refactor: rid-of magic constant by introducing MasternodePayments::PlatformShare * fix: change reward: 37.5% reward of masternodes are on platform now * feat: masternode payment reallocation from coin base to platform * refactor: fix bad naming of namespace CMasternodePayments -> MasternodePayments * chore: v20 Testnet signaling starttime (#5567) * fix: Only approve triggers that match our expectations (#5565) * docs: Added release notes for #5262 (#5558) * docs: Added release notes for #5525 (#5557) * merge bitcoin#20080: Strip any trailing / in -datadir and -blocksdir paths * args: replace leftover boolean GetArg calls with GetBoolArg * merge bitcoin#23411: Avoid integer overflow in ApplyStats when activating snapshot * merge bitcoin#19064: Cleanup thread ctor calls * merge bitcoin#23756: Fix implicit integer sign changes in strencodings * merge bitcoin#19935: Move SaltedHashers to separate file and add some new ones * merge bitcoin#19866: eBPF Linux tracepoints * merge bitcoin#23994: Consolidate all uses of the fast range mapping technique in util/fastrange.h * merge bitcoin#21059: Drop boost/preprocessor dependencies * merge bitcoin#24714: Don\'t use a lambda for Assert/Assume * merge bitcoin#23842: Rename interfaces::WalletClient to interfaces::WalletLoader * feat(qt): Expose `-coinjoinsessions`, `-coinjoindenomsgoal` and `-coinjoindenomshardcap` in CoinJoin Options (#5549) * fix: vote funding yes when receiving triggers if hasn\'t created own trigger (#5564) * feat: various Asset Locks improvement (#5527) * fix: adjusted nSuperblockMaturityWindow to new logic for devnet/testnet (#5560) * feat(rpc): Disable submission of triggers and gobject vote-conf RPC (#5552) * fix: add missing \"optional\" include (#5554) * Merge #17509: gui: save and load PSBT * Merge #17579: [refactor] Merge getreceivedby tally into GetReceived function * Merge #18682: fuzz: http_request workaround for libevent < 2.1.1 * Merge #18667: ci: Limit cache size regardless of NO_DEPENDS * Merge #18645: [doc] Update thread information in developer docs * Merge #18451: test: shift coverage from getunconfirmedbalance to getbalances * Merge #18646: gui: use PACKAGE_NAME in exception message * Merge #18581: ci: Print ccache stats, add pip cache, and cleanups * Merge #18673: scripted-diff: Sort test includes * Merge #18504: build: Drop bitcoin-tx and bitcoin-wallet dependencies on libevent * merge bitcoin#21115: Fix Windows cross build * merge bitcoin#21185: Remove expensive and redundant muhash from crypto fuzz target * merge bitcoin#20882: Add missing muhash registration * merge bitcoin#19055: Add MuHash3072 implementation * merge bitcoin#19288: Add fuzzing harness for TorController * merge bitcoin#21489: cleanups for versionbits fuzzer * merge bitcoin#21380: Add fuzzing harness for versionbits * partial bitcoin#11389: Support having SegWit always active in regtest * test: fix comments mangled by text search-and-replace * merge bitcoin#19259: Add fuzzing harness for LoadMempool(...) and DumpMempool(...) * merge bitcoin#21264: Two scripted diff renames * merge bitcoin#21226: Fix fuzz binary compilation under windows * wallet: move `hdwallet.cpp` to `libbitcoin_wallet.a` * merge bitcoin#20936: build fuzz tests by default * merge bitcoin#20946: Consolidate fuzzing TestingSetup initialization * merge bitcoin#20377: Fill various small fuzzing gaps * merge bitcoin#19143: Add fuzzing harnesses for CAutoFile, CBufferedFile, LoadExternalBlockFile and other FILE * consumers * Merge #14501: Fix possible data race when committing block files * Merge #20584: Declare de facto const reference variables/member functions as const * Merge #18669: log: Use Join() helper when listing log categories * Merge #20844: test: Add sanitizer suppressions for AMD EPYC CPUs * Merge #20816: net: Move RecordBytesSent() call out of cs_vSend lock * fix: reorder CGovernanceManager field (#5550) * feat: Superblock creation (Sentinel elimination) (#5525) * Merge #20054: Remove confusing and useless \"unexpected version\" warning * Merge bitcoin/bitcoin#21736: doc: Fix doxygen comment silent merge conflict in descriptor.cpp * Merge #21567: docs: fix various misleading comments * Merge #21398: doc: Update fuzzing docs for afl-clang-lto * Merge #21394: [doc] Improve comment about protected peers * Merge #21042: doc, test: Improve setup_clean_chain documentation * Merge #20829: doc: add -netinfo help * Merge #20681: doc: Convert depends options list from html to markdown * Merge bitcoin/bitcoin#18418: wallet: Increase OUTPUT_GROUP_MAX_ENTRIES to 100 * Merge bitcoin/bitcoin#15545: [doc] explain why CheckBlock() is called before AcceptBlock * Merge #21388: doc: Rename fuzz seed_dir to corpus_dir * Merge #20437: fuzz: Avoid time-based \"non-determinism\" in fuzzing harnesses by using mocked GetTime() * Merge #20370: fuzz: version handshake * (Partial) Merge #21053: rpc, test: document {previous,next}blockhash as optional * Merge #21274: assumptions: Assume C++17 * Merge #21210: doc: Rework internal and external links * Merge bitcoin/bitcoin#19238: refactor: Make CAddrMan::cs non-recursive * Merge #17350: doc: Add developer documentation to isminetype * Merge #21342: doc: Remove outdated comment * Merge #21187: Net processing: Only call PushAddress() from net_processing * refactor: new function GetBlockSubsidyPrev for simplification of usage (#5524) * ci: set CCACHE_SIZE to 400M for Gitlab (#5547) * fix: reorder initializations (#5545) * (partial) Merge #18764: refactor: test: replace inv type magic numbers by constants * Merge #18672: test: add further BIP37 size limit checks to p2p_filter.py * Merge #18544: net: limit BIP37 filter lifespan (active between \'filterload\'..\'filterclear\') * (partial) Merge #18628: test: Add various low-level p2p tests * Merge #18726: test: check misbehavior more independently in p2p_filter.py * refactor: reduce usage of chainstate globals in Dash-specific logic (#5531) * ci: adds flag -Werror=reorder for arm target (#5540) * feat: Log mixing wallet name (#5533) * fix: Lock masternode collaterals when a wallet is opened (#5536) * fix: Do not use nHeight when trying to identify the very first/initial snapshot (#5538) * cleanup: remove dead code - SkipSet is not used anywhere * feat!: replaced CSkipList to CRangesSet in credit pool * refactor: follow-up changes in unit tests for CSkipList (following to CRangesSet) * feat: add an implementation of new data structure CRangesSet * refactor: Global renaming from hpmn to evo (#5508) * fix: Update conditions and unify calculations for the number of \"winners\" to skip when mixing (#5532) * feat: Add `-chainlocknotify` cmd-line option, update `-instantsendnotify` (#5522) * Merge #20761: fuzz: Check that NULL_DATA is unspendable * Merge #20747: net processing: Remove dropmessagestest * Merge #20683: test: Fix restart node race * Merge #20731: rpc: Add missing description of vout in getrawtransaction help text * Merge #20609: configure: output notice that test binary is disabled by fuzzing * Merge #20686: fuzz, refactor: replace CNode code with fuzz/util.h::ConsumeNode() * Merge #20668: doc: warn that incoming conns are unlikely when not using default ports * Merge #20569: test: Fix intermittent wallet_multiwallet issue with got_loading_error * Merge #20617: p2p: Remove m_is_manual_connection from CNodeState * Merge #20613: test: Use Popen.wait instead of RPC in assert_start_raises_init_error * merge bitcoin#26057: Get rid of perl dependency * merge bitcoin#25719: Bump Qt to 5.15.5 in depends * merge bitcoin#25542: Use Link Time Optimization for Qt code on Linux * merge bitcoin#25708: always use correct ar for win qt build * merge bitcoin#25424: Fix `QMAKE_CXXFLAGS` expression for `mingw32` host * partial bitcoin#24131: Fix Windows cross-compiling with Qt 5.15 * merge bitcoin#23998: support OpenBSD in depends * merge bitcoin#23948: add FreeBSD support to depends * merge bitcoin#24668: bump Qt5 version to 5.15.3 * merge bitcoin#24132: Bump minimum Qt version to 5.11.3 * merge bitcoin#24722: patch around qt duplicate symbol issue * merge bitcoin#23862: Hardcode last modified timestamp in Qt RCC * partial bitcoin#23677: Use Android NDK r23 LTS * merge bitcoin#23556: Fix regression in rendering on macOS Big Sur * merge bitcoin#24130: Update the used Qt version * merge bitcoin#23675: Post-pr23489 small cleanups * merge bitcoin#23489: Qt 5.15.2 * merge bitcoin#21286: Bump minimum Qt version to 5.9.5 * trivial: rearrange patches to match upstream before upgrading Qt * merge bitcoin#17874: make linker checks more robust * partial bitcoin#22469: Add support for Android NDK r22+ * refactor: rename `assetLockedAmount` in CbTx to `creditPoolBalance` (#5526) * Merge #18454: net: Make addr relay mockable, add test * Merge #18561: test: Properly raise FailedToStartError when rpc shutdown before warmup finished * Merge #18563: test: Fix unregister_all_during_call cleanup * Merge #18532: rpc: Avoid initialization-order-fiasco on static CRPCCommand tables * Merge #18546: Bugfix: Wallet: Safely deal with change in the address book [part 2] * Merge #18487: rpc: Fix rpcRunLater race in walletpassphrase * Merge #18551: Do not clear validationinterface entries being executed * Merge #18524: refactor: drop boost::signals2 in validationinterface * Merge #18587: gui: Avoid wallet tryGetBalances calls in WalletModel::pollBalanceChanged * Merge #18160: gui: Avoid Wallet::GetBalance in WalletModel::pollBalanceChanged * test: migrate `TestChainSetup`\'s `g_txindex` guardrails * merge bitcoin#27988: Use same timeout for all index sync * partial bitcoin#27405: Use steady clock instead of system clock to measure durations * util: add `SteadyClock` type alias to `std::chrono::steady_clock` * merge bitcoin#24921: Add time helpers for std::chrono::steady_clock and FastRandomContext::rand_uniform_delay * partial bitcoin#24138: Commit MuHash and best block together for coinstatsindex * merge bitcoin#24133: Improve robustness of coinstatsindex at restart * partial bitcoin#24117: make indices robust against init aborts * merge bitcoin#21767: Prune g_chainman usage in auxiliary modules * merge bitcoin#21796: Avoid async shutdown on init error * merge bitcoin#22047: Coinstatsindex follow-ups * fix: adjust values of `gettxoutsetinfo` to match Dash\'s mint rate * fix: implement subset of GetBlockSubsidy for `feature_coinstatsindex` * index: send zero-value arguments if calculating subsidy of genesis block * merge bitcoin#19521: Coinstats Index * feat: add bloom filter for Asset Lock transactions (#5521) * Merge #19832: p2p: Put disconnecting logs into BCLog::NET category * (Partial) Merge #20566: refactor: Use C++17 std::array where possible * Merge #20221: net: compat.h related cleanup * Merge #20530: lint, refactor: Update cppcheck linter to c++17 and improve explicit usage * Merge #20606: Remove unused bits from service flags enum * Merge #20568: doc: Use FeeModes doc helper in estimatesmartfee * Merge #20468: build: warn when generating man pages for binaries built from a dirty branch * docs: Clarify when to rebase a non-conflicting PR and how (#5514) * ci: Disable creation of `combined.html` (#5518) * ci: bump `actions/checkout` and `actions/cache` to v3 (#5519) * contrib: bump `symbol-check.py` to minimum glibc version used for CI (2.31) * revert: fix glibc compatibility issues * revert: Avoid fcntl64AATTGLIBC_2.28 in libsqlite3.a * build: use glibc 2.28 for all Linux builds * merge bitcoin#22930: remove glibc back compat * revert: Avoid AATTGLIBC_2.25 symbols for compatibility * merge bitcoin#27668: document when certain guix patches can be dropped * merge bitcoin#27029: consolidate to glibc 2.27 for Linux builds * ci: add -Wno-deprecated-builtins to fuzz CXXFLAGS * ci: suppress external warnings on builds that use clang-15 * ci: explicitly specify the version of clang we want to test against * ci: don\'t rely on dist-bundled Python, use pyenv to use fixed version * revert: remove execstack workaround for ricv64 & powerpc64le * fix: adjust gitian descriptors to fix lief install * docs: refer to correct executable corresponding to Ubuntu 20.04 * feat: v20 evonodes payment adjustment (#5493) * feat: improve unit test \"IsTriviallyValid\" (#5516) * refactor: improved initialization of members of LLMQContext and related changes (#5150) * ci: multi-runner guix builds (#5515) * merge bitcoin#19762: Allow named and positional arguments to be used together * merge bitcoin#22309: Add missing atomic include * merge bitcoin#21575: Create blockstorage module * merge bitcoin#20605: Signal-safe instant shutdown * merge bitcoin#21297: feature_blockfilterindex_prune.py improvements * merge bitcoin#21252: Intermittent issue in feature_blockfilterindex_prune * merge bitcoin#21230: Fix NODE_NETWORK_LIMITED_MIN_BLOCKS disconnection * merge bitcoin#15946: Allow maintaining the blockfilterindex when using prune * trivial: consistently use `context` as the argument name for `CoreContext` * merge bitcoin#19550: Add getindexinfo RPC * rpc: Prune g_chainman usage within Dash-specific RPC modules * merge bitcoin#21391: Prune g_chainman usage in RPC modules * fix: resolve cppcheck shadow variable warning * feat: Enable `fallbackfee` by default on all networks (#5507) * chore: correct rpc typo in mempoolentry help (#5512) * (Partial) Merge #20125: rpc, wallet: Expose database format in getwalletinfo * Merge #19980: refactor: Some wallet cleanups * Merge #20425: fuzz: Make CAddrMan fuzzing harness deterministic * Merge #20497: [Refactor] Add MAX_STANDARD_SCRIPTSIG_SIZE to policy * Merge #20964: rpc: Add specific error code for \"wallet already loaded\" * Merge #20971: test: Work around libFuzzer deadlock * Merge bitcoin/bitcoin#21989: test: Use COINBASE_MATURITY in functional tests * Merge #20575: Do not run functions with necessary side-effects in assert() * Merge #21713: Refactor ProcessNewBlock to reduce code duplication * Merge #20023: test: remove unused constants in functional tests * fix!: making MnEhfTx to comply DIP-0023 (#5505) * chore: Added missing sources files in CMake (#5503) * Merge #21010: refactor: remove straggling boost::mutex usage * Merge #20448: RPC/Wallet: unloadwallet: Allow specifying wallet_name param matching RPC endpoint wallet * Merge #19337: sync: detect double lock from the same thread * Merge #20432: net: Treat raw message bytes as uint8_t * Merge #20056: net: Use Span in ReceiveMsgBytes * Merge bitcoin/bitcoin#21948: test: Fix off-by-one in mockscheduler test RPC * (partial) Merge #21424: Net processing: Tidy up CNodeState ctor * Merge #19851: refactor: Extract ParseOpCode from ParseScript * Merge #19836: rpc: Properly deserialize txs with witness before signing * Merge #20408: CConnman: move initialization to declaration * feat: Check if settings file is empty (#5504) * fix: implement missing logic for additional indexes, fix bugs and logging (#5477) * merge bitcoin#23601: Don\'t check if the listening socket is valid * merge bitcoin#21630: split FuzzedSock interface and implementation * merge bitcoin#21677: Avoid use of low file descriptor ids (which may be in use) in FuzzedSock * merge bitcoin#21617: Fix uninitialized read in i2p test * merge bitcoin#22112: Force port 0 in I2P * merge bitcoin#22250: add basic I2P documentation * merge bitcoin#21631: always check the return value of Sock::Wait() * merge bitcoin#21387: Refactor sock to add I2P fuzz and unit tests * merge bitcoin#21407: limit the size of incoming messages * merge bitcoin#20685: Add I2P support using I2P SAM * partial bitcoin#21843: enable GetAddr, GetAddresses, and getnodeaddresses by network * merge bitcoin#20995: Avoid initializing version to less than MIN_PEER_PROTO_VERSION * merge bitcoin#20881: net permission flags in net processing * partial bitcoin#20789: Rework strong and weak net enum fuzzing * fuzz: correct CAddrMan `GetAddr` arguments, cap to 4096 * fuzz: correct `FuzzedSock` implementation of `Sock` interface * Merge #18712: test: display command line options passed to send_cli() in debug log * Merge #18660: test: Verify findCommonAncestor always initializes outputs * feat!: add an implementation of DIP 0027 Credit Asset Locks (#5026) * fix: Process `dsq` messages even when CJ is disabled locally or disk space is low (#5498) * feat: bury v19 activation (#5496) * Merge #20039: test: Convert amounts from float to decimal * Merge #19871: doc: Clarify scope of eviction protection of outbound block-relay peers * Merge #20271: doc: Document that wallet salvage is experimental * Merge #18585: test: use zero-argument super() shortcut (Python 3.0+) * Merge #18601: wallet: Refactor WalletRescanReserver to use wallet reference * Merge #17824: wallet: Prefer full destination groups in coin selection * Merge #16946: wallet: include a checksum of encrypted private keys * Merge #11413: [wallet] [rpc] sendtoaddress/sendmany: Add explicit feerate option * Merge #18875: fuzz: Stop nodes in process_message * fuzzers * refactor: hide some payments methods, replace a class to namespace (#5494) * fix: write in logs of TxMempool tx\'s hashes instead whole txes (#5495) * chore: Drop `MSG_LEGACY_TXLOCK_REQUEST`/`LEGACYTXLOCKREQUEST` (#5483) * refactor: Replace `encode(X, \'hex_codec\').decode(\'ascii\')` with `X.hex()` * refactor: \"regtest\" -> `self.chain` * refactor: Drop IsConflicted() * refactor: Avoid code duplication in GetDifficulty * fix: DisconnectBlock/RollforwardBlock/ReplayBlocks log fixes * fix: Improve CDKGSession logging * fix: CDBTransaction::GetMemoryUsage() logging * fix: BuildQuorumRotationInfo logging * fix: Specify correct cppcheck cache-directory * chore: post-merge-conflict cleanup in test/functional/rpc_blockchain.py * chore: Drop unused code in linearize-data.py * chore: Drop unused GetOffsetFromUtc() * chore: Drop unused unordered_limitedmap::insert_or_update() * perf: actually only process each dsq once (#5484) * feat: mnlistdiff v20 CL sig quorums (#5377) * refactor: trivial refactorings of llmq/ (#5486) * Merge #20462: RPC/Wallet: unloadwallet: Clarify docs/error when both the RPC request and wallet_name parameter specify a wallet * Merge #19646: doc: Updated outdated help command for getblocktemplate * Merge #19786: doc: Remove label from good first issue template * Merge #19644: rpc: document returned error fields as optional if applicable * Merge #19634: rpc: Document getwalletinfo\'s unlocked_until field as optional * Merge #19005: doc: Add documentation for \'checklevel\' argument in \'verifychain\' RPC… * Merge #20139: Wallet: do not return warnings from UpgradeWallet() * fix: Resolve warnings in Guix GitHub workflow (#5478) * perf: avoid rehashing block; use stored hash (#5435) * build: simple modification to allow docker develop builds on aarch64 (#5475) * fix: start client-side CoinJoin scheduler even when CoinJoin is disabled (#5476) * refactor: cleanup CChainParams unused data and functions (#5474) * refactor: removed flag `checkMalleable` from bls\'s related code (#5462) * fix: follow-up #5393 - should be used `[dash.dash_ents]` (#5472) * fix: follow-up backport bitcoin#14380 - remove debug logs (#5399) * refactor: deglobalization of bls_legacy_scheme 2/N (#5443) * fix(rpc): Improve `upgradetohd` (#5455) * merge bitcoin#25357: drop -z,noexecstack for PPC64 * merge bitcoin#25389: use libtool 2.4.7 * merge bitcoin#21851: support cross-compiling for arm64-apple-darwin * merge bitcoin#24552: make it possible to override gpg binary * merge bitcoin#25099: bump time-machine to 998eda3067c7d21e0d9bb3310d2f5a14b8f1c681 * merge bitcoin#24955: Improve error message about missed macOS SDK * merge bitcoin#24597: Include arm64-apple-darwin into codesigned archs * merge bitcoin#25633: don\'t restrict --enable-lto to non-guix cctools * merge bitcoin#22526: use newer config.guess & config.sub in depends * partial bitcoin#22318: Avoid AATTGLIBC_2.25 symbols for compatibility * merge bitcoin#21991: libevent 2.1.12-stable * merge bitcoin#24733: Fix \"ERR: Unsigned tarballs do not exist\" * merge bitcoin#24549: Use $HOST instead of generic osx{64} for macOS artifacts * merge bitcoin#23585: Drop Darwin version for better maintainability * merge bitcoin#25484: enable toolchain hardening by default * merge bitcoin#25437: remove explicit glibc stack protector disabling * merge bitcoin#26018: consistently use -ffile-prefix-map * merge bitcoin#25639: Drop repetition of option\'s default value * merge bitcoin#24508: Drop unneeded openssl dependency for signapple * merge bitcoin#24520: only check for the macOS SDK once * merge bitcoin#23817: Fix regression introduced in PR23603 * merge bitcoin#23603: Fix x86_64 <-> arm64 cross-compiling for macOS * merge bitcoin#23618: Ditch no_sdk_version_check.patch * merge bitcoin#23583: Don\'t hard-code x86_64 as the arch when using qmake * merge bitcoin#25643: compile FastFixedDtoa with -O1 to fix cross-arch reproducibility for arm32 * build: obey bitcoin#22993 by setting macOS target to Darwin 19 * fix: Fix trivial validation typo and test (#5465) * fix: gcc8 compatibility changes for guix (#5468) * build: stop tracking cmake dependency relic_conf.h.in * Squashed \'src/dashbls/\' changes from 9329803969..795660db76 * Revert \"build: stop tracking cmake dependency relic_conf.h.in\" * build: follow up to #5449. implementing suggestions and deduplication (#5464) * feat(wallet): make mnemonic bits tweakable, default to 128 bit / 12 words (#5457) * feat(wallet): TopUpKeyPool improvements (#5456) * fix: Allow tx index to catch up with the block index in TestChainSetup dtor (#5454) * feat(qt): refresh the whole wallet instead of processing individual updates for huge notification queues (#5453) * feat(wallet): try batching multiple wallet db operations when possible, avoid wasting cpu cycles in AddToWalletIfInvolvingMe (#5452) * feat: introduce `wipewallettxes` RPC and `wipetxes` command for `dash-wallet` tool (#5451) * contrib: switch to our Guix container instead of the bundled one * contrib: move context to repository root, use additional context for copy * contrib: create Guix container with interactive abilities * feat: mnlistdiff move nversion to first position (#5450) * feat(rpc): Ability to filter HPMNs in masternodelist and protx list rpcs (#5447) * fix: do not check chainlock state in IsTxSafeForMining (#5444) * docs: add 2 more contributors to 19.2.0 release notes (#5446) * feat: Allow mining blocks of a specific version on non-mainnet networks (#5433) * docs: add URL leading to linux kernel archives * contrib: remove no longer needed packages after bitcoin#23909 * merge bitcoin#25558: Make windows cross architecture reproducible * merge bitcoin#25490: more cross arch reproducibility (x86_64 -> arm64) * merge bitcoin#25076: native GCC 10 toolchain for Linux builds * merge bitcoin#25006: consolidate kernel headers to 5.15, specify 3.2.0 as minimum supported * merge bitcoin#24842: fix GCC 10.3.0 + mingw-w64 setjmp/longjmp issues * merge bitcoin#24736: fix vmov alignment issues with gcc 10.3.0 & mingw-w64 * merge bitcoin#25779: ignore additional failing certvalidator test * merge bitcoin#24573: Update signapple for platform identifier fix * merge bitcoin#24506: Include arch in codesignature tarball * merge bitcoin#24503: use the latest version of signapple * merge bitcoin#24599: remove mingw-w64 std::filesystem workaround * merge bitcoin#24489: Move guix time machine to prelude * merge bitcoin#24484: use same commit for codesigning time-machine * merge bitcoin#24348: Fix Guix build for Windows * merge bitcoin#24057: point to recent commit on the master branch * merge bitcoin#24042: Point Guix to the current top of the \"version-1.4.0\" branch * merge bitcoin#25313: re-revert risc-v execstack workaround * merge bitcoin#24495: only use native GCC 7 toolchain for Linux builds * merge bitcoin#23778: Guix 1.4.0 & GCC 10.3 * merge bitcoin#23909: use a static .tiff for macOS .dmg over generating * chore: run `gen-manpages.sh` for v19.2 (#5442) * chore: update chainparams for v19.2 release (#5441) * chore: prettify json representations of CSimplifiedMNListEntry and CSimplifiedMNListDiff (#5434) * chore(rpc): few cleanups in evo rpc help texts (#5439) * chore(rpc): remove collateral amount from help (#5438) * fix: off-by-one in the way we use v19 activation helpers (#5431) * chore: update defaultAssumeValid, nMinimumChainWork, checkpointData and chainTxData for testnet (again) (#5430) * chore: update defaultAssumeValid, nMinimumChainWork, checkpointData and chainTxData for testnet (#5428) * fix(test): drop duplicates and add missing test cases in evo_utils_tests * fix(qt): actually open debug console and not info tab * fix(qt): disable custom change address on CoinJoin tab * fix(qt): don\'t crash in options when running with `-disablewallet` * fix(wallet): truncate mnemonic passphrase instead of crashing * fix(wallet): do not count `DBKeys::PRIVATESEND_SALT` and `DBKeys::COINJOIN_SALT` keys as unknown * fix: mark `sporkkey` and `masternodeblsprivkey` args as `SENSITIVE` * fix: respect fPowNoRetargeting for post-btc algos * fix: off-by-1 in unordered_lru_cache * fix: pass correct params into CHashWriter * feat: store protx version in CSimplifiedMNListEntry and use it to ser/deser pubKeyOperator (#5397) * fix: multiple 5403 followups (#5424) * fix: adjust llmq_max_blocks() * fix: simplify/fix CleanupCache logic * feat: use m_protxHash instead of masternodeOutpoint for hashing dsq and dstx after v19 activation (#5404) * Merge bitcoin/bitcoin#27172: guix: switch to some `minimal` versions of packages in our manifest * Merge bitcoin/bitcoin#27361: guix: use python-minimal (3.9) * Merge bitcoin/bitcoin#23128: doc: Remove TODO \'exclude peers with download permission\' * Merge bitcoin/bitcoin#23464: doc: remove mention of system univalue from build-unix.md * Merge bitcoin/bitcoin#22420: doc: Specifiy how to set the value of TORGROUP * Merge bitcoin/bitcoin#22631: doc: Add packages that provide Qt Wayland plugin for Linux * Merge bitcoin/bitcoin#22576: doc: Update high-level addrman description * Merge bitcoin/bitcoin#22249: test: kill process group to avoid dangling processes when using `--failfast` * Merge #21585: Fix assumeutxo crash due to truncated file * Merge #20906: contrib: embed C++11 patch in install_db4.sh * ci: more checksums in guix workflow (#5417) * merge bitcoin#26075: remove 32bit linux code from release scripts * merge bitcoin#25458: parallelize LIEF build * merge bitcoin#24561: use LIEF 0.12.0 * merge bitcoin#20422: mac deployment unification * merge bitcoin#23148: Fix guix linker-loader path and add check_ELF_interpreter * merge bitcoin#23839: build with and test for control flow instrumentation on x86_64 * merge bitcoin#23838: make security checks architecture independent * merge bitcoin#23811: match on EXE_FORMATS rather than name string * merge bitcoin#23535: check for control flow instrumentation * merge bitcoin#22392: use LIEF for ELF security & symbol checks * build: run backwards compatibility symbol checks on all builds * merge bitcoin#22070: don\'t use cf-protection when targeting arm-apple-darwin * merge bitcoin#21889: check for control flow instrumentation * fix: add exception for 32-bit ARM builds which need glibc 2.28 * partial bitcoin#22381: Test security-check sanity before performing them (with macOS) * merge bitcoin#21428: Cleanup in test-{security,symbol}-check.py * merge bitcoin#21255: run test-symbol-check for RISC-V * merge bitcoin#21871: add checks for minimum required OS versions * merge bitcoin#20608: add symbol check test for PE binaries * merge bitcoin#21664: use LIEF for macOS and Windows symbol & security checks * fix: move test-security-check call * fix: disable security tests on win64 CI build * merge bitcoin#18434: add a test-security target and run it in CI * fix: disable ASAN because currently it fails with unknown memory leaks * fix: get rid UB from integer overflow in transactionview * fix: rid of UB in qt/rpcconsole.cpp * fix: add supression for integer conversion in crc32 library * partial merge bitcoin#14794: Add AddressSanitizer (ASan) Travis build * Merge #19669: contrib: Fixup valgrind suppressions file * Merge #18912: ci: Run fuzz testing test cases (bitcoin-core/qa-assets) under valgrind to catch memory errors * Merge #18683: ci: Disable valgrind functionl tests on forked repos to avoid timeouts * Merge #18569: ci: Add big endian native s390x build * Merge #18562: ci: Run unit tests sequential once * Merge #18477: ci: Use Focal for fuzzers * Merge #18441: ci: Remove misplaced comments from folded block scalar * Merge #18438: ci: Use Homebrew addon on native macOS * Merge #18430: ci: Only clone bitcoin-core/qa-assets when fuzzing * Merge #18899: travis: Remove valgrind * Merge #19159: test: Make valgrind.supp work on aarch64 * Merge #18392: ci: Run feature_block in valgrind * Merge #18304: ci: Enable all functional tests in valgrind * Merge #17725: ci: Add valgrind run * ci: use PR\'s HEAD in guix workflow (#5416) * merge bitcoin#22415: Make m_mempool optional in CChainState * merge bitcoin#21789: Remove ::Params() global from CChainState * merge bitcoin#21525: Followup fixups to bundle 4 * merge bitcoin#21270: Prune g_chainman usage in validation-adjacent modules * merge bitcoin#21584: Fix assumeutxo crash due to invalid base_blockhash * merge bitcoin#21582: Fix assumeutxo crash due to missing base_blockhash * merge bitcoin#21592: Remove option to make TestChain100Setup non-deterministic * merge bitcoin#19806: UTXO snapshot activation * fix: reset chainman to allow reindex on failure (#5405) * merge bitcoin#26633: update qt 5.12 url to archive location * fix(ci): only run jobs when their ancestors on prevoius stages succeeded (#5412) * fix: follow-up #5403: remove double serialization in CDeterministicMNState (#5413) * merge bitcoin#22179: Torv2 removal followups * merge bitcoin#22025: Group and re-order CAddrMan members by access type * merge bitcoin#20284: ensure old versions don\'t parse peers.dat * merge bitcoin#20965: return NET_UNROUTABLE as not_publicly_routable, automate helps * merge bitcoin#20757: tor.md and -onlynet help updates * merge bitcoin#19638: Replace hidden service with onion service * merge bitcoin#20000: fix creation of \"std::string\"s with \\0s * fix: resolve persistent p2p_getaddr_caching.py failures * merge bitcoin#19697: Improvements on ADDR caching * merge bitcoin#19658: Allow RPC to fetch all addrman records and add records to addrman * merge bitcoin#18991: Cache responses to GETADDR to prevent topology leaks * merge bitcoin#19191: Extract download permission from noban * merge bitcoin#18968: noban precludes maxuploadtarget disconnects * merge bitcoin#19192: Extract net permissions doc * fix: Resolve mainnet v19 fork issues (#5403) * refactor: using reference instead reference to unique_ptr with object (#5381) * partial Merge #18224: Make AnalyzePSBT next role calculation simple, correct * Merge #18314: tests: Add deserialization fuzzing of SnapshotMetadata (utxo_snapshot). Increase fuzzing coverage. * Merge #18305: test: Explain why test logging should be used * Merge #18292: fuzz: Add assert(script == decompressed_script) * Merge #18234: refactor: Replace boost::mutex,condition_var,chrono with std equivalents in scheduler * Merge #18192: Bugfix: Wallet: Safely deal with change in the address book * Merge #17585: rpc: deprecate getaddressinfo label * Merge #17804: doc: Misc RPC help fixes * Merge #18208: rpc: Change RPCExamples to bech32 * Merge #18122: rpc: update validateaddress RPCExamples to bech32 * Merge #17819: doc: developer notes guideline on RPCExamples addresses * test: Fix dynamically_smth_masternode helpers, extend feature_dip3_v19.py (#5402) * feat: ability to disable clsig creation while retaining clsig enforcement (#5398) * Merge #18515: test: add BIP37 remote crash bug [CVE-2013-5700] test to p2p_filter.py * Merge #18496: test: remove redundant sync_with_ping after add_p2p_connection * Merge #18494: test: replace (send_message + sync_with_ping) with send_and_ping * Merge #18481: test: add BIP37 \'filterclear\' test to p2p_filter.py * Merge #18420: test: listsinceblock block height checks * Merge #18503: init: Replace URL_WEBSITE with PACKAGE_URL * Merge #18447: test: Add coverage for script parse error in ParseScript * Merge #18107: build: Add cov_fuzz target * Merge #18397: build: Fix libevent linking for bench_bitcoin binary * Merge #18402: gui: display mapped AS in peers info window * Merge #17720: test: add unit test for non-standard \"scriptsig-not-pushonly\" txs * Merge #18278: interfaces: Describe and follow some code conventions * Merge #18360: Bump transifex slug and update English translations for 0.20 * Merge #16902: O(1) OP_IF/NOTIF/ELSE/ENDIF script implementation * docs: correct createwallet help (#5407) * trivial: Fix typo in import electrum wallet help (#5406) * merge bitcoin#22305: Avoid fcntl64AATTGLIBC_2.28 in libsqlite3.a * partial bitcoin#20963: Build binaries for 64-bit POWER * merge bitcoin#24639: Drop code for the unsupported i686-linux-gnu host * merge bitcoin#23744: Drop support for i686-linux-android host * partial bitcoin#17227: Add Android packaging support * contrib: add symbols and libraries used by dash * ci: add substitute linux64 ubsan runner * ci: drop i686 from GitLab CI runs * ci: skip symbol checks on runtime sanitizer-enabled builds * ci: enforce glibc backwards compatibility on all builds without runtime sanitizers * Merge bitcoin/bitcoin#24099: Replace `RecursiveMutex cs_mapLocalHost` with Mutex, and rename it * Merge bitcoin/bitcoin#24069: refactor: replace RecursiveMutex `m_cs_callbacks_pending` with Mutex (and rename) * Merge bitcoin/bitcoin#23803: ci: Disable s390x gui tests for now * Merge bitcoin/bitcoin#22014: refactor: Make m_cs_fee_estimator non-recursive * Merge bitcoin/bitcoin#22402: doc: Install Rosetta on M1-macOS for qt in depends * Merge bitcoin/bitcoin#22137: util: Properly handle -noincludeconf on command line (take 2) * Merge bitcoin/bitcoin#22002: Fix crash when parsing command line with -noincludeconf=0 * Merge #20857: test: update documentation in feature_csv_activation.py * Merge #20120: net, rpc, test, bugfix: update GetNetworkName, GetNetworksInfo, regression tests * Merge #20141: Avoid the use of abs64 in timedata * Merge #19526: log: Avoid treating remote misbehvior as local system error * Merge #19399: refactor: Replace RecursiveMutex with Mutex in rpc/server.cpp * Merge #19189: refactor: Replace RecursiveMutex with Mutex in timedata.cpp * Merge #19190: refactor: Replace RecursiveMutex with Mutex in netbase.cpp * feat: calculate DISK_SNAPSHOTS at compile time (#5395) * contrib: update install_db4 to integrate previous backport contents * merge bitcoin#16086: use newer config.guess & config.sub in install_db4.sh * merge bitcoin#14883: add `--retry 5` to curl opts in install_db4.sh * merge bitcoin#11943: fix typo in install_db4.sh help message * merge bitcoin#12095: Use BDB_LIBS/CFLAGS and pass --disable-replication * merge bitcoin#19408: Windows WSL build recommendation to temporarily disable Win32 PE support * merge bitcoin#21324: Update build instructions for Fedora * merge bitcoin#14264: Split depends installation instructions per arch * merge bitcoin#13460: Remove note to install all boost dev packages * merge bitcoin#15518: Remove ppa from linux build instructions * merge bitcoin#20601: Update for FreeBSD 12.2, add GUI Build Instructions * merge bitcoin#18340: mention MAKE=gmake workaround when building on a BSD * merge bitcoin#11984: Update OpenBSD build instructions for 6.2 (cont\'d) * merge bitcoin#15416: update FreeBSD build guide for 12.0 * merge bitcoin#14617: Document Python 3 requirement for \'gmake check\' * merge bitcoin#13476: Fix incorrect shell quoting in FreeBSD build instructions * merge bitcoin#13372: split FreeBSD build instructions out of build-unix.md * merge bitcoin#12581: Mention configure without wallet in FreeBSD instructions * merge bitcoin#11945: Improve BSD compatibility of contrib/install_db4.sh * merge bitcoin#12306: Improvements to UNIX documentation * merge bitcoin#11702: Add a script for installing db4 * merge bitcoin#11442: Update OpenBSD Build Instructions for OpenBSD 6.2 * merge bitcoin#11080: Update build-openbsd for 6.1 * revert: revert dash#2323 (Update build documentation) * revert: revert dash#2328 (Remove obsolete build-openbsd.md) * ci: build TSan with clang 15 and add -Werror=thread-safety, fix-up stacktraces (#5375) * docs: add macOS binary notarization docs (#5390) * build: fix gmp detection on macos when building with no depends (#5394) * Merge #18081: test: set a name for CI Docker containers * Merge #18106: test: Disable s390 build on travis * Merge #17399: validation: Templatize ValidationState instead of subclassing * Merge #16688: log: Add validation interface logging * Merge #17767: ci: Fix qemu issues * Merge #17900: ci: Combine 32-bit build with CentOS 7 build * Merge #18034: Get the OutputType for a descriptor * Merge #18087: Get rid of VARINT default argument * Merge #17924: Bug: IsUsedDestination shouldn\'t use key id as script id for ScriptHash * Merge #17923: refactor: Use PACKAGE_NAME in GUI modal overlay and bitcoin-wallet * Merge #17891: scripted-diff: Replace CCriticalSection with RecursiveMutex * Merge #17873: doc: Add to Doxygen documentation guidelines * test: Various test improvements (#5382) * docs: actually add release-notes-19.0.0.md (#5389) * fix: delay v19 activation to June 14 (#5384) * fix(rpc): Fix non-fatal check in `generateblock` (#5075) * refactor/feat: Refactor and add safety belts in llmq utils (#5378) * feat: bury dash deployments: dip0003, dip0020, dip0024, brr, bip147 (#5356) * merge bitcoin#20942: Move some net_processing globals into PeerManagerImpl * refactor: move `BuildSimplifiedDiff` to `src/evo/simplifiedmns.cpp` to resolve 3 circular dependencies (#5380) * fix(tests): pass extra_args instead of setting them via ForceSetArg * merge bitcoin#19775: Activate segwit in TestChain100Setup * feat!: calculate quorum members using v20 cbtx clsig (#5366) * chore: harden dip 20 and 24 activation (#5344) * ci: implement guix build by label request in CI (#5368) * fix: do not hold cs_map_quorums for too long (#5370) * chore: update dash_hash install and instructions (#5291) * merge bitcoin#20811: move net_processing implementation details out of header * merge bitcoin#18458: Add missing cs_vNodes lock * merge bitcoin#20649: Remove nMyStartingHeight from CNode/Connman * merge bitcoin#20217: Remove g_relay_txes * merge bitcoin#19910: Move peer_map to PeerManager * net: rename misbehavior members using scripted-diff * merge bitcoin#19911: guard vRecvGetData with cs_vRecv and orphan_work_set with g_cs_orphans * merge bitcoin#19791: Move Misbehaving() to PeerManager * net: pass PeerLogicValidation to remaining ProcessMessages * net: pass PeerLogicValidation to LLMQ objects * ci: update documentation to use focal instead of bionic * ci: harmonize parent images, use focal consistently * merge bitcoin#18705: Remove xenial tsan workaround * partial bitcoin#27483: Bump python minimum version to 3.8 * partial bitcoin#26226: Bump minimum python version to 3.7 * merge bitcoin#23317: fix python detection * merge bitcoin#23182: add python3.10 alias to AC_PATH_PROGS call in configure * merge bitcoin#26445: bump patch version to 3.6.15 * merge bitcoin#19504: Bump minimum python version to 3.6 * revert dash#4717: bump .python-version * ci: clone dash_hash at a specific tag (#5369) * test: Fix activate_by_name (#5367) * fix(wallet): autobackup fixes (#5269) * test: Fix `feature_pruning.py` (#5353) * feat!: Insertion of best CL signature in CbTx (#5262) * fix: serialize GovernanceObject properly (#5357) * fix: improved reliability of functional tests that activates dip24 (#5313) * docs: wrong threshold for LLMQ_25_67 (#5358) * fix(qt): fix few gui issues (#5351) * fix(qt): provide correct data into intro dlg (#5348) * feat: burry DIP0008 deployment to follow-up bitcoin#16060 * feat: burry DIP0001 deployment to follow-up bitcoin#16060 * Merge #16060: Bury bip9 deployments * Merge #16465: test: Test p2sh-witness and bech32 in wallet_import_rescan * Merge #16991: qa: Fix service flag comparison check in rpc_net test (luke-jr) * Merge #16941: travis: Disable feature_block in tsan run due to OOM * Merge #19058: doc: Drop protobuf stuff * Merge #15584: build: disable BIP70 support by default * Merge #17453: gui: Fix intro dialog labels when the prune button is toggled * Merge #17696: qt: Force set nPruneSize in QSettings after the intro dialog * Merge #16714: gui: add prune to intro screen with smart default * Merge #16680: Preparations for more testchains * Merge #16477: build: skip deploying plugins we dont use in macdeployqtplus * refactor: prefer using TxValidationState directly for unification with bitcoin implementation (#5335) * Merge #17549: ci: misc cleanups * Merge #17593: test: move more utility functions into test utility library * Merge #17674: tests: Add initialization order fiasco detection in Travis * Merge #17661: ci: use depends for s390x * Merge #17678: depends: Support for S390X and POWER targets * Merge #17578: rpc: simplify getaddressinfo labels, deprecate previous behavior * Merge #17762: net: Log to net category for exceptions in ProcessMessages * Merge #16658: validation: Rename CheckInputs to CheckInputScripts * Merge #17801: doc: Update license year range to 2020 * Merge #17473: refactor: Settings code cleanups * refactor: move CDeterministicMN class members above functions (#5341) * chore: Delay v20 activation (regtest only) (#5346) * refactor: drop flag m_block_relay_peer and use m_addr_relay object instead (#5339) * feat(rpc): protx listdiff rpc (#5338) * Merge #19706: refactor: make EncodeBase58{Check} consume Spans * refactor: Spanify some governance APIs * refactor: convert most std::vector const references to Spans in bls code * Merge bitcoin/bitcoin#24426: test: Fix intermittent Tsan issue * Merge bitcoin/bitcoin#24345: doc: Release process: fix broken link to Guix building docs * Merge bitcoin/bitcoin#24297: Fix unintended unsigned integer overflow in strencodings * Merge bitcoin/bitcoin#22283: build: Replace $(AT) with .SILENT * Merge bitcoin/bitcoin#22894: netinfo: clarify client and server versions in header * Merge bitcoin/bitcoin#22684: test: check for invalid `-prune` parameters * Merge bitcoin/bitcoin#22573: fuzz: document faster throughput configuration * Merge bitcoin/bitcoin#22288: Resolve Tor control plane address * Merge bitcoin/bitcoin#21822: test: resolve bug in interface_bitcoin_cli.py * Merge #20372: Avoid signed integer overflow when loading a mempool.dat file with a malformed time field * refactor(coinjoin): convert nConfirmedHeight to std::optional (#5108) * Merge #17164: p2p: Avoid allocating memory for addrKnown where we don\'t need it * Merge #17587: gui: show watch-only balance in send screen * Merge #17568: wallet: fix when sufficient preset inputs and subtractFeeFromOutputs * Merge #17290: Enable BnB coin selection for preset inputs and subtract fee from outputs * Merge #17283: rpc: improve getaddressinfo test coverage, help, code docs * Merge #17599: ci: Run functional tests on s390x * Merge #17439: refactor: Use proper MAX_SCRIPT_ELEMENT_SIZE constants consistently * Merge #17437: rpc: Expose block height of wallet transactions * Merge #17388: Add missing newline in util_ChainMerge test * Merge #16766: wallet: Make IsTrusted scan parents recursively * Merge bitcoin/bitcoin#24129: build: Fix xargs warnings for Guix builds * Merge bitcoin/bitcoin#24054: test: rest /tx with an invalid/unknown txid * Merge bitcoin/bitcoin#24033: log: Remove GetAdjustedTime from IBD header progress estimation * Merge bitcoin/bitcoin#23963: test: run feature_pruning.py without wallet compiled * Merge bitcoin/bitcoin#23760: util: move MapIntoRange() for reuse in fuzz tests * Merge bitcoin/bitcoin#23929: doc: fix undo data filename (s/undo???.dat/rev???.dat/) * Merge bitcoin/bitcoin#23616: build: Bump AX_PTHREAD macro to the latest version * Merge bitcoin/bitcoin#23644: wallet: Replace confusing getAdjustedTime() with GetTime() * Merge bitcoin/bitcoin#17160: refactor: net: subnet lookup: use single-result LookupHost() * Merge bitcoin/bitcoin#23370: test: Add ios_base::width tsan suppression * Merge bitcoin/bitcoin#23214: Replace stoul with ToIntegral in dbwrapper * Merge bitcoin/bitcoin#23168: build: no-longer fail default configure if BDB isn\'t available * Merge bitcoin/bitcoin#22914: util: remove libevent <= 2.0.18 back-compat code * build: add `--hardened-runtime` for macos detached signature creation to enable notarization (#5332) * partial Merge #17212: refactor: Remove unused CExt{Pub,}Key (de)serialization methods * Merge #17624: net: Fix an uninitialized read in ProcessMessage(…, \"tx\", …) when receiving a transaction we already have * Merge #15921: validation: Tidy up ValidationState interface * Merge #17004: validation: Remove REJECT code from CValidationState * Merge #16911: wallet: Only check the hash of transactions loaded from disk * Merge #17195: gui: send amount placeholder value * Merge #16889: Add some general std::vector utility functions * Merge #16524: Wallet: Disable -fallbackfee by default * Merge #16507: feefilter: Compute the absolute fee rather than stored rate * merge bitcoin#19354: add release note for -getinfo displaying multiwallet balances * merge bitcoin#20002: expose peer network in getpeerinfo; simplify/improve -netinfo * merge bitcoin#19643: Add -netinfo peer connections dashboard * partial bitcoin#19998: Add CNode::ConnectedThroughNetwork member function * merge bitcoin#19133: add bitcoin-cli -generate command * merge bitcoin#19991: Use alternative port for incoming Tor connections * merge bitcoin#18594: display multiwallet balances in -getinfo * merge bitcoin#18724: add coverage for -rpcwallet cli option * merge bitcoin#18691: add wait_for_cookie_credentials() to framework for rpcwait tests * merge bitcoin#18653: add coverage for bitcoin-cli -rpcwait * merge bitcoin#18574: call getbalances.ismine.trusted instead of getwalletinfo.balance * chore/feat: few tweaks for \"Check Potential Conflicts\" action (#5330) * Merge bitcoin/bitcoin#22645: scripts: prevent GCC optimising test symbols in test-symbol-check * Merge bitcoin/bitcoin#22215: refactor: Add FoundBlock.found member * Merge bitcoin/bitcoin#22453: fuzz: Limit max ops in rolling_bloom_filter fuzz target * Merge bitcoin/bitcoin#22444: fuzz: Limit max ops in prevector fuzz target * Merge bitcoin/bitcoin#22493: fuzz: Extend addrman fuzz test with deserialize * Merge bitcoin/bitcoin#22234: build: Mark print-% target as phony. * Merge bitcoin/bitcoin#22279: fuzz: add missing ECCVerifyHandle to base_encode_decode * Merge bitcoin/bitcoin#22271: fuzz: Assert roundtrip equality for `CPubKey` * Merge bitcoin/bitcoin#22267: fuzz: Speed up crypto fuzz target * Merge bitcoin/bitcoin#21944: wallet: Fix issues when `walletdir` is root directory * Merge bitcoin/bitcoin#22005: fuzz: Speed up banman fuzz target * Merge bitcoin/bitcoin#22069: fuzz: don\'t try and use fopencookie() when building for Android * Merge bitcoin/bitcoin#22056: doc: describe in fuzzing.md how to reproduce a CI crash * Merge #20379: tests: Remove no longer needed UBSan suppression (float divide-by-zero in validation.cpp) * Merge #20344: wallet: fix scanning progress calculation for single block range * refactor: use enums instead of random const ints (#5322) * ci: upgrade cppcheck to 2.10; fix / suppress reported issues (#5328) * Merge bitcoin/bitcoin#25861: guix: use --build={arch}-guix-linux-gnu in cross toolchain * fix: specify expected_stderr within restart_node in feature_pruning.py (#5324) * fix: ./autogen fails due to newline (#5325) * refactor: misc refactoring (#5260) * Merge bitcoin/bitcoin#22853: fuzz: Remove addrdb fuzz target * Merge #18422: [consensus] MOVEONLY: Move single-sig checking EvalScript code to EvalChecksig * Merge #19378: refactor: Use Mutex type for g_cs_recent_confirmed_transactions * Merge #19237: wallet: Check size after unserializing a pubkey * fix: extra edits of guix\'s README.md * Merge bitcoin/bitcoin#22654: guix: Don\'t include directory name in SHA256SUMS * Merge bitcoin/bitcoin#22642: release: Release with separate SHA256SUMS and sig files * Merge bitcoin/bitcoin#22511: guix: Silence `getent(1)` invocation, doc fixups * docs: dashification of guix * docs: dashification guix/README.md * docs: dashification guix/INSTALL.md and added Dockerfile for guix * Merge bitcoin/bitcoin#21711: guix: Add full installation and usage documentation * test: fix test affected by \"Allow LegacyScriptPubKeyMan to be null\" * merge bitcoin#17513: Nuke some circular dependencies * merge bitcoin#19425: Get rid of more redundant chain methods * merge bitcoin#20494: Move node and wallet code out of src/interfaces * qt: source TransactionTable block height from wallet interface * merge bitcoin-gui#8: Fix regression in TransactionTableModel * partial bitcoin#18587: Avoid wallet tryGetBalances calls in WalletModel::pollBalanceChanged * merge bitcoin#19132: lock cs_main, m_cached_tip_mutex in that order * merge bitcoin#17993: Balance/TxStatus polling update based on last block hash * merge bitcoin#17905: Avoid redundant tx status updates * merge bitcoin#17954: Remove calls to Chain::Lock methods * merge bitcoin#21523: run VerifyDB on all chainstates * partial bitcoin#17938: Disallow automatic conversion between disparate hash types * uint256: add definition for constant \'ZERO\' * Merge bitcoin/bitcoin#21907: wallet: Do not iterate a directory if having an error while accessing it * Merge bitcoin/bitcoin#21905: net: initialize nMessageSize to uint32_t max * Merge bitcoin/bitcoin#21909: fuzz: Limit max insertions in timedata fuzz test * Merge bitcoin/bitcoin#21891: fuzz: Remove strprintf test cases that are known to fail * Merge bitcoin/bitcoin#21427: depends: Fix id_string invocations * Merge bitcoin/bitcoin#18847: compressor: use a prevector in CompressScript serialization [ZAP1] * Merge #21516: remove unnecessary newline from initWarning() argument * Merge #21498: refactor: return std::nullopt instead of {} * Merge #21491: test: remove duplicate assertions in util_tests * Merge #21488: test: add ParseUInt16() unit test and fuzz coverage * Merge #21040: wallet: Fix already-loading message grammar * Merge #18335: bitcoin-cli: print useful error if bitcoind rpc work queue exceeded * Merge #21371: fuzz: fix gcc Woverloaded-virtual build warnings * Merge #21364: fuzz: Avoid -Wreturn-type warnings * Merge #21333: build: set Unicode true for NSIS installer * fix(tests): Fix retries for the non-deterministic test suite (#5307) * feat!: v20 BIP9 fork (#5121) * chore: bump version to v20.0.0 (#5215) * fix(ci): skip more jobs in \"FAST_MODE\" (#5311) * ci: add ci for merging into master (#5316) * chore: Translations 2023-02 (#5208) * feat: min protocol version check for SML serialisation (#5302) * fix: reviewing TODOes at v19 (#5303) * chore: update chainparams for v19.0.0 (#5304) * fix(tests): a couple of fixes for dynamically_add/update functions (#5288) * Merge #18466: rpc: fix invalid parameter error codes for {sign,verify}message RPCs * Merge #21159: test: fix sign comparison warning in socket tests * Merge #21023: fuzz: Disable shuffle when merge=1 * Merge #21051: Fix -Wmismatched-tags warnings * Merge #21037: fuzz: Avoid designated initialization (C++20) in fuzz tests * Merge #20985: doc: add xorriso to macOS depends packages * Merge #20952: wallet: Add BerkeleyDB version sanity check at init time * Merge #20771: refactor: Enable -Wswitch for FeeEstimateHorizon * Merge #20674: fuzz: Call SendMessages after ProcessMessage to increase coverage * Merge #20589: log: Clarify that failure to read/write fee_estimates.dat is non-fatal * Merge #19893: test: Remove or explain syncwithvalidationinterfacequeue * Merge #20522: [test] Fix sync issue in disconnect_p2ps * Merge #20152: doc: Update wallet files in files.md * Merge #19723: Ignore unknown messages before VERACK * Merge #19781: test: add parameterized constructor for msg_sendcmpct() * Merge #19897: Change FILE_CHAR_BLOCKLIST to FILE_CHARS_DISALLOWED * Merge #18882: build: fix -Wformat-security check when compiling with GCC * Merge #18593: test: complete impl. of msg_merkleblock and wait_for_merkleblock * Merge #17677: Activate watchonly wallet behavior for LegacySPKM only * chore: run `gen-manpages.sh` for 19.0.0 (#5305) * fix(tests): Bumps in wait_for_tx/instantlock (#5301) * ci: retry non-deterministic tests and report failure only if limit exhausted (#4793) * Merge #17138: Remove wallet access to some node arguments * fix: dashification for rpc_createmultisig introduced in bitcoin#13072 * backport: follow-up new rpc_createmultisig.py (bitcoin#13072) - changes from bitcoin#17675 * Merge #18032: rpc: Output a descriptor in createmultisig and addmultisigaddress * Merge #17056: descriptors: Introduce sortedmulti descriptor * Merge #16251: Improve signrawtransaction error reporting * Merge #16250: signrawtransactionwithkey: report error when missing redeemScript/witnessScript * backport: follow-up new rpc_createmultisig.py (bitcoin#13072) - changes from bitcoin#16026 * Merge #15831: test: Add test that addmultisigaddress fails for watchonly addresses * backport: follow-up new rpc_createmultisig.py (bitcoin#13072) - changes from bitcoin#13541 * backport: follow-up new rpc_createmultisig.py (bitcoin#13072) - changes from bitcoin#14180 * Merge #13072: Update createmultisig RPC to support segwit * Merge #14161: doc/descriptors.md tweaks * Merge #14096: Add reference documentation for descriptors language * Merge #17049: contrib: Bump gitian descriptors for 0.20 * Merge #16873: rpc: fix regression in gettransaction * Merge #16866: wallet: Rename \'decode\' argument in gettransaction method to \'verbose\' * Merge #16197: net: Use mockable time for tx download * Merge #16489: log: harmonize bitcoind logging * Merge #16806: doc: Add issue templates for bug and feature request * Merge #16185: gettransaction: add an argument to decode the transaction * Merge #16556: Fix systemd service file configuration directory setup * Merge #14879: qt: Add warning messages to the debug window * Merge #15693: travis: Switch to ubuntu keyserver to avoid timeouts * Merge #14380: fix assert crash when specified change output spend size is unknown * fix: follow up bitcoin#10637: returned nBytes should be signed * Merge #13424: Consistently validate txid / blockhash length and encoding in rpc calls * Merge #14092: tests: Dry run bench_bitcoin as part \"make check\" to allow for quick identification of assertion/sanitizer failures in benchmarking code * chore: v19 starttime and timeout bump (#5300) * Merge #16633: travis: Fix test_runner.py timeouts * feat(qt): added hpmn count in qt information window (#5293) * fix: add passed HPMN payments to the list in GetProjectedMNPayees (#5298) * fix(governance): use weighted mn count (#5299) * test: added threshold_signature_tests (#5279) * fix: Fix missing includes (#5295) * fix(qt): should use weighted mn count when calculating payments in Masternodes tab (#5287) * Merge #15443: qa: Add getdescriptorinfo functional test * Merge #18306: test: add logging to wallet_listsinceblock.py * Merge #18263: rpc: change setmocktime check to use IsMockableChain * Merge #18253: doc: Correct spelling errors in comments * Merge #18173: refactor: test/bench: deduplicate SetupDummyInputs() * Merge #17959: test: check specific reject reasons in feature_csv_activation.py * Merge #16726: tests: Avoid common Python default parameter gotcha when mutable dict/list:s are used as default parameter values * Merge #16740: qa: Relax so that the subscriber is ready before publishing zmq messages * Merge #16691: doc: improve depends prefix documentation * Merge #16670: util: Add Join helper to join a list of strings * Merge #16643: doc: Add ZMQ dependencies to the Fedora build instructions * Merge #16561: tests: Use colors and dots in test_runner.py output only if standard output is a terminal * Merge #16598: test: Remove confusing hash256 function in util * Merge #16503: Remove p2pEnabled from Chain interface * Merge #16535: test: Explain why -whitelist is used in feature_fee_estimation * Merge #15906: [wallet] Move min_depth and max_depth to coin control * partial bitcoin#21270: Prune g_chainman usage in validation-adjacent modules * merge bitcoin#21055: Prune remaining g_chainman usage in validation functions * merge bitcoin#20750: Prune g_chainman usage in mempool-related validation functions * merge bitcoin#20972: Annotate CTxMemPool::check to require cs_main * merge bitcoin#20749: Prune g_chainman usage related to ::LookupBlockIndex * fuzz: remove unused variable in script_bitcoin_consensus * merge bitcoin#20828: Introduce CallOneOf helper to replace switch-case * partial bitcoin#19775: Activate segwit in TestChain100Setup * merge bitcoin#21025: Guard all chainstates with cs_main * merge bitcoin#19927: Reduce direct g_chainman usage * merge bitcoin#19905: Remove dead CheckForkWarningConditionsOnNewFork * merge #16400: refactor: Rewrite AcceptToMemoryPoolWorker() using smaller parts * merge #13868: Remove unused fScriptChecks parameter from CheckInputs * trivial(doc): fix typos in getrawtransaction and decoderawtransaction help texts (#5290) * refactor/fix: replace expired requests with a new one in RequestQuorumData (#5286) * Merge #18952: test: avoid os-dependant path * Merge #18817: doc: Document differences in bitcoind and bitcoin-qt locale handling * fix(test): bump `quorum_data_request_expiration_timeout` to fix `p2p_quorum_data.py` (#5281) * fix: add a `bias` to IsExpired to avoid potential timing issues where nodeA thinks it\'s been 300 seconds but nodeB only thinks it\'s been 295 for some reason (#5276) * fix: hpmn adjustements to getprojectedmnpayees (#5274) * fix(net): Do not punish nodes when Quorum data are missing. (#5272) * fix: add a missing name for key `hdaccounts` for RPC help for `getwalletinfo` (#5280) * Merge #15709: wallet: Do not add \"setting\" key as unknown * Merge #16464: [qa] Ensure we don\'t generate a too-big block in p2sh sigops test * Merge #16334: test: rpc_users: Also test rpcauth.py with password. * Merge #16267: bench: Benchmark blockToJSON * Merge #16352: build: prune dbus from depends * Merge #16325: rpc: Clarify that block count means height excl genesis * Merge #14734: fix an undefined behavior in uint::SetHex * Merge #16250: signrawtransactionwithkey: report error when missing redeemScript/witnessScript * Merge #15718: docs: Improve netaddress comments * format: fix indentation (#5277) * feat(rpc): Added RPC cleardiscouraged (#5273) * log: Add logs when send qgetdata (#5275) * log: add a log for invalid mnauth (#5271) * Merge #18395: scripts: add PE dylib checking to symbol-check.py * Merge bitcoin/bitcoin#24215: [22.x] guix: ignore additional failing certvalidator test * Merge bitcoin/bitcoin#22847: guix/prelude: Override `VERSION` with `FORCE_VERSION` * Merge bitcoin/bitcoin#22643: guix-verify: Non-zero exit code when anything fails * Merge bitcoin/bitcoin#22533: guix/build: Remove vestigial SKIPATTEST.TAG * Merge bitcoin/bitcoin#22465: guix: Pin kernel-header version, time-machine to upstream 1.3.0 commit * Merge bitcoin/bitcoin#22410: Avoid GCC 7.1 ABI change warning in guix build * partial Merge bitcoin/bitcoin#22405: build: remove --enable-glibc-back-compat from Guix build * Merge bitcoin/bitcoin#22365: guix: Avoid relying on newer symbols by rebasing our cross toolchains on older glibcs * Merge bitcoin/bitcoin#22182: guix: Overhaul how guix-{attest,verify} works and hierarchy * Merge bitcoin/bitcoin#22190: Use latest signapple commit * Merge bitcoin/bitcoin#22075: guix: Misc leftover usability improvements * Merge bitcoin/bitcoin#21654: build, qt: Make Qt rcc output always deterministic * Merge bitcoin/bitcoin#21239: guix: Add codesignature attachment support for osx+win * Merge bitcoin/bitcoin#21462: guix: Add guix-{attest,verify} scripts * Merge bitcoin/bitcoin#21799: guix: Use `gcc-8` across the board * partial Merge bitcoin/bitcoin#19817: build: macOS toolchain bump * Merge #21655: build, qt: No longer need to set QT_RCC_TEST=1 for determinism * Merge #21672: doc: remove boostrap info from GUIX_COMMON_FLAGS doc * Merge #21661: doc: Fix name of script guix-build * Merge #21304: guix: Add guix-clean script + establish gc-root for container profiles * partial Merge #21626: doc: Fix typos from codespell * Merge #21611: Fix a typo in guix-build output * Merge #21375: guix: Misc feedback-based fixes + hier restructuring * Merge #21337: guix: Update darwin native packages dependencies * partial Merge #21325: lint: Fix spelling errors in comments * Merge #21298: guix: Bump time-machine, glibc, and linux-headers * Merge #21323: guix, doc: Update default HOSTS value * Merge #21321: guix: Add curl to required tool list * Merge #21272: guix: Passthrough SDK_PATH into container * Merge #21271: guix: Explicitly set umask in build container * Merge #21078: guix: only download sources for hosts being built * partial Merge #21089: guix: Add support for powerpc64{,le} * Merge #21088: guix: Jump forwards in time-machine and adapt * Merge #21087: guix: Passthrough BASE_CACHE into container * Merge #21163: doc: Guix is shipped in Debian and Ubuntu * Merge #21116: build: Disable --disable-fuzz-binary for gitian/guix builds * Merge #20629: depends: Improve id string robustness * Merge #17920: guix: Build support for macOS * Merge #20937: guix: Make nsis reproducible by respecting SOURCE-DATE-EPOCH * Merge #20619: guix: Quality of life improvements * Merge #20318: build: Ensure source tarball has leading directory name * Merge #18958: guix: Make V=1 more powerful for debugging * fix(governance): Do not keep triggers longer than nSuperblockCycle (#5268) * decreased height of dialog due to missing checkbox (not backported yet) * partial Merge bitcoin-core/gui#171: Use layout manager for Create Wallet dialog * fix: hpmn registration after revocation caused mining failure (#5265) * ci: resolve gitian automation failures on dashevo repo (#5267) * feat: isdlock support without quorum rotation (regtest only) (#5259) * fix: avoid calling AddWallet before initializing ScriptPubKeyMans * Merge #20033: refactor: minor whitespace fixups, s/const/constexpr/ and remove template (followup to #19845) * Merge #19845: net: CNetAddr: add support to (un)serialize as ADDRv2 * Merge #19982: test: Fix inconsistent lock order in wallet_tests/CreateWallet * fix: do not use GetSolvingProvider for coinjoin signing * Merge #18115: wallet: Pass in transactions and messages for signing instead of exporting the private keys * Merge #18241: wallet/refactor: refer to CWallet immutably when possible * Merge #18067: wallet: Improve LegacyScriptPubKeyMan::CanProvide script recognition * Merge #18026: psbt_wallet_tests: use unique_ptr for GetSigningProvider * Merge #17261: Make ScriptPubKeyMan an actual interface and the wallet to have multiple * Merge #14588: Refactor PSBT signing logic to enforce invariant and fix signing bug * fix: follow up bitcoin#16301 - uncomment missing WalletBatch * fix: follow-up bitcoin#17260 for dash specific code * refactor: moved hdChainCurrent to scriptpubkeyman. * refactor: align header wallet.h with bitcoin\'s by moving some functiona * fix: patches from bitcoin#17260 for new code in #16786: Split some CWallet functions into new LegacyScriptPubKeyMan * Merge #16786: test: add unit test for wallet watch-only methods involving PubKeys * fix: follow up backport bitcoin#16426 * Merge #16026: Ensure that uncompressed public keys in a multisig always returns a legacy address * chore: Move logs about `nConsecutivePayments` under `MNPAYMENTS` debug category (#5251) * build: stop tracking cmake dependency relic_conf.h.in * Squashed \'src/dashbls/\' changes from 22b066020c..9329803969 * revert: stop tracking cmake dependency relic_conf.h.in * fix: check HPMNs duplicate on tx broadcast (#5257) * feat: Bumped v19 start time for v19 (#5244) * refactor: tweak GetLLMQ to fail gracefully and let caller handle results accordingly (#5247) * docs(rpc): correct help for protx legacy versions (#5234) * feat(rpc): Return HPMN fields (#5243) * fix: governance correct sig check (#5242) * chore(rpc): removed protx_revoke_legacy (#5241) * fix: mnUniquePropertyMap repopulate for v19 (#5239) * fix: BLS checkMalleable protection (#5240) * (partial) Merge #18011: Replace current benchmarking framework with nanobench * Merge #18437: util: Detect posix_fallocate() instead of assuming * Merge #18777: wallet: Recommend absolute path for dumpwallet * Merge #18754: bench: add CAddrMan benchmarks * Merge #18756: refactor: test: use wait_for_getdata() in p2p_compactblocks.py * Merge #18733: doc: Add wallet release notes for 0.21.0 * Merge #18665: Do not expose and consider -logthreadnames when it does not work * Merge #18088: build: ensure we aren\'t using GNU extensions * Merge #18859: Remove CCoinsViewCache::GetValueIn(...) * Merge #18732: test: Remove unused, undocumented and misleading CScript.__add__ * fix: postpone v19 hf start time on testnet (#5231) * fix(doc): fix `release-notes-5225.md` (#5230) * feat(llmq): llmq_test_dip0024 adjustments (#5229) * feat(llmq): llmq_25_67 for Platform (Testnet only) (#5225) * chore: Bump MIN_MASTERNODE_PROTO_VERSION for v19 (#5223) * (partial) Merge #18828: test: Strip down previous releases boilerplate * Merge #18807: [doc / test / mempool] unbroadcast follow-ups * Merge #18895: p2p: unbroadcast followups: rpcs, nLastResend, mempool sanity check * Merge #19350: test: Refactor tests using restart_node * (Partial) Merge #19304: test: Check that message sends successfully when header is split across two buffers * Merge #19252: test: wait for disconnect in disconnect_p2ps + bloomfilter test followups * Merge #18334: test: Add basic test for BIP 37 * Merge #16756: test: Connection eviction logic tests * Merge #19206: test: Remove leftover comment in mining_basic * Merge #19227: test: change blacklist to blocklist * Merge #19082: test: Moved the CScriptNum asserts into the unit test in script.py * chrore: bump version in gitian to 19 (#5220) * fix: making builds of guix to produce same output whatever git config (#5222) * partial bitcoin#20228: Make addrman a top-level component * merge bitcoin#20291: Consolidate logic around calling CAddrMan::Connected() * merge bitcoin#19607: Add Peer struct for per-peer data in net processing * partial bitcoin#20187: test-before-evict bugfix and improvements for block-relay-only peers * merge bitcoin#19486: Remove unused constants CADDR_TIME_VERSION and GETHEADERS_VERSION * merge bitcoin#14033: Drop CADDR_TIME_VERSION checks now that MIN_PEER_PROTO_VERSION is greater * merge bitcoin#18766: disable fee estimation in blocksonly mode (by removing the fee estimates global) * merge bitcoin#20222: CTxMempool constructor clean up * refactor: replace references to feeEstimator global with references * Merge #18406: test: add executable flag for rpc_estimatefee.py * Merge #18396: rpc: add missing HelpExampleRpc for getblockfilter * Merge #18366: tests: simplify next_block() function in feature_block * Merge #18344: doc: Fix nit in getblockchaininfo * Merge #18316: util: HelpExampleRpc formatting * Merge #18318: test: Bump rpc timeout in feature_assumevalid to avoid valgrind timeouts * Merge #18319: fuzz: Add missing ECC_Start to key_io test * Merge #13693: [test] Add coverage to estimaterawfee and estimatesmartfee * fix(qt): Overview page should always be accessible (#5221) * fix(rpc): don\'t parse platformHTTPPort platformP2PPort as strings (#5217) * chore: set the nStartTime for v19 deployment Fed 22 and March 31st respectively (#5218) * chore: Added missing protx rpc in help (#5216) * Sat Jul 29 2023 marecAATTdetebe.org- Update to version 19.3.0: * chore: Bump version to 19.3 * doc: Add 19.3 release notes * doc: Archive 19.2 release notes * partial: feat: bury v19 activation (#5496) * feat: Check if settings file is empty (#5504) * fix: Process `dsq` messages even when CJ is disabled locally or disk space is low (#5498) * fix: start client-side CoinJoin scheduler even when CoinJoin is disabled (#5476) * Merge pull request #5466 from UdjinM6/dashbls_1.3.0 * fix: Fix trivial validation typo and test (#5465) * feat(wallet): TopUpKeyPool improvements (#5456) * fix(rpc): Improve `upgradetohd` (#5455) * fix: Allow tx index to catch up with the block index in TestChainSetup dtor (#5454) * feat(qt): refresh the whole wallet instead of processing individual updates for huge notification queues (#5453) * feat: introduce `wipewallettxes` RPC and `wipetxes` command for `dash-wallet` tool (#5451) * feat(rpc): Ability to filter HPMNs in masternodelist and protx list rpcs (#5447) * docs: add 2 more contributors to 19.2.0 release notes (#5446) * perf: avoid rehashing block; use stored hash (#5435) * feat: Allow mining blocks of a specific version on non-mainnet networks (#5433) * Wed Jun 21 2023 marecAATTdetebe.org- Update to version 19.2.0: * chore: update version to \"19.2 release\" * doc: add v19.2.0 release notes * chore: archive v19.1.0 release notes * chore: run `gen-manpages.sh` for v19.2 (#5442) * chore: update chainparams for v19.2 release (#5441) * chore(rpc): few cleanups in evo rpc help texts (#5439) * chore(rpc): remove collateral amount from help (#5438) * chore: prettify json representations of CSimplifiedMNListEntry and CSimplifiedMNListDiff (#5434) * chore: update version to 19.2 rc.1 * fix: off-by-one in the way we use v19 activation helpers (#5431) * chore: update defaultAssumeValid, nMinimumChainWork, checkpointData and chainTxData for testnet (again) (#5430) * Merge pull request #5425 from UdjinM6/multi_fixes * chore: update defaultAssumeValid, nMinimumChainWork, checkpointData and chainTxData for testnet (#5428) * feat: store protx version in CSimplifiedMNListEntry and use it to ser/deser pubKeyOperator (#5397) * fix: multiple 5403 followups (#5424) * fix: reset chainman to allow reindex on failure (#5405) * fix: follow-up #5403: remove double serialization in CDeterministicMNState (#5413) * fix: Resolve mainnet v19 fork issues (#5403) * Merge pull request #5415 from kittywhiskers/bp_26633 * Merge pull request #5410 from UdjinM6/fix_dmnl_cache_issues * docs: correct createwallet help (#5407) * trivial: Fix typo in import electrum wallet help (#5406) * feat: use m_protxHash instead of masternodeOutpoint for hashing dsq and dstx after v19 activation (#5404) * test: Fix dynamically_smth_masternode helpers, extend feature_dip3_v19.py (#5402) * feat: ability to disable clsig creation while retaining clsig enforcement (#5398) * feat: calculate DISK_SNAPSHOTS at compile time (#5395) * build: fix gmp detection on macos when building with no depends (#5394) * docs: actually add release-notes-19.0.0.md (#5389) * Mon May 22 2023 marecAATTdetebe.org- Update to version 19.1.0: * chore: bump version to 19.1.0 * docs: add release-notes.md for v19.1.0 * fix: delay v19 activation to June 14 (#5384) * chore: update dash_hash install and instructions (#5291) * ci: clone dash_hash at a specific tag (#5369) * fix(qt): provide correct data into intro dlg (#5348) * build: add `--hardened-runtime` for macos detached signature creation to enable notarization (#5332) * ci: add ci for merging into master (#5316) * fix(wallet): autobackup fixes (#5269) * chore: bump version to 18.2.2 * chore: add 18.2.2 release notes * chore: archive 18.2.1 release notes * refactor: tweak GetLLMQ to fail gracefully and let caller handle results accordingly (#5247) * feat(llmq): llmq_25_67 for Platform (Testnet only) (#5225) * Sat Apr 15 2023 marecAATTdetebe.org- Update to version 19.0.0: * doc: update the content of release notes for v19.0.0 and archive old release notes * chore: bump version to final * chore: run `gen-manpages.sh` for 19.0.0 (#5305) * chore: update chainparams for v19.0.0 (#5304) * fix: reviewing TODOes at v19 (#5303) * feat: min protocol version check for SML serialisation (#5302) * fix(tests): Bumps in wait_for_tx/instantlock (#5301) * fix(tests): a couple of fixes for dynamically_add/update functions (#5288) * chore: Translations 2023-02 (#5208) * chore: bump to rc.10 * chore: v19 starttime and timeout bump (#5300) * feat(qt): added hpmn count in qt information window (#5293) * fix: add passed HPMN payments to the list in GetProjectedMNPayees (#5298) * fix(governance): use weighted mn count (#5299) * fix: Fix missing includes (#5295) * Merge pull request #5289 from UdjinM6/merge_master_18.2.2 * trivial(doc): fix typos in getrawtransaction and decoderawtransaction help texts (#5290) * fix(qt): should use weighted mn count when calculating payments in Masternodes tab (#5287) * refactor/fix: replace expired requests with a new one in RequestQuorumData (#5286) * chore: bump version to rc.9 * fix: add a missing name for key `hdaccounts` for RPC help for `getwalletinfo` (#5280) * fix: add a `bias` to IsExpired to avoid potential timing issues where nodeA thinks it\'s been 300 seconds but nodeB only thinks it\'s been 295 for some reason (#5276) * fix(test): bump `quorum_data_request_expiration_timeout` to fix `p2p_quorum_data.py` (#5281) * log: Add logs when send qgetdata (#5275) * fix: hpmn adjustements to getprojectedmnpayees (#5274) * feat(rpc): Added RPC cleardiscouraged (#5273) * fix(net): Do not punish nodes when Quorum data are missing. (#5272) * log: add a log for invalid mnauth (#5271) * chore: bump version to rc.8 * fix(governance): Do not keep triggers longer than nSuperblockCycle (#5268) * Merge pull request #5249 from knst/qt-create-wallet-fix * ci: resolve gitian automation failures on dashevo repo (#5267) * fix: hpmn registration after revocation caused mining failure (#5265) * chore: bump version to rc.7 * chore: Move logs about `nConsecutivePayments` under `MNPAYMENTS` debug category (#5251) * fix: check HPMNs duplicate on tx broadcast (#5257) * Merge pull request #5258 from kittywhiskers/update_dashbls * feat: isdlock support without quorum rotation (regtest only) (#5259) * chore: bump to rc.6 * refactor: tweak GetLLMQ to fail gracefully and let caller handle results accordingly (#5247) * feat: Bumped v19 start time for v19 (#5244) * feat(rpc): Return HPMN fields (#5243) * fix: governance correct sig check (#5242) * chore(rpc): removed protx_revoke_legacy (#5241) * fix: BLS checkMalleable protection (#5240) * fix: mnUniquePropertyMap repopulate for v19 (#5239) * docs(rpc): correct help for protx legacy versions (#5234) * chore: bump to rc.5 * fix: postpone v19 hf start time on testnet (#5231) * fix(doc): fix `release-notes-5225.md` (#5230) * chore: bump version to rc.4 * feat(llmq): llmq_test_dip0024 adjustments (#5229) * feat(llmq): llmq_25_67 for Platform (Testnet only) (#5225) * chore: Bump MIN_MASTERNODE_PROTO_VERSION for v19 (#5223) * fix: making builds of guix to produce same output whatever git config (#5222) * fix(qt): Overview page should always be accessible (#5221) * chrore: bump version in gitian to 19 (#5220) * bump rc3 * chore: bump version to rc.2 * fix(rpc): don\'t parse platformHTTPPort platformP2PPort as strings (#5217) * chore: set the nStartTime for v19 deployment Fed 22 and March 31st respectively (#5218) * chore: Added missing protx rpc in help (#5216) * chore: update version to v19.0.0-rc.1 * Merge #18702: build: fix ASLR for bitcoin-cli on Windows * Merge #18741: guix: Make source tarball using git-archive * Merge #17929: build: add linker optimisation flags to gitian & guix (Linux) * Merge #17595: guix: Enable building for `x86_64-w64-mingw32` target * Merge #18320: guix: Remove now-unnecessary gcc make flag * Merge #18104: build: Skip i686 build by default in guix and gitian * Merge #17933: guix: Pin Guix using `guix time-machine` * partial Merge #17351: doc: Fix some misspellings * Merge #16810: guix: Remove ssp spec file hack * Merge #15277: contrib: Enable building in Guix containers * refactor: minimize GetLLMQParams calls (#5211) * refactor: implement c++23 inspired ToUnderlying (#5210) * fix: bls operations crash protection (#5202) * fix: platform quorums are hpmn-only only after v19 hf (#5212) * refactor: using C++11/14/17 features in dash specifict code (#5190) * refactor: make MigrateDBIfNeeded more straightforward (#5213) * fix: speed up CDeterministicMNListDiff deser (#5214) * refactor/fix: return `Invalid` mn type instead of crashing on `assert` in `GetMnType` (#5209) * test: dip4 test adjustement to hpmns (#5207) * feat(llmq): Introduction of llmq_devnet_platform + update llmqPlatform from args (devnets only) (#5205) * fix(gui): remove \"Upgrade wallet format\" button from \"Wallet Repair\" tab * merge bitcoin#15761: Replace -upgradewallet startup option with upgradewallet RPC * partial bitcoin#18788: Update more tests to work with descriptor wallets * test: have feature_filelock.py test both bdb and sqlite, depending on compile flags * test: skip bdb-specific tests if support is not compiled in * test: remove more default wallet hacks * test: don\'t make any wallets unless wallets are required * test: set default wallet name for sqlite and pass-through build type * merge bitcoin#20458: add is_bdb_compiled helper * partial #20262: skip --descriptor tests if sqlite is not compiled * ci: add sqlite-only linux64 test build * feat(llmq): llmq_test_platform threshold adjustment (#5204) * feat(rpc): masternode status and count RPCs adjusted for HPMNs (#5206) * fix/tests: fix inconsistencies in `getaddressinfo`, add tests (#5196) * refactor: introduce enum class for MnType and clean up implementation accordingly (#5200) * feat(qt): add MN type to MN tab (#5201) * Merge #19854: Avoid locking CTxMemPool::cs recursively in simple cases * Merge #19556: Remove mempool global * Merge #19826: Pass mempool reference to chainstate constructor * Merge #17477: Remove the mempool\'s NotifyEntryAdded and NotifyEntryRemoved signals * Merge #14384: Fire TransactionRemovedFromMempool callbacks from mempool * fix: re-run a script from backport bitcoin#17407 * Merge #19848: Remove mempool global from interfaces * Merge #18541: rpc: Make verifychain default values static, not depend on global args * Merge #15748: [rpc] remove dead mining code * feat!: 4k collateral high performance masternode implementation (#5039) * fix/tests: fix `legacy` param usage in `bls generate` and `bls fromsecret`, add tests (#5195) * style: adjust template of new PR (#5193) * fix: 5072 follow-ups (#5197) * fix: get rid of [most] clang warnings during build on linux (#5186) * Merge #15452: Replace CScriptID and CKeyID in CTxDestination with dedicated types * Merge #15899: rpc: Document iswitness flag and fix bug in converttopsbt * Merge #16047: doc: analyzepsbt description in doc/psbt.md * Merge #15947: Install bitcoin-wallet manpage * Merge #16095: Catch by reference not value in wallettool * Merge #15660: [qa] Overhaul p2p_compactblocks.py * Merge #15238: [QA] remove some magic mining constants in functional tests * Merge bitcoin#14822: bench: Destroy wallet txs instead of leaking their memory * Merge bitcoin#13815: util: Add [[nodiscard]] to all {Decode,Parse}[...](...) functions returning bool * fix: Dmnstate unserialize fix (#5192) * fix: using checkMalleable in serialization of CBLSSignatureVersionWrapper (#5189) * fix/tests: fix `masternode payments` rpc, add tests (#5191) * fix(qt): Ignore change output in reassignAmounts (#5182) * fix: using BLSDKG_GenerateContributions in benchmark (#5188) * refactor: remove protx_update_service_legacy (#5185) * fix: added missing specific_legacy_bls_scheme (#5184) * merge bitcoin#23112: enable SQLite extended result codes * merge bitcoin#25378: sqlite 3380500 in depends * merge bitcoin#21962: dedup sqlite PRAGMA access * merge bitcoin#21540: refactor: dedup sqlite statement preparations/deletions * merge bitcoin#21634: Skip SQLite fsyncs while testing * merge bitcoin#20275: List all wallets in non-SQLite and non-BDB builds * merge bitcoin#20324: Set DatabaseStatus::SUCCESS in MakeSQLiteDatabase * merge bitcoin#20308: Set bilingual error completely * merge bitcoin#20216: fix buffer over-read in SQLite file magic check * merge bitcoin#20202: Make BDB support optional * merge bitcoin#20156: Make sqlite support optional (compile-time) * build: Avoid fcntl64AATTGLIBC_2.28 in libsqlite3.a * partial bitcoin#19077: Add sqlite as an alternative wallet database and use it for new descriptor wallets * merge bitcoin#20130: remove db mode string * build: remove cmake from list of packages (#5179) * refactor: remove dependency of dummyWallet in RecoverDatabaseFile on NodeContext (#5178) * docs: Release notes for BLS upgrade (#5137) * Merge #17156: psbt: check that various indexes and amounts are within bounds * Merge #17524: psbt: handle unspendable psbts * Merge #16944: gui: create PSBT with watch-only wallet * Merge #16326: [RPC] add new utxoupdatepsbt arguments to the CRPCCommand and CPRCCvertParam tables * Merge #14055: fix walletcreatefundedpsbt deriv paths, add test * Merge #13712: wallet: Fix non-determinism in ParseHDKeypath(...). Avoid using an uninitialized variable in path calculation. * merge bitcoin#19583: clean up Misbehaving() * merge bitcoin#19472: Reduce cs_main scope in MaybeDiscourageAndDisconnect() * refactor: pass CNode reference as const when possible * refactor: rearrange argument order to be more consistent * refactor: pass CNode by reference for ProcessMessage functions * refactor: rename ProcessSporkMessages to match other functions * merge bitcoin#19704: move ProcessMessage() to PeerLogicValidation * merge bitcoin#19293: Avoid redundant and confusing FAILED log * merge bitcoin#19174: replace CConnman pointers by references in net_processing.cpp * merge bitcoin#19053: replace CNode pointers by references within net_processing.{h,cpp} * refactor: tidy up implementation of special tx manager (#5172) * fix: keeping reference to local variable in Coin Join unit tests (#5174) * fix: governance should not lock mempool mutex even call GetTransaction (#5175) * Merge #20759: doc: [test] Remove outdated comment in fuzz runner * Merge #20748: test: Add race:SendZmqMessage tsan suppression * Merge #20199: wallet: ignore (but warn) on duplicate -wallet parameters * Merge #20214: test: Fix rpc_net intermittent issue * Merge #20055: rpc: Set HTTP Content-Type in bitcoin-cli * Merge #19919: bugfix: make LoadWallet assigns status always * Merge #19508: Work around memory-aliasing in descriptor ParsePubkey * Merge #19555: rpc: deduplicate WriteHDKeypath() used in decodepsbt * Merge #19023: test: Fix intermittent ETIMEDOUT on FreeBSD * Merge #18879: valgrind: remove outdated suppressions * Merge #18510: fuzz: Add CScriptNum::getint coverage * Merge #18459: rpc: remove unused getbalances() code * Merge #18219: doc: Add warning against wallet.dat re-use * Merge #18018: tests: reset fIsBareMultisigStd after bare-multisig tests * Merge #17378: TestShell: Fix typos & implement cleanups * Merge #16742: test: add executable flag for wallet_watchonly.py * Merge #20375: fuzz: Improve coverage for CPartialMerkleTree fuzzing harness * Merge #20300: fuzz: Add missing ECC_Start to descriptor_parse test * Merge #19595: Fix .gitignore for src/test/fuzz directory * Merge #19548: fuzz: add missing overrides to signature_checker * Merge #19452: doc: afl fuzzing comment about afl-gcc and afl-g++ * Merge #18939: doc: add c++17-enable flag to fuzzing instructions * Merge #18901: fuzz: use std::optional for sep_pos_opt variable * Merge #18917: fuzz: fix vector size problem in system fuzzer * Merge #18664: fuzz: fix unused variable compiler warning * Merge bitcoin-core/gui#680: Fixes MacOS 13 segfault by preventing certain notifications after main window is destroyed * feat: reduce autoresending of wallet transactions to an average of 2 hours (#5166) * Merge #19060: test: Remove global wait_until from p2p_getdata * Merge #18808: [net processing] Drop unknown types in getdata * Merge #20064: RPC: remove duplicate line in getblock help * Merge #19828: wallet, refactor: Remove duplicate map lookups in GetAddressBalances * Merge bitcoin-core/gui#11: Remove needless headers from qt/walletview.cpp * Merge #19299: refactor: Remove unused vars, Add missing includes * Merge #18806: net: remove is{Empty,Full} flags from CBloomFilter, clarify CVE fix * Merge #18670: refactor: Remove unused methods CBloomFilter::reset()/clear() * refactor: implementation of CheckDecryptionKey is unified with bitcoin\'s implementation * Merge #17621: IsUsedDestination should count any known single-key address * Merge #17537: wallet: Cleanup and move opportunistic and superfluous TopUp()s * Merge #17369: Refactor: Move encryption code between KeyMan and Wallet * fix: add a missing condition in GetHDChain. * Merge #17373: wallet: Various fixes and cleanup to keypool handling in LegacyScriptPubKeyMan and CWallet * Merge #17584: wallet: replace raw pointer with const reference in AddrToPubKey * Merge #17518: refactor, wallet: Nuke coincontrol circular dependency * Merge #17237: wallet: LearnRelatedScripts only if KeepDestination * Merge #17371: Refactor: Require scriptPubKey to get wallet SigningProvider * Merge #17354: wallet: Tidy CWallet::SetUsedDestinationState * Merge #17381: LegacyScriptPubKeyMan code cleanups * Merge #19114 TxoutType C++11 scoped enum class * Merge #19474: doc: Use precise permission flags where possible * Merge #18268: rpc: Remove redundant types from descriptions * docs(rpc): added missing legacy rpc in help (#5161) * feat(rpc): added scheme in bls generate rpc + aligned changes for bls fromsecret rpc (#5164) * merge bitcoin#25068: Wrap boost::replace_all * merge bitcoin#25057: replace remaining boost::split with SplitString * merge bitcoin#25025: Remove boost::split from rpc_tests.cpp * merge bitcoin#20461: Validate -rpcauth arguments * merge bitcoin#25027: Remove boost::split from getarg_tests.cpp * merge bitcoin#22953: introduce single-separator split helper * merge bitcoin#21016: remove boost::thread_group usage * merge bitcoin#19197: use std::thread for ThreadImport() * merge bitcoin#19142: Make VerifyDB level 4 interruptible * merge bitcoin#18758: Remove unused boost/thread * merge bitcoin#22859: Replace uses of boost::trim * with locale-independent alternatives * merge bitcoin#19090: Misc scheduler cleanups * merge bitcoin#18376: fix use-after-free in tests * merge bitcoin#18289: Make scheduler methods type safe * merge bitcoin#25964: fix mingw miniupnpc cflags * merge bitcoin#20421: miniupnpc 2.2.2 * merge bitcoin#19375: target Windows 7 when building libevent and fix ipv6 usage * merge bitcoin#18676: Check libevent minimum version in configure script * merge bitcoin#22320: set minimum required Boost to 1.64.0 * merge bitcoin#19667: set minimum required Boost to 1.58.0 * partial bitcoin#23511: require glibc 2.18+ * merge bitcoin#20476: Add test for ELF symbol-check * merge bitcoin#22244: Correctly extract symbol versions in symbol-check * merge bitcoin#20434: Parse ELF directly for symbol and security checks * merge bitcoin#19525: add -Wl,-z,separate-code to hardening flags * feat(rpc): Added previousConsecutiveDKGFailures for rotation in quorum rpc (#5158) * fix: Merklerootmnlist calc bls scheme (#5157) * chore: add missing copyrights via `copyright_header.py insert` * chore: run `copyright_header.py update` * chore: update copyright_header.py * chore: bump COPYRIGHT_YEAR to 2023 * chore: archive 18.1.1 release notes, restore 18.2.0 release notes * chore: backup 18.2.0 releasae notes * Merge #18839: test: Fix intermittent issues * Merge #18485: test: Add mempool_updatefromblock.py * Merge #18745: test: Check submitblock return values * Merge #18690: test: Check object hashes in wait_for_getdata * Merge #18675: tests: Don\'t initialize PrecomputedTransactionData in txvalidationcache tests * Merge #18692: test: Bump timeout in wallet_import_rescan * Merge #18641: test: Create cached blocks not in the future * Merge #18545: test: refactor rpc_signrawtransaction and add logging * Merge #18597: test: Extend wallet_dump test to cover comments * Merge #18609: test: Remove REJECT message code * feat(coinjoin): implement new serialization for dsq and dstx (#5136) * fix!: Rotation members calc v19 (#5142) * fix: non-aligned BLS serialization within MNLISTDIFF (#5151) * fix: resolve potential deadlock (#5138) * fix: preserve the original order of fields in CDeterministicMNStateDiff (#5139) * fix: avoid re-propogating old qfcommit messages (#5145) * refactor: begin to de-globalize masternodeSync (#5103) * build: fix gitian builds * merge bitcoin#20452: Replace use of locale dependent atoi(…) with locale-independent std::from_chars(…) * merge bitcoin#19750: remove unused c-string variant of atoi64() * merge bitcoin#18449: Remove unused itostr * merge bitcoin#18134: Replace std::to_string with locale-independent alternative * merge bitcoin#22220: make ParseMoney return a std::optional * merge bitcoin#21438: add ParseUInt8() test coverage * merge bitcoin#18270: Fail to parse whitespace-only strings in ParseMoney(...) * merge bitcoin#18225: Fail to parse empty string in ParseMoney * build: add mimalloc\'s Win32 API dependencies * revert: revert \'stop tracking cmake dependency relic_conf.h.in\' * Squashed \'src/dashbls/\' changes from 66ee820fbc..22b066020c * revert: stop tracking cmake dependency relic_conf.h.in * fix: support new format of electrum backup files in importelectrumwallet (#5107) * docs: replace bitcoin/bitcoinAATTmaster refs to dashpay/dashAATTdevelop * docs: update dependencies.md to match version of \'depends\' pkgs * merge bitcoin#16441: remove qt libjpeg check from bitcoin_qt.m4 * merge bitcoin#17561: Changed MiniUPnPc link to https in dependencies.md * merge bitcoin#15684: Fix typo libsrvg->librsvg * merge bitcoin#15222: Add info about factors that affect dependency list * merge bitcoin#11264: Fix broken Markdown table in dependencies.md * merge bitcoin#10779: Create dependencies.md * docs: replace remaining OSX references with macOS * Merge #19630: Cleanup fee estimation code * Merge #19069: refactor: replace pointers by references within tx_verify.{h,cpp} * Merge #15760: doc: Clarify sendrawtransaction::maxfeerate==0 help * Merge #18770: test: Remove raw-tx byte juggling in mempool_reorg * Merge #16929: test: follow-up to rpc: default maxfeerate value as BTC/kB * Merge #18495: rpc: Remove deprecated migration code * Merge #16521: rpc: Use the default maxfeerate value as BTC/kB * feat(rpc): Hide old banned mns by default (#5125) * chore: update assumevalid for v18.2.0 (#5128) * feat!: BLS scheme upgrade (#5021) * build: stop tracking cmake dependency relic_conf.h.in * Squashed \'src/dashbls/\' content from commit 66ee820fbc * build: remove mangled \'src/dashbls\' subdirectory * refactor: Removed old evo/deterministicmns parts (#5113) * feat: Enrich quorum listextended rpc reply (#5114) * feat: adjust delays and pull intervals to speed up functional tests (#5091) * feat(rpc): Updated quorum listextended RPC (#5104) * fix(tests): adjust nonce in blockinfo to make tests faster (#5087) * chore: Added governance sources files in CMake (#5105) * refactor: move CInstantSendManager::PreVerifyInstantSendLock into CIn stantSendLock::TriviallyValid (#5102) * refactor: replace log define with a template function (#5101) * fix: speed up GetStateFor (#5100) * refactor: remove the g_evoDb global; use NodeContext and locals (#5058) * fix(rpc): Added missing quorum listextended in quorum help (#5095) * chore: update defaults for testnet fork at 794921 (#5097) * revert: revert bitcoin#20186 (Make -wallet setting not create wallets) * revert: revert bitcoin#20034 (Get rid of default wallet hacks) * revert: revert bitcoin#15454 (Remove the automatic creation and loading of the default wallet) * merge bitcoin#15437: Remove BIP61 reject messages * fix(consensus)!: avoid using the same mn twice in one indexed quorum (#5086) * fix(consensus)!: Rotation member computation fix (#5085) * build: drop immer from depends * build: add exclusions to linting scripts and filters * build: restore support for building immer from local subtree * fix: read item out of array `blockinfo` in miner tests (#5084) * Squashed \'src/immer/\' content from commit 9cb6a5a845 * build/depends: commit dashpay/bls-signaturesAATT66ee820f to source tree as vendored (#5077) * feat!: v19 BIP9 fork (#5070) * chore: bump version to 19.0.0 (#5080) * Mon Apr 03 2023 marecAATTdetebe.org- Update to version 18.2.2: * chore: bump version to 18.2.2 * chore: add 18.2.2 release notes * chore: archive 18.2.1 release notes * refactor: tweak GetLLMQ to fail gracefully and let caller handle results accordingly (#5247) * feat(llmq): llmq_25_67 for Platform (Testnet only) (#5225) * Sat Jan 28 2023 marecAATTdetebe.org- Update to version 18.2.1: * Merge pull request #5160 from UdjinM6/bump_year_2023 * Merge pull request #5159 from UdjinM6/merge_master_18.1.1 * docs: archive v18.2.0 release notes and add v18.2.1 release notes * chore: bump version to v18.2.1 * chore: remove IsV19Active check since v18.2.1 is non-breaking * fix!: Rotation members calc v19 (#5142) * fix: avoid re-propogating old qfcommit messages (#5145) * chore: update assumevalid for v18.2.0 (#5128) * chore: set version to v18.2.0 final * [v18.2.x] docs: add release notes for v18.2.0 (#5129) * chore: run `gen-manpages.sh` for 18.2.0 (#5132) * chore: bump version to 18.2.0-rc.4 (#5117) * feat: Enrich quorum listextended rpc reply (#5114) * feat(rpc): Updated quorum listextended RPC (#5104) * fix: speed up GetStateFor (#5100) * chore: bump version * fix(rpc): Added missing quorum listextended in quorum help (#5095) * chore: update defaults for testnet fork at 794921 (#5097) * chore: bump version to 18.2.0-rc.2 (#5093) * fix(consensus)!: avoid using the same mn twice in one indexed quorum (#5086) * fix(consensus)!: Rotation member computation fix (#5085) * fix: read item out of array `blockinfo` in miner tests (#5084) * chore: bump to 18.2.0-rc.1 (#5081) * feat(rpc): Added quorum listextended RPC (#5076) * fix(doc/ci): break `rpc/rest/zmq` into individual scopes, sort scopes (#5079) * revert: merge bitcoin#15454 (Remove the automatic creation and loading of the default wallet) * revert: merge bitcoin#20034 (Get rid of default wallet hacks) * revert: merge bitcoin#20186 (Make -wallet setting not create wallets) * refactor: create context for LLMQ subsystem within NodeContext, alias entangled globals (#5030) * merge bitcoin#20323: Create or use existing properly initialized NodeContexts * ci: convert semantic pr title check to use action (#5071) * fix: params cleanup in `pow_tests/get_next_work` (#5067) * ci: bump docker and docker-dind to 20.10.20 for gitlab (#5045) * Merge #20745: qa: Correct epoll_ctl data race suppression * Merge #17008: build: bump libevent to 2.1.11 in depends * Merge bitcoin/bitcoin#25436: build: GCC-12 build improvements * fix: do not crash when running with `statsenabled=1` (#5066) * merge bitcoin#16251: Improve signrawtransaction error reporting * merge bitcoin#18416: Limit decimal range of numbers ParseScript accepts * merge bitcoin#20429: replace (sizeof(a)/sizeof(a[0])) with C++17 std::size * merge bitcoin#20457: Make Parse{Int,UInt}{32,64} use locale independent std::from_chars(…) (C++17) instead of locale dependent strto{l,ll,ul,ull} * merge bitcoin#21328: pass uint16 CService::port as uint16 * merge bitcoin#21444: Doxygen updates and fixes in netbase.{h,cpp} * merge bitcoin#19415: Make DNS lookup mockable, add fuzzing harness * merge bitcoin#19203: Add regression fuzz harness for CVE-2017-18350. Add FuzzedSocket * merge bitcoin#20812: Bump FuzzedDataProvider.h * merge bitcoin#20788: add RAII socket and use it instead of bare SOCKET * partial bitcoin#18638: Use mockable time for ping/pong, add tests * fix(ci): disable `--tls` explicitly (#5068) * refactor: change Process * functions from accepting a ptr to a reference (#5062) * fix: make masternodeSync available as early as possible (#5060) * refactor: use util/irange.h in block_reward_reallocation_tests.cpp (#5061) * refactor: introduce a python-like enumerate() method, and use it in block_reward_reallocation_tests.cpp * refactor: replace util::Ref with CoreContext (std::variant) (#5055) * refactor: remove leftover rpc prefix from filename (evo, quorum) * refactor: resolve implicit-const-int-float-conversion warning in statsd_client * fix(coinjoin): fix version comparison check serialization bug * ci: make fuzzing builds stricter by enabling -Werror by default * merge bitcoin#19314: Use uint16_t instead of unsigned short * merge bitcoin#20736: Replace boost::variant with std::variant for RPCArg.m_fallback * merge bitcoin#20480: Replace boost::variant with std::variant * merge bitcoin#20253: use std::chrono throughout maxOutbound logic * merge bitcoin#20602: Allow use of C++14 chrono literals * merge bitcoin#19084: improve code documentation for dns seed behaviour * merge bitcoin#16939: Delay querying DNS seeds * merge bitcoin#21882: Fix undefined reference to __mulodi4 * merge bitcoin#21415: remove Optional & nullopt * merge bitcoin#21404: Remove MakeUnique() * refactor: restrict some llmq logging to only debug=llmq (#5050) * Merge #17985: net: Remove forcerelay of rejected txs * Merge #17984: test: Add p2p test for forcerelay permission * Merge #17921: test: test OP_CSV empty stack fail in feature_csv_activation.py * Merge #18209: test: Reduce unneeded whitelist permissions in tests * Merge #17461: test: check custom descendant limit in mempool_packages.py * Merge #18167: Fix a violation of C++ standard rules where unions are used for type-punning * Merge #17264: rpc: set default bip32derivs to true for psbt methods * Merge #18162: util: Avoid potential uninitialized read in FormatISO8601DateTime(int64_t) by checking gmtime_s/gmtime_r return value * Merge #18193: scripted-diff: Wallet: Rename incorrectly named *UsedDestination * Merge #18070: doc: add note about `brew doctor` * Merge #18166: ci: Run fuzz testing test cases (bitcoin-core/qa-assets) under valgrind to catch memory errors * ci: fix docker tags meta action (#5054) * Refactor: minor misc coinjoin refactoring (#5053) * refactor/fix: use the shared_ptr where possible instead of getting the underlying pointer (#5052) * refactor: use std::optional in some spork code (#4736) * test/refactor: upgrade to cppcheck 2.9 and fix warnings (#5049) * chore: bump version to 18.2.0 (#5048) * Merge #16239: wallet/rpc: follow-up clean-up/fixes to avoid_reuse * Merge #15930: rpc: Add balances RPC * Merge #17889: wallet: Improve CWallet:MarkDestinationsDirty * Merge #17843: wallet: Reset reused transactions cache * Merge #17502: test: add unit test for non-standard bare multisig txs * Merge #17532: test: add functional test for non-standard txs with too large scriptSig * Merge #17480: test: add unit test for non-standard txs with too large scriptSig * Merge #17945: doc: Fix doxygen errors * Merge #17823: scripts: Read suspicious hosts from a file instead of hardcoding * Merge #17541: test: add functional test for non-standard bare multisig txs * Merge #17910: build: remove double LIBBITCOIN_SERVER linking * Merge #16851: Continue relaying transactions after they expire from mapRelay * Partial Merge #17517: ci: Bump to clang-8 for asan build to avoid segfaults on ppc64le * Revert \"Merge pull request #5029 from PastaPastaPasta/backport/18.0.2-backports\" * merge bitcoin#20186: Make -wallet setting not create wallets * merge bitcoin#19967: Replace (dis)?connect_nodes globals with TestFramework methods * merge bitcoin#19198: Check that peers with forcerelay permission are not asked to feefilter * merge bitcoin#18890: disconnect_nodes should warn if nodes were already disconnected * merge bitcoin#20581: Don\'t make \"in\" parameters look like \"out\"/\"in-out\" parameters: pass by ref to const instead of ref to non-const * merge bitcoin#20034: Get rid of default wallet hacks * merge bitcoin#13339: Replace %w by wallet name in -walletnotify script * merge bitcoin#15454: Remove the automatic creation and loading of the default wallet * merge bitcoin#19619: Remove wallet.dat path handling from wallet.cpp, rpcwallet.cpp * merge bitcoin#18727: Add CreateWalletFromFile test * partial bitcoin#18115: Pass in transactions and messages for signing instead of exporting the private keys * partial bitcoin#17371: Require scriptPubKey to get wallet SigningProvider * fix(gui): Fix crashes when trying to run `dash-qt` with `--disablewallet` (#5041) * Merge #18062: gui: Fix unintialized WalletView::progressDialog * Merge #17482: util: Disallow network-qualified command line options * Merge #18060: gui: Drop PeerTableModel dependency to ClientModel * Merge #16974: Walk pindexBestHeader back to ChainActive().Tip() if it is invalid * Merge #18054: net: reference instead of copy in BlockConnected range loop * Merge #17937: gui: Remove WalletView and BitcoinGUI circular dependency * Merge #18036: gui: Break trivial circular dependencies * Merge #17951: Use rolling bloom filter of recent block txs for AlreadyHave() check * Merge #17719: Document better -keypool as a look-ahead safety mechanism * backport: partial bitcoin#23819 ConnectBlock: don\'t serialize block hash twice (#5042) * refactor: make ThreadOpenMasternodeConnections much more readable, using lambdas! (#4906) * fix(tests): various fixes (#4840) * fix(build): Fix incorrect type conversion (#5037) * fix: Compilation fix (#5034) * chore(rpc): add conflicting to getchaintips help (#5032) * Merge #18704: test: Increase debugging to hunt down mempool_reorg intermittent failure * Merge #18752: test: Fix intermittent error in mempool_reorg * Merge #18345: test: Bump timeouts to avoid valgrind failures * more of 17863/21376 * Merge #18007: Bugfix: GUI: Hide the HD/encrypt icons earlier so they get re-shown if another wallet is open * Merge #17935: gui: hide HD & encryption icons when no wallet loaded * Merge #17096: gui: rename debug window * Merge #17770: test: bump test timeouts so that functional tests run in valgrind * Merge #17740: build: remove configure checks for win libraries we don\'t link against * Merge #17863: scripts: Add MACHO dylib checks to symbol-check.py * Merge #17754: net: Don\'t allow resolving of std::string with embedded NUL characters. Add tests. * Merge #18255: test: Add bad-txns- *-toolarge test cases to invalid_txs * Merge #16908: txmempool: Make entry time type-safe (std::chrono) * merge bitcoin#20733: inline non-member functions with body in fuzzing headers * merge bitcoin#20560: Link all targets once * merge bitcoin#18757: Remove enumeration of expected deserialization exceptions in ProcessMessage(...) fuzzer * merge bitcoin#18739: Document how to fuzz Bitcoin Core using Honggfuzz * merge bitcoin#18342: Add fuzzing quickstart guides for libFuzzer and afl-fuzz * merge bitcoin#18994: Add fuzzing harnesses for functions in script/ * merge bitcoin#18938: Fill fuzzing coverage gaps for functions in consensus/validation.h, primitives/block.h and util/translation.h * merge bitcoin#18519: Extend script fuzz test * merge bitcoin#18155: Add harness which fuzzes EvalScript and VerifyScript using a fuzzed signature checker * merge bitcoin#17136: Add fuzzing harness for various PSBT related functions * merge bitcoin#18249: Bump timeouts to accomodate really slow disks * merge bitcoin#19659: Add a seed corpus generation option to the fuzzing test_runner * partial bitcoin#18929: Pass down LD_LIBRARY_PATH and MAKEJOBS to fuzz test_runner * merge bitcoin#18688: Run in parallel * partial bitcoin#18166: Run fuzz testing test cases (bitcoin-core/qa-assets) under valgrind to catch memory errors * merge bitcoin#18566: Set -use_value_profile=1 when merging fuzz inputs * merge bitcoin#18509: Avoid running over all inputs after merging them * merge bitcoin#18300: Add option to merge input dir to test runner * merge bitcoin#18047: Add basic fuzzing harness for CNetAddr/CService/CSubNet related functions (netaddress.h) * merge bitcoin#18528: create test_fuzz library from src/test/fuzz/fuzz.cpp * test: bls scheme basic/legacy tests (#5027) * docs: add release notes for 18.0.2 * merge bitcoin#14193: Add missing mempool locks * chore: archive release-nodes.md * chore: bump version to 18.0.2 * fix: Flush chainstate (and evodb) cache whenever evodb mem usage is getting too high (#5007) * Merge bitcoin/bitcoin#25739: Update leveldb subtree (#5005) * trivial: Fix trailing whitespaces in release notes (#4989) * merge bitcoin#15938: silence GCC 7 warning \"control reaches end of non-void function\" (-Wreturn-type) in psbt.cpp * merge bitcoin#18204: improve descriptor cache and cache xpubs * merge bitcoin#15024: Allow specific private keys to be derived from descriptor * merge bitcoin#18783: Add fuzzing harness for MessageSign, MessageVerify and other functions in util/message.h * merge bitcoin#17577: deduplicate the message sign/verify code * merge bitcoin#19107: Move all header verification into the network layer, extend logging * merge bitcoin#19264: don\'t import asyncio to test magic bytes * merge bitcoin#18764: replace inv type magic numbers by constants * merge bitcoin#15508: Refactor analyzepsbt for use outside RPC code * trivial: relocate MSG_ * constants from mininode to messages * partial bitcoin#13932: Additional utility RPCs for PSBT * partial bitcoin#14588: Refactor PSBT signing logic to enforce invariant and fix signing bug * style: rename variable to avoid shadowing (#5020) * Mon Jan 09 2023 marecAATTdetebe.org- Update to version 18.1.1: * chore: add release notes for v18.1.1 * chore: bump version * fix: avoid re-propogating old qfcommit messages (#5145) * Wed Oct 19 2022 marecAATTdetebe.org- Update to version 18.1.0: * fix(gui): Fix crashes when trying to run `dash-qt` with `--disablewallet` (#5041) * fix(build): Fix incorrect type conversion (#5037) * docs: write release notes * docs: archive 18.0.2 release notes * Merge pull request #5040 from UdjinM6/merge_master_18.0.2 * chore: set VERSION_IS_RELEASE to true * chore: bump nMinimumChainWork and defaultAssumeValid for mainnet and testnet * fix: Flush chainstate (and evodb) cache whenever evodb mem usage is getting too high (#5007) * Merge bitcoin/bitcoin#25739: Update leveldb subtree (#5005) * refactor: pass references to objects instead of using global definitions (#4988) * Merge bitcoin#17304: refactor: Move many functions into LegacyScriptPubKeyMan and further separate it from CWallet * fix(tests): fix for default initialization of structures in messages.py (#5008) * Merge #15283: log: Fix UB with bench on genesis block * Merge #20033: refactor: minor whitespace fixups, s/const/constexpr/ and remove template (followup to #19845) * Merge #18612: script: Remove undocumented and unused operator+ * Merge #19006: rpc: Avoid crash when g_thread_http was never started * Merge #18774: test: added test for upgradewallet RPC * Merge #18157: doc: fixing init.md documentation to not require rpcpassword * Merge #18633: test: Properly raise FailedToStartError when rpc shutdown before warmup finished (take 2) * Merge #18467: rpc: Improve documentation and return value of settxfee * Merge #18493: rpc: Remove deprecated \"size\" from mempool txs * Merge #19208: test: move sync_blocks and sync_mempool functions to test_framework.py * Merge #18474: test: check that peer is connected when calling sync_ * * Merge #18986: tests: Add capability to disable RPC timeout in functional tests * Merge #18247: test: Wait for both veracks in add_p2p_connection * Merge #18617: test: add factor option to adjust test timeouts * Merge #18873: test: Fix intermittent sync_blocks failures * Merge #16681: Tests: Use self.chain instead of \'regtest\' in all current tests * Merge #17288: Added TestShell class for interactive Python environments. * Merge #16042: test: Bump MAX_NODES to 12 * Merge #15419: qa: Always refresh cache to be out of ibd * refactor: create an enum for DKGError, instead of passing around potentially invalid strings (#4998) * Merge bitcoin/bitcoin#24298: fuzz: Avoid unsigned integer overflow in FormatParagraph * Merge bitcoin/bitcoin#24095: util: Fix mis-swapped `prettyIndent` and `indentLevel` arguments * Merge bitcoin/bitcoin#22591: Util: error if settings json exists, but is unreadable * Merge #21486: build: link against -lsocket if required for *ifaddrs * Merge #21082: refactor: Treat ArgsManager::Flags as uint32_t explicitly * Merge #19624: Warn on unknown rw_settings * Merge #19593: refactor: Drop unused CBufferedFile::Seek() * Merge #16878: Fix non-deterministic coverage of test DoS_mapOrphans * Merge #19140: tests: Avoid fuzzer-specific nullptr dereference in libevent when handling PROXY requests * Merge #19194: util: Don\'t reference errno when pthread fails. * refactor: mark stuff as [[nodiscard]] and use Mutex (#4996) * fix(rpc): `masternode outputs` should work correctly with multiple outputs created via a single tx (#4967) * Merge #18069: test: replace \'regtest\' leftovers by self.chain * Merge #17849: ci: Fix brew python link * Merge #17635: ci: Add CentOS 7 build * trivial: Fix trailing whitespaces in release notes (#4989) * Revert \"fix spaces/monospace fonts in qt console\" (#4984) * Fix qt crash after 4930 (#4992) * refactor: Refactor `CalcCbTxMerkleRootQuorums` (#4954) * refactor: migrate globals to managed pointers in preparation for deglobalization (#4930) * Merge #17488: test: fix \"bitcoind already running\" warnings on macOS * Merge #17455: tests: Update valgrind suppressions * Merge #17469: test: Remove fragile assert_memory_usage_stable * Merge #17435: test: check custom ancestor limit in mempool_packages.py * Merge #17340: Tests: speed up fundrawtransaction test * Merge #17370: doc: Update doc/bips.md with recent changes in master * Merge #17382: rpc: Remove unused boost::this_thread::interruption_point * Merge #17044: init: Remove auto-import of `bootstrap.dat` and associated code * Merge #17258: Fix issue with conflicted mempool tx in listsinceblock * merge bitcoin#19065: Add fuzzing harness for CAddrMan * merge bitcoin#19067: Add fuzzing harness for CNode * merge bitcoin#18744: Add fuzzing harnesses for various classes/functions in primitives/ * merge bitcoin#18445: Add fuzzing harnesses for functions/classes in chain.h and protocol.h * merge bitcoin#19558: split pthread flags out of ldflags and dont use when building libconsensus * merge bitcoin#20188: Add fuzzing harness for CConnman * merge bitcoin#18775: Add fuzzing harnesses for various classes/functions in policy/ (CBlockPolicyEstimator, IsRBFOptIn(…), etc.) * feat(rpc): Add `service` field for each member in `quorum info` results (#4977) * docker: fix gitian support, optimize container layer count and improve script consistency (#4983) * merge bitcoin#19296: Add fuzzing harness for AES{CBC,}256{Encrypt,Decrypt}, poly1305_auth, CHKDF_HMAC_SHA256_L32, ChaCha20 and ChaCha20Poly1305AEAD * merge bitcoin#19379: Add fuzzing harness for SigHasLowR(...) and ecdsa_signature_parse_der_lax(...) * merge bitcoin#18736: Add fuzzing harnesses for various classes/functions in util/ * bump signapple to the latest commit used in bitcoin atm * Partial merge bitcoin/bitcoin#22190: Use latest signapple commit * Merge #20880: gitian: Use custom MacOS code signing tool * fix(gitian): Fetch tags while cloning the repo via `gbuild` (#4976) * fix: Allow triggers with p2sh after DIP0024 (#4973) * Fixup for rpc wallet unused variable * Merge #16900: doc: Fix doxygen comment for SignTransaction in rpc/rawtransaction_util * Merge #16798: Refactor rawtransaction_util\'s SignTransaction to separate prevtx parsing * Merge #16383: rpcwallet: default include_watchonly to true for watchonly wallets * chore: enable DIP0024 hard fork on mainnet (#4968) * fix(llmq): Drop quorum members cache on undo (#4964) * Merge #16301: Use CWallet::Import * functions in all import * RPCs * Merge #16237: Have the wallet give out destinations instead of keys * Merge #17300: LegacyScriptPubKeyMan code cleanups * Clean up conflict resolving artefacts after backport #17260 * fix: make linter happy (4926+4952 follow-up) (#4965) * refactor/chore: update cppcheck to 2.8 with needed refactoring (#4926) * Update hard coded seeds for v18.0.0-rc12 (#4953) * translations: Add final v18 updates for ar, de and zh_CN (#4962) * chore: bump ChainTxData for mainnet and testnet (#4961) * chore: bump nMinimumChainWork, defaultAssumeValid and m_assumed_blockchain_size for mainnet and testnet (#4960) * trivial: revert dashification of header guards * trivial: revert dashification of source and header filenames * revert dash#1432: Rename consensus source library and API * partial revert dash#2911: s/dash-config/bitcoin-config/g * partial revert dash#3036: s/libbitcoin/libdash/g * feat/fix: ScanQuorums improvements (#4945) * fix: 4946 follow-up (#4957) * Merge #17260: Split some CWallet functions into new LegacyScriptPubKeyMan (#4938) * feat: Avoid starting useless DKG threads on regular non-watching nodes (#4946) * fix: Restore caching in `CalcCbTxMerkleRootMNList` (#4951) * feat: Implement caching in `CalcCbTxMerkleRootQuorums` (#4952) * fix: resolve some memory leaks (#4939) * fix(rpc): Fix off-by-1 in `protx diff` (#4950) * refactor(llmq): substitute memberless class llmq::CLLMQUtils with namespace llmq::utils (#4931) * fix(llmq): Calculate quorum members while not debugging llmq * Merge bitcoin/bitcoin#23315: [22.x] build: explicitly disable libsecp256k1 openssl based tests (#4941) * fix!: Fix on QuorumDataRequests and refactoring (#4937) * fix(llmq): use keepOldConnections (#4932) * fix/test: Count MN connections properly, add more tests for getnetworkinfo (#4928) * fix(dkg/net): Drop outdated connections to nodes that became masternodes recently (#4934) * fix: Handle quorum watch connections correctly (#4933) * Store QuorumDataRequests per {ProTx, quorumHash, llmqType} (#4935) * refactor(llmq): misc refactors (#4922) * feat(llmq): Ensure connections between IS quorums (#4917) * fix: Pass KeyOriginInfo instead of CKeyMetadata to DeriveChildExtKey (#4918) * merge bitcoin#17989: Add one specialized ProcessMessage(...) fuzzing binary per message type for optimal results when using coverage-guided fuzzing * merge bitcoin#19934: Add fuzzing harness for Keccak and SHA3_256 * merge bitcoin#19286: Add fuzzing harness for CHash{160,256}, C{HMAC_,}SHA{1,256,512}, CRIPEMD160, CSipHasher, etc. * merge bitcoin#18393: Don\'t assume presence of __builtin_mul_overflow in MultiplicationOverflow(...) fuzzing harness * merge bitcoin#18190: Add fuzzing harness for Golomb-Rice coding (GolombRiceEncode/GolombRiceDecode) * merge bitcoin#18363: Add fuzzing harness for HTTPRequest, libevent\'s evhttp and related functions * fix(fuzz): statically cast to consistent type to account for type similarity * partial bitcoin#19143: Add fuzzing harnesses for CAutoFile, CBufferedFile, LoadExternalBlockFile and other FILE * consumers * merge bitcoin#19222: Add fuzzing harness for BanMan * merge bitcoin#19247: Add fuzzing harness for {Read,Write}{LE,BE}{16,32,64} * partial bitcoin#18314: Add deserialization fuzzing of SnapshotMetadata (utxo_snapshot). Increase fuzzing coverage * partial bitcoin#18047: Add basic fuzzing harness for CNetAddr/CService/CSubNet related functions (netaddress.h) * merge bitcoin#18867: Add fuzzing harness for CCoinsViewCache * feat(rpc): getnetworkinfo RPC enrichment response (#4913) * fix!: GetNumCommitmentsRequired Rotation (#4915) * fix(llmq): mark mns \"bad\" based on the failed connect attempts count (#4910) * feat(llmq): add human-readable message alongside error code (#4916) * Bitcoin backport #16227 refactoring CWallet (#4903) * fix(net): Extend blocks-relay-only to also ignore some Dash-specific messages/invs (#4888) * fix(dkg): let probes on mainnet ignore existing inbound connections (#4908) * fix(dkg): let masternodes miss few connection attempts before considering them \"bad\" (#4907) * fix(net): Let MNs accept conections as soon as blockchain is synced (#4905) * feat(llmq): avoid probing mns too often instead of using a tiny window to probe them (#4904) * merge bitcoin#21349: Fix fuzz-cuckoocache cross-compiling for Windows with DEBUG=1 * merge bitcoin#18565: Add fuzzing harnesses for classes/functions in checkqueue.h and cuckoocache.h. Add fuzzing coverage. * merge bitcoin#18455: Add fuzzing harness for functions/classes in flatfile.h, merkleblock.h, random.h, serialize.h and span.h * merge bitcoin#18407: Add proof-of-work fuzzing harness * merge bitcoin#18423: Add fuzzing harness for classes/functions in blockfilter.h. Add integer {de,}serialization fuzzing * merge bitcoin#18176: Add fuzzing harness for CScript and CScriptNum operations * merge bitcoin#18529: Add fuzzer version of randomized prevector test * merge bitcoin#18521: Add process_messages harness * merge bitcoin#18417: Add fuzzing harnesses for functions in addrdb.h, net_permissions.h and timedata.h * merge bitcoin#18353: Add fuzzing harnesses for classes CBlockHeader, CFeeRate and various functions * merge bitcoin#17926: Add key_io fuzzing harness. Fuzz additional functions in existing fuzzing harnesses * feat(qt): Make wallet repair options only available when there is a single loaded wallet only * Merge bitcoin-core/gui#102: Fix SplashScreen crash when run with -disablewallet * merge bitcoin#18923: Never schedule MaybeCompactWalletDB when -flushwallet is off * merge bitcoin#16240: JSONRPCRequest-aware RPCHelpMan * merge bitcoin#19277: Add Assert identity function * merge bitcoin#20671: Replace boost::optional with std::optional * merge bitcoin#20016: 1 is a constant * llmq: remove unused variable \"hash\" from Unserialize * test: remove global assignment patch used for args definition in qt tests * refactor: define a UINT256_ONE global constant * fuzz: sort ENABLE_FUZZ block alphabetically to avoid merge conflicts * fix(llmq): Fix quorum commitments requirement conditions (#4899) * merge #19754: wallet, gui: Reload previously loaded wallets on startup * ci: align TEST_RUNNER_EXTRA with INTEGRATION_TESTS_ARGS * ci: reconcile differences between ci setups * ci: remove redundant \"release\" build fulfilled by qt * ci: rename variables to be more similar to bitcoin\'s styling * merge bitcoin#21405: remove memcpy -> memmove backwards compatibility alias * merge bitcoin#18862: Remove fdelt_chk back-compat code and sanity check * merge bitcoin#17367: Run non-cross-compile builds natively * merge bitcoin#17240: Disable functional tests on mac host * merge bitcoin#17205: Enable address sanitizer (ASan) stack-use-after-return checking * rename all references of TRAVIS_BUILD_DIR to BASE_BUILD_DIR * merge bitcoin#14794: Add AddressSanitizer (ASan) Travis build * merge bitcoin#17176: Cleanup macOS runs * merge bitcoin#16597: run full test suite on native macOS * Merge #18530: Add test for -blocksonly and -whitelistforcerelay param interaction * fix: Faster feature_llmq_rotation.py + introduction of llmq_devnet_dip0024 (#4878) * Merge #18499: rpc: Make rpc documentation not depend on call-time rpc args (#4893) * Merge bitcoin/bitcoin#24072: doc: fix wording of alertnotify to match behaviour * Merge bitcoin/bitcoin#24093: build: specify hosts for qrencode package * Merge bitcoin/bitcoin#23937: doc: Fix dumptxoutset RPC help doc * Merge bitcoin/bitcoin#23617: doc: Fix typos in packages.md * Merge bitcoin/bitcoin#22783: build: Cleanup depends build system * Merge bitcoin/bitcoin#21788: build: Silence [-Wunused-command-line-argument] warnings * Merge bitcoin/bitcoin#21746: refactor: init: mark fReset const * Merge #21311: rpc: document optional fields for getchaintxstats result * Merge #21421: build: don\'t try and use -fstack-clash-protection on Windows * Merge #21317: util: Make Assume() usable as unary expression * llmq: Various fixes and improvements (#4890) * chore: no scriptPayout and scriptOperatorPayout by default in `protx diff` / CSimplifiedMNListEntry (#4895) * feat: add scriptPayout and scriptOperatorPayout to `protx diff` / CSimplifiedMNListEntry (#4740) * Merge #19217: p2p: disambiguate block-relay-only variable names from blocksonly variables * Merge #18910: p2p: add MAX_FEELER_CONNECTIONS constant * Merge #15427: Add support for descriptors to utxoupdatepsbt (#4656) * merge bitcoin#19219: Replace automatic bans with discouragement filter * merge bitcoin#15141: Rewrite DoS interface between validation and net_processing * merge #19099: refactor: Move wallet methods out of chain.h and node.h * merge #15937: Add loadwallet and createwallet load_on_startup options * merge #15935: Add /settings.json persistent settings storage * merge #16115: On bitcoind startup, write config args to debug.log * partial #17473: refactor: Replace FlagsOfKnownArg with GetArgFlags * Merge bitcoin#15759: p2p: Add 2 outbound block-relay-only connections (#4862) * Merge #20720: build: more robustly check for fcf-protection support * Merge #20563: build: Check that Homebrew\'s berkeley-db4 package is actually installed * Merge #20478: Don\'t set BDB flags when configuring without * Merge #20430: sanitizers: Add suppression for unsigned-integer-overflow in libstdc++ * Merge #18921: build: add stack-clash and control-flow protection options to hardening flags * Merge #19356: build: Fix search for brew-installed BDB 4 on OS X * Merge #18796: scripts: security-check.py refactors * Merge #18629: scripts: add PE .reloc section check to security-check.py * Merge #18713: scripts: Add MACHO stack canary check to security-check.py * Merge #18709: doc: note why we can\'t use thread_local with glibc back compat * Merge #18295: scripts: add MACHO lazy bindings check to security-check.py * Merge #18415: scripts: add MACHO tests to test-security-check.py * Merge #18135: build: add --enable-determinism configure flag * Merge #18082: logging: enable thread_local usage on macOS * Merge #17362: test: speed up wallet_avoidreuse, add logging * rpc: split spork manipulation logic to distinct \"sporkupdate\" call (#4885) * Merge #16949: build: only pass --disable-dependency-tracking to packages that understand it * Merge #15084: gui: don\'t disable the sync overlay when wallet is disabled * (partial) Merge #17138: Remove wallet access to some node arguments * Merge #16689: rpc: add missing fields to wallet rpc help output * Merge #15098: qt: Show addresses for \"SendToSelf\" transactions * Merge #15932: rpc: Serialize in getblock without cs_main * Merge #17826: qt: Log Qt related info * Merge #17857: scripts: fix symbol-check & security-check argument passing * Merge #13756: wallet: \"avoid_reuse\" wallet flag for improved privacy * Removed some extra qt dependencies (seems missing in previous backports) * Merge #17730: depends: remove Qt networking features * Merge #15886: qt, wallet: Revamp SendConfirmationDialog * Merge #17634: qt: Fix comparison function signature * Merge #17604: util: make ScheduleBatchPriority advisory only * Merge #17447: wallet: Make -walletdir network only * Merge #17423: ci: Make ci system read-only on the git work tree * Merge #17420: travis: Rework CACHE_ERR_MSG * Merge #17446: gui: Changed tooltip for \'Label\' & \'Message\' text fields to be more clear * Merge #17515: Remove straggling OpenSSL references from doc and build * trivial(llmq): trivial fixes in llmq/utils.cpp (#4884) * Merge #15770: rpc: Validate maxfeerate with AmountFromValue * Merge #17750: util: change GetWarnings parameter to bool * Merge #17752: doc: fix directory path for secp256k1 subtree in developer-notes * fix(gov): do not allow empty proposal names (#4883) * Merge #17743: doc: Add release note for RPC Whitelist * merge bitcoin#21694: Use XLIFF file to provide more context to Transifex translators * ci: add text extraction dependency to permit running translation routines * refactor(qt): Reuse QRImageWidget in QRDialog (#4853) * trivial: Fix typo in gobject getcurrentvotes help (#4881) * docs(llmq): Improved documentation for keepOldConnections (#4876) * tests: basic functional tests for CoinJoin (#4730) * Fixed base58 fuzz tests, part of #17511 * Fixed fuzz build on Kubuntu 22.04 * Merge #17787: scripts: add MACHO PIE check to security-check.py * Merge #17806: test: Change filemode of rpc_whitelist.py * Add a flag \"no cli\" for rpc_whitelist functional test * Merge #12763: Add RPC Whitelist Feature from #12248 * Enabled extra functional tests thanks to previous commit with new Decimal json output * Merge #17705: test: re-enable CLI test support by using EncodeDecimal in json.dumps() * Merge #17675: tests: Enable tests which are incorrectly skipped when running test_runner.py --usecli * Added missing unification cases of UNIX timestamp string constant * Merge #17617: doc: unify unix epoch time descriptions * Merge #17511: Add bounds checks before base58 decoding * Merge #17698: depends: don\'t configure xcb_proto * Merge #17703: build: Improve configure.ac formatting * dashification: Introduce ADDRV2_PROTO_VERSION and bump PROTOCOL_VERSION to avoid conflicts with previous v18.x rcs * Merge #20661: Only select from addrv2-capable peers for torv3 address relay * Merge #20564: Don\'t send \'sendaddrv2\' to pre-70016 software, and send before \'verack\' * chore: bump copyrights (#4873) * feat(tests): check that old masternode connections are dropped (#4863) * fix!: Rotation fixes and adjustments (#4868) * refactor: Remove some unused governance legacy code (#4870) * fix: avoid bind to temporary compilation error * Merge #20218: test: Suppress epoll_ctl data race * Merge #20092: util: Do not use gArgs global in ArgsManager member functions * Merge #19984: log: Remove static log message \"Initializing chainstate Chainstate [ibd] AATT height -1 (null)\" * Merge #19805: wallet: Avoid deserializing unused records when salvaging * Merge #19861: build: add /usr/local/ to LCOV_FILTER_PATTERN for macOS builds * Merge #19777: docs: Correct description for getblockstats\'s txs field * Merge #19719: build: Add Werror=range-loop-analysis * Merge #19709: test: Fix \'make cov\' with clang * Merge #19696: rpc: Fix addnode remove command error * Merge #19028: test: Set -logthreadnames in unit tests * Merge #17907: doc: Fix improper Doxygen inline comments * Merge #16236: fuzz: Log output even if fuzzer failed * refactor: add superblock trigger maturity window to DashCore (#4865) * feat(qt): Let users resend stuck txes one by one via context menu (#4861) * fix(llmq): Actually remove old masternode quorum connections (#4859) * merge bitcoin#19779: Remove gArgs global from init * merge bitcoin#19098: Remove duplicate NodeContext hacks * merge bitcoin#19561: Pass ArgsManager into functions that register args * merge bitcoin#15358: Add SetupHelpOptions() * merge bitcoin#18926: Pass ArgsManager into getarg_tests * merge bitcoin#18662: Replace gArgs with local argsman in bench * merge bitcoin#16344: use #if HAVE_SYSTEM instead of defined(HAVE_SYSTEM) * merge bitcoin#15457: Check std::system for -[alert|block|wallet|instantsend]notify * merge bitcoin#18526: Remove PID file at the very end * feat(qt): Add an option to keep custom change address (#4860) * qt: fetch existing parameters when building parameter list * merge bitcoin#18575: Remove requirement that all benches use same testing setup * merge bitcoin#18571: Disable debug log file * merge bitcoin#19413: Remove confusing (Prev)BlockIndex global * merge bitcoin#18338: Fix wallet unload race condition * merge bitcoin#19188: Avoid overwriting the NodeContext member of the testing setup [-Wshadow-field] * merge bitcoin#15864: Fix datadir handling * merge bitcoin#15934: Merge settings one place instead of five places * revert dash#4715: Fix Repair tab * revert dash#1494: Don\'t try to create empty datadir before the real path is known * test: Check return value of ParseParameters(...) * test: don\'t pass null pointer reference into PeerLogicValidation * Merge #17366: test: Reset global args between test suites * Merge #17349: Remove redundant copy constructors * Merge #17233: travis: Run unit and functional tests on native arm * Merge #17327: test: add rpc_fundrawtransaction logging * Merge #17282: contrib: remove accounts from bash completion * chore(tests): Create/destroy g_txindex in TestChainSetup (#4855) * Merge #17648: doc: rename wallet-tool references to bitcoin-wallet * qt: adds more setPlaceholderText by form .ui instead code aproach * Merge #17702: gui: Move static placeholder texts to forms * Merge #17694: ui: disable 3rd-party tx-urls when wallet disabled * Merge #17647: lcov: filter depends from coverage reports * Merge #17699: Make env data logging optional * Merge #17685: tests: Fix bug in the descriptor parsing fuzzing harness (descriptor_parse) * Merge #17658: depends: add ability to skip building qrencode * Merge #17650: util: remove unwanted fields from bitcoin-cli -getinfo * Merge #17670: Move events_hasher into RNGState() * Merge #17573: Seed RNG with precision timestamps on receipt of net messages. * Merge #14653: rpcwallet: Add missing transaction categories to rpc helptexts * Merge #14829: travis: Enable functional tests in the ThreadSanitizer (TSan) build job * Merge #14821: Replace CAffectedKeysVisitor with descriptor based logic * Merge #14857: wallet_keypool_topup.py: Test for all keypool address types * Merge #14608: qt: Remove the \"Pay only required fee...\" checkbox * Merge #13558: Drop unused GetType() from CSizeComputer * Merge #13248: [gui] Make proxy icon from statusbar clickable * fix(qt): Disable \"Show address QR code\" menu items/buttons when no qrencode support was compiled in (#4854) * docs/build: Kubuntu 22.04 build fix (#4843) * fix!: Return FinalCommitment in qrinfo (instead of simply quorumHash) (#4850) * Adjusted keepOldConnections value for llmq_devnet (#4851) * fix!: llmqTypeInstantSend deactivation prevention if used for other purposes (#4848) * feat(qt): UI fixes for window \"Wallet Repair\" (#4846) * Merge #17242: refactor: Remove unused cacheSigStore from CheckInputsFromMempooAndCache * Merge #17080: consensus: Explain why fCheckDuplicateInputs can not be skipped and remove it * Merge #14794: tests: Add AddressSanitizer (ASan) Travis build * Merge #14993: rpc: Fix data race (UB) in InterruptRPC() * Merge #13966: gui: When private key is disabled, only show watch-only balance * Merge #14092: tests: Dry run bench_bitcoin as part \"make check\" to allow for quick identification of assertion/sanitizer failures in benchmarking code * Merge #14212: build: Remove libssl from LDADD unless gui * Merge #15456: Enable PID file creation on WIN * Merge #15477: doc: Remove misleading hint in getrawtransaction * merge bitcoin#19604: Pass mempool pointer to UnloadBlockIndex/GetCoinsCacheSizeState * merge bitcoin#19589: Avoid useless mempool query in gettxoutproof * partial bitcoin#19204: Reduce inv traffic during IBD * merge bitcoin#18637: allow cache resize after init * merge bitcoin#18615: Avoid accessing free\'d memory in validation_chainstatemanager_tests * merge bitcoin#19323: Fix regression in *txoutset * in GUI console * merge bitcoin#19056: Make gettxoutsetinfo/GetUTXOStats interruptible * merge bitcoin#18809: Do not advertise dumptxoutset as a way to flush the chainstate * merge bitcoin#16899: UTXO snapshot creation (dumptxoutset) * chore(qt): 19671 follow-up: drop zapwallettxes from gui (#4841) * fix!: incorrect CalcCbTxMerkleRootQuorums with rotation (#4833) * rpc: remove remnant BlockIndex global invocations * merge bitcoin#18698: Make g_chainman internal to validation * merge bitcoin#17737: Add ChainstateManager, remove BlockManager global * merge bitcoin#16426: Reverse cs_main, cs_wallet lock order and reduce cs_main locking * merge bitcoin#19096: Remove g_rpc_chain global * merge bitcoin#18740: Remove g_rpc_node global * merge bitcoin#17564: Use mempool from node context instead of global * merge bitcoin#14193: Add missing mempool locks * merge bitcoin#18038: Mempool tracks locally submitted transactions to improve wallet privacy * Merge #15988: Add test for ArgsManager::GetChainName * Merge #15869: Add settings merge test to prevent regresssions * Merge #16302: test: Add missing syncwithvalidationinterfacequeue to wallet_balance test * Merge #15964: Docs: Improve build-osx document formatting * Partial Merge #15844: depends: Purge libtool archives * Merge #16034: refactoring: Rename LockAnnotation to LockAssertion and add run-time check to it * Merge #15777: [docs] Add doxygen comments for keypool classes * Merge #15510: [rpc] deriveaddresses: add range to CRPCConvertParam * Merge #17091: tests: Add test for loadblock option and linearize scripts * Merge #17209: tests: Remove no longer needed UBSan suppressions (issues fixed). Add documentation. * Merge #17176: ci: Cleanup macOS runs * Merge #17177: doc: Describe log files + consistent paths in test READMEs * Merge #17108: test: fix \"tx-size-small\" errors after default address change * Merge #17081: doc: fix Makefile target in benchmarking.md * feat(rpc/wallet): allow skipping/forcing blockchain rescan on upgradetohd (#4822) * merge bitcoin#19261: Drop ::HasWallets() * partial bitcoin#15934: Merge settings one place instead of five places * merge bitcoin#20255: Add Assume() identity function * merge bitcoin#19491: Make Assert work with any value * partial bitcoin#19277: Add Assert identity function\' * merge bitcoin#17999: Add ChainClient setMockTime, getWallets methods * merge bitcoin#19011: Reduce cs_main lock accumulation during GUI startup * merge bitcoin#19300: Handle concurrent wallet loading * merge bitcoin#16963: Fix unique_ptr usage in boost::signals2 * merge bitcoin#19671: Remove -zapwallettxes * merge bitcoin#19457: Cleanup wallettool salvage and walletdb extraneous declarations * merge bitcoin#19335: Cleanup and separate BerkeleyDatabase and BerkeleyBatch * partial bitcoin#18923: Never schedule MaybeCompactWalletDB when -flushwallet is off * merge bitcoin#16923: Handle duplicate fileid exception * merge bitcoin#19085: clean up PeriodicFlush() * refactor: misc bls/llmq refactoring (#4834) * fix(coinjoin): CreateDenominated crash (#4838) * refactor(rpc): Mechanical/Manual RPC backports (#4734) * chore: switch to conventional commit style for PR titles (#4835) * fix(qt): include `upgradetohd` into \"no history\" list (#4832) * wallet: Fix wallet autobackup on start (#4831) * Merge bitcoin/bitcoin#22685: clientversion: No suffix #if CLIENT_VERSION_IS_RELEASE * trivial: bump immer to 9cb6a5a, fix irange to work on c++20 (#4827) * build: enhance CMakeLists to dynamically detect kernel version to utilize (#4828) * Merge #14802: rpc: faster getblockstats using BlockUndo data * merge bitcoin#22646: tighter Univalue integration, remove `--with-system-univalue` (#4823) * docs: release notes for dash#4023, 4704, 4756 (#4825) * mnsync: drop regtest-only \"quick sync\" mode (#4824) * fix tool_wallet.py * Merge #14631: [tests] Move deterministic address import to setup_nodes * Merge #15492: [rpc] remove deprecated generate method * merge #14468: [wallet] Deprecate generate RPC method * wallet: fix metadata updates on HD derivation (#4819) * Merge #9572: Skip witness sighash cache for non-segwit transactions (#4814) * ci: fix docker context (#4816) * Merge bitcoin/bitcoin#23761: build: use __SIZEOF_INT128__ for checking __int128 availability * Merge bitcoin/bitcoin#22820: build, qt: Fix typo in QtInputSupport check * Merge bitcoin/bitcoin#22174: build, qt: Fix libraries linking order for Linux hosts * Merge bitcoin/bitcoin#21593: build, qt, refactor: Get rid of some sed command instances * Merge #21565: build: make bitcoin_qt.m4 more generic * Merge #20449: build: Fix Windows installer build * Merge #20223: build: Drop the leading 0 from the version number * perf: enable more multi-threading and caching in linters (#4807) * Merge #17285: doc: Bip70 removal follow-up * Partially revert 4023 * more of/followup 13177 * merge bitcoin#19145: Add hash_type MUHASH for gettxoutsetinfo * partial bitcoin#19055: Add MuHash3072 implementation * merge bitcoin#19105: Add Muhash3072 implementation in Python * merge bitcoin#18576: use unittest for test_framework unit testing * merge bitcoin#19601: Refactoring CHashWriter & Get{Prevouts,Sequence,Outputs}Hash to SHA256 * tests: make inv replies in `interface_zmq_dash.py` stricter, fix a bug (#4813) * merge bitcoin#18378: Bugfix & simplify bn2vch using int.to_bytes * merge bitcoin#17319: remove bignum module * merge bitcoin#19328: Add gettxoutsetinfo hash_type option * chore: bump develop to 18.1.0.0 (#4811) * Merge #13177: GCC-7 and glibc-2.27 back compat code * Merge #13928: qa: blocktools enforce named args for amount * rpc: fix and simplify `quorum rotationinfo` (#4808) * Merge #13719: Avoid creating a temporary vector for size-prefixed elements * Correct returned variable (#4809) * llmq: Avoid endless loop in GetQuorumRelayMembers (#4796) * Merge #12686: Add -ftrapv to CFLAGS and CXXFLAGS when --enable-debug is used. Enable -ftrapv in Travis. * fix glibc compatibility issues * partial bitcoin#22244: Add xkb version to symbol-check * merge bitcoin#22054: Bump Qt version to 5.12.11 * merge bitcoin#21423: Cleanups and follow ups after bumping Qt to 5.12.10 * merge bitcoin#20641: Use Qt top-level build facilities * merge bitcoin#21497: Do not opt-in unused CoreWLAN stuff in depends for macOS * merge bitcoin#20520: Do not force Precompiled Headers (PCH) for building Qt on Linux * partial bitcoin#21694: Use XLIFF file to provide more context to Transifex translators * merge bitcoin#21654: Make Qt rcc output always deterministic * merge bitcoin#21655: No longer need to set QT_RCC_TEST=1 for determinism * merge bitcoin#21708: Drop pointless sed commands * merge bitcoin#23580: patch qt to explicitly define previously implicit header include * merge bitcoin#21495: Fix static builds on macOS Big Sur * partial bitcoin#17227: Add Android packaging support * Translations 202202 (#4691) * refactor: implement irange::range and use it (#4788) * fix: bump dkgBadVotesThreshold to 80% (#4806) * refactor(coinjoin): add GUARDED_BY annotation to mapDSTX (#4789) * merge bitcoin#21376: Qt 5.12.10 * trivial/lint: tweak `lint-spelling.sh` and fix typos (#4802) * tests: various fixes/cleanups (#4797) * Edge case fix for Rotation (#4803) * Merge #20760: test: Set correct nValue for multi-op-return policy check * Merge #20469: build: Avoid secp256k1.h include from system * Merge #20358: src/randomenv.cpp: fix build on uclibc * Merge #20082: [bugfix] random: fixes read buffer to use min rather than max * Merge #18359: build: fix sysctl() detection on macOS * Merge #18229: random: drop unused MACH time headers * Merge #17800: random: don\'t special case clock usage on macOS * Merge #17507: random: mark RandAddPeriodic and SeedPeriodic as noexcept * Merge #17527: Fix CPUID subleaf iteration * merge bitcoin#18825: fix message for ECC_InitSanityCheck test * merge bitcoin#17265: Remove OpenSSL * merge bitcoin#17270: Feed environment data into RNG initializers * revert dash#4683: remove the ability to opt-out from building openssl * refactor: resolve cppcheck warnings (#4799) * refactor(coinjoin): remove CCriticalSection from coinjoin code, use mutexes instead (#4739) * merge #17165: Remove BIP70 support (#4023) * fix(qt): fix crash when first enabling governance tab due to null-ptr deref (#4795) * instantsend: create islock/isdlock based on the quorum rotation activation status (#4790) * refactor(instantsend): make cs_db a Mutex, replace cs with multiple smaller mutexes (#4784) * refactor(llmq): misc clang-tidy / other refactoring (#4777) * fix(instantsend): avoid an iterator invalidation in pendingInstantSendLocks handling (#4787) * refactor: introduce CSigBase which becomes the base class for CRecoveredSig, CSigShare and CSigSesAnn (#4776) * fix: adjust nWindowSize and nThresholdStart and nThresholdMin (#4786) * Merge bitcoin/bitcoin#23692: mining, refactor: add m_mempool.cs thread safety lock assertions * Merge #18518: fuzz: Extend descriptor fuzz test * Merge #18211: test: Disable mockforward scheduler unit test for now * Merge #17897: init: Stop indexes on shutdown after ChainStateFlushed callback. * Merge #16960: doc: replace outdated OpenSSL comment in test README * fuzz: fix 17018 * fix linter * merge bitcoin#17693: Add generateblock to mine a custom set of transactions * merge bitcoin#18575: Remove requirement that all benches use RegTestingSetup * merge bitcoin#17781: Remove mempool global from miner * merge bitcoin#16943: Add generatetodescriptor RPC * merge bitcoin#17997: Remove mempool global from net * partial bitcoin#17989: Add fuzzing harness for ProcessMessage(...). Enables high-level fuzzing of the P2P layer * merge bitcoin#18037: Allow scheduler to be mocked * merge bitcoin#17407: Add reference to mempool in NodeContext * merge bitcoin#16839: Replace Connman and BanMan globals with NodeContext local * Replace CConnman global pointer with local member * Pass CConnman to function in place for global pointer access * merge bitcoin#15931: Remove GetDepthInMainChain dependency on locked chain interface * merge bitcoin#16624: encapsulate transactions state * merge bitcoin#15842: replace isPotentialtip/waitForNotifications by higher method * partial bitcoin#15639: Drop libbitcoin_server.a dependency * Merge #17299: test: add reason checks for non-standard txs in test_IsStandard * Merge bitcoin#17105: gui: Make RPCConsole::TabTypes an enum class * Merge #17203: wallet: Remove unused GetLabelName * Merge #15756: gui: Add shortcuts for tab tools * Merge #17306: refactor: Use name constants in chainparams initialization * Merge #17250: Avoid unused call to GuessVerificationProgress in NotifyHeaderTip * Merge #17251: net: SocketHandler logs peer id for close and disconnect * Sat Oct 01 2022 marecAATTdetebe.org- Update to version 18.0.2: * docs: add release notes for 18.0.2 * merge bitcoin#14193: Add missing mempool locks * chore: archive release-nodes.md * chore: bump version to 18.0.2 * fix: Flush chainstate (and evodb) cache whenever evodb mem usage is getting too high (#5007) * Merge bitcoin/bitcoin#25739: Update leveldb subtree (#5005) * trivial: Fix trailing whitespaces in release notes (#4989) * Sat Aug 20 2022 marecAATTdetebe.org- Update to version 18.0.1: * chore: bump version to 18.0.1 (#4980) * backport: macos code signing (dashpay#4978) * doc: update release notes slightly (#4972) * fix(gitian): Fetch tags while cloning the repo via `gbuild` (#4976) * fix: Allow triggers with p2sh after DIP0024 (#4973) * chore: set _CLIENT_VERSION_IS_RELEASE to true, drop RC (#4959) * doc: Add v18.0.0 release notes (#4955) * chore: enable DIP0024 hard fork on mainnet (#4968) * fix(llmq): Drop quorum members cache on undo (#4964) * translations: Add final v18 updates for ar, de and zh_CN (#4962) * chore: bump ChainTxData for mainnet and testnet (#4961) * chore: bump nMinimumChainWork, defaultAssumeValid and m_assumed_blockchain_size for mainnet and testnet (#4960) * Update hard coded seeds for v18.0.0-rc12 (#4953) * doc: Update man pages for v18 (#4963) * chore: bump to rc12 * Merge pull request #4942 from UdjinM6/fix_cqmbqr * chore: bump rc to 11 * fix!: Fix on QuorumDataRequests and refactoring (#4937) * chore: bump rc to 10 * Store QuorumDataRequests per {ProTx, quorumHash, llmqType} (#4935) * fix(dkg/net): Drop outdated connections to nodes that became masternodes recently (#4934) * fix: Handle quorum watch connections correctly (#4933) * fix(llmq): use keepOldConnections (#4932) * fix/test: Count MN connections properly, add more tests for getnetworkinfo (#4928) * chore: bump to rc9 * feat(llmq): Ensure connections between IS quorums (#4917) * feat(rpc): getnetworkinfo RPC enrichment response (#4913) * fix!: GetNumCommitmentsRequired Rotation (#4915) * fix(llmq): mark mns \"bad\" based on the failed connect attempts count (#4910) * chore: bump to rc8 * fix(dkg): let probes on mainnet ignore existing inbound connections (#4908) * fix(dkg): let masternodes miss few connection attempts before considering them \"bad\" (#4907) * fix(net): Let MNs accept conections as soon as blockchain is synced (#4905) * feat(llmq): avoid probing mns too often instead of using a tiny window to probe them (#4904) * fix(llmq): Fix quorum commitments requirement conditions (#4899) * chore: bump to rc7 * llmq: Various fixes and improvements (#4890) * fix(gov): do not allow empty proposal names (#4883) * fix: Faster feature_llmq_rotation.py + introduction of llmq_devnet_dip0024 (#4878) * docs(llmq): Improved documentation for keepOldConnections (#4876) * Merge pull request #4874 from UdjinM6/addrv2_followups * chore: bump copyrights (#4873) * chore: bump to rc6 * fix!: Rotation fixes and adjustments (#4868) * fix(llmq): Actually remove old masternode quorum connections (#4859) * depends: dump `zlib\' from 1.2.11 to 1.2.12 due to 404 link for source downloading (#4858) * feat(qt): UI fixes for window \"Wallet Repair\" (#4846) * docs/build: Kubuntu 22.04 build fix (#4843) * chore: bump to rc5 * fix(qt): Disable \"Show address QR code\" menu items/buttons when no qrencode support was compiled in (#4854) * fix!: llmqTypeInstantSend deactivation prevention if used for other purposes (#4848) * fix!: Return FinalCommitment in qrinfo (instead of simply quorumHash) (#4850) * Adjusted keepOldConnections value for llmq_devnet (#4851) * chore: bump to rc4 * fix!: incorrect CalcCbTxMerkleRootQuorums with rotation (#4833) * fix(qt): include `upgradetohd` into \"no history\" list (#4832) * wallet: Fix wallet autobackup on start (#4831) * mnsync: drop regtest-only \"quick sync\" mode (#4824) * wallet: fix metadata updates on HD derivation (#4819) * Merge pull request #4817 from UdjinM6/drop_0 * ci: fix docker context (#4816) * bump rc to 3 (#4810) * rpc: fix and simplify `quorum rotationinfo` (#4808) * Correct returned variable (#4809) * llmq: Avoid endless loop in GetQuorumRelayMembers (#4796) * fix: bump dkgBadVotesThreshold to 80% (#4806) * Translations 202202 (#4691) * Edge case fix for Rotation (#4803) * trivial/lint: tweak `lint-spelling.sh` and fix typos (#4802) * tests: various fixes/cleanups (#4797) * fix(qt): fix crash when first enabling governance tab due to null-ptr deref (#4795) * instantsend: create islock/isdlock based on the quorum rotation activation status (#4790) * fix(instantsend): avoid an iterator invalidation in pendingInstantSendLocks handling (#4787) * fix: adjust nWindowSize and nThresholdStart and nThresholdMin (#4786) * docs: update bips.md (#4780) * tests: fix `wait_for_ *` methods, force mnsync on non-mns too (#4782) * fix: add missing includes (#4781) * refactor: only do LogPrintfFinalCommitment if LogAccept LLMQ (#4779) * fix(rpc): display proper governance fee in `getgovernanceinfo` (#4778) * Fix: Use github workspace for building image (#4775) * llmq: fix off-by-1 in CollectSigSharesToSendConcentrated (#4773) * trivial: add some missing dashifications (#4772) * llmq: Clean old DKG contributions up (#4763) * scripted-diff: Merge #18533 Replace strCommand with msg_type (#4761) * fix: add missing include (#4770) * trivial: add missing whitespaces (#4771) * Merge bitcoin/bitcoin#21996: p2p: pass strings to NetPermissions::TryParse functions by const ref * Merge #19256: gui: change combiner for signals to optional_last_value * Merge #19309: refactor: Fix link error with --enable-debug * feat: implement quorum rotation and updated LLMQ parameters (#4752) * chore: bump version in gitian-descriptors and README.md * chore: bump version in configure.ac to v18.0.0.0-rc1 * chore: bump MIN_PEER_PROTO_VERSION to 70215 (#4764) * refactor: Drop args that were deprecated long time ago (#4762) * Merge bitcoin/bitcoin#24112: build: pass win32-dll to LT_INIT() * Merge bitcoin/bitcoin#24372: bench: Avoid deprecated use of volatile += * Merge bitcoin/bitcoin#24342: test: remove `import socket` in test_ipv6_local * Merge bitcoin/bitcoin#24326: build: minor cleanups to native_clang package * Merge bitcoin/bitcoin#24277: build: Fix `make deploy` for Windows when building out of source tree * Merge bitcoin/bitcoin#24288: build, refactor: Drop redundant `$(package)_download_file` assignments * Merge bitcoin/bitcoin#24227: Fix unsigned integer overflow in LoadMempool * Merge bitcoin/bitcoin#23543: test: Prevent non-compatible sed binary for scripted-diffs * Merge bitcoin/bitcoin#22814: build: Add ability to build qt in depends with -stdlib=libc++ * Merge bitcoin/bitcoin#23887: Include patches for Guix * Merge bitcoin/bitcoin#23796: test: check that pruneblockchain RPC fails for future block or timestamp * Merge bitcoin/bitcoin#23673: build: Include native_X.mk before X.mk * Merge bitcoin/bitcoin#23728: Use the imperative mood in example subject line * Merge bitcoin/bitcoin#23254: doc: Fix typo and grammar * Merge bitcoin/bitcoin#23693: Revert \"Fixes Bug in Transaction generation in ComplexMempool benchmark\" * Merge bitcoin/bitcoin#22856: test: Fix bug in transaction generation in ComplexMempool benchmark * Merge bitcoin/bitcoin#23643: rpc: remove info about mallocinfo needing glibc 2.10+ * Merge bitcoin/bitcoin#23397: Avoid excessive lock contention in CCheckQueue::Add * Merge #17695: gui: disable File->CreateWallet during startup * Merge #16822: gui: Create wallet menu option follow-ups * refactor(spork): use Mutex not CCriticalSection, use distinct mutexes for caches (#4737) * refactor: only print to log in CCoinJoinServer::CheckPool if information is useful (#4760) * tweak 18922 * 16745+18699 followup * Merge #16745: wallet: Translate all initErrors in CreateWalletFromFile * fix 16224 * merge bitcoin#19295: Use AbortError in FatalError * merge bitcoin#18927: Pass bilingual_str argument to AbortNode() * merge bitcoin#19176: Error message bilingual_str consistency * merge bitcoin#19131: Fix unreachable code in init arg checks * Merge #18907: walletdb: Don\'t remove database transaction logs and instead error * Merge #18922: gui: Do not translate InitWarning messages in debug.log * Merge #16224: gui: Bilingual GUI error messages * refactor: minor python refactoring feature_dip3_deterministicmns.py p2p_instantsend.py (#4757) * merge bitcoin#16394: Allow createwallet to take empty passwords to make unencrypted wallets * Dash-specific adaptations for 18699 * merge bitcoin#18699: Avoid translating RPC errors * Merge bitcoin/bitcoin#24785: lint: remove boost::bind lint * Merge #17284: build: update retry to current version * Merge #17992: doc: Correct a small typo in help / manpage * Merge #18170: doc: Minor grammatical changes and flow improvements * Merge #18382: doc: note the costs of fetching all pull requests * Merge #16947: doc: Doxygen-friendly script/descriptor.h comments * Merge #17316: refactor: Replace all uses of boost::optional with our own Optional type * Show penalty score in masternode rpc (#4751) * merge bitcoin#16366: Use InitError for all errors in bitcoind/qt * merge bitcoin#16620: Move ResolveErrMsg to util/error * merge bitcoin#17280: Change occurences of c_str() used with size() to data() * merge bitcoin#17279: Remove redundant c_str() calls in formatting * merge bitcoin#17070: Avoid showing GUI popups on RPC errors * merge bitcoin#15450: Create wallet menu option * Merge bitcoin/bitcoin#21890: fuzz: Limit ParseISO8601DateTime fuzzing to 32-bit * Merge bitcoin/bitcoin#21709: doc: update reduce-memory.md and bitcoin.conf -maxconnections info * Merge #21243: ci: Avoid invoking curl on the host * Merge #21080: fuzz: Configure check for main function (take 2) * Override of nPowTargetSpacing (devnet only) (#4750) * refactor: fixup changes related to PR#4713 (#4747) * merge bitcoin#16399: Improve wallet creation * merge bitcoin#16244: Move wallet creation out of the createwallet rpc into its own function * merge bitcoin#16362: Add bilingual_str type * Merge bitcoin/bitcoin#23594: build: don\'t set PORT=no in config.site * Merge bitcoin/bitcoin#23598: contrib: Specify wb mode when creating mac sdk * Merge bitcoin/bitcoin#23153: Add an argparse abbreviated mode to --failfast * Merge bitcoin/bitcoin#23414: wallet: Fix comment grammar in bdb.h * Merge bitcoin/bitcoin#23466: doc: Suggest `keys.openpgp.org` as keyserver in SECURITY.md * Merge bitcoin/bitcoin#23335: refactor: include a missing header in fs.cpp * Merge bitcoin/bitcoin#23331: test: Replace log with assert_equal in wallet_abandonconflict * Merge bitcoin/bitcoin#23282: build: remove build stubs for external leveldb * Merge bitcoin/bitcoin#23080: test: check abandoned tx in listsinceblock * Merge bitcoin/bitcoin#22409: configure: keep relative paths in debug info * Merge bitcoin/bitcoin#23146: Test transactions conflicted by double spend in listtransactions * Merge bitcoin/bitcoin#21930: doc: update enumerator naming in developer notes * Merge #20740: fuzz: Update FuzzedDataProvider.h from upstream (LLVM) * Merge #20065: fuzz: Configure check for main function * Merge #18649: tests: Add std::locale::global to list of locale dependent functions in lint-locale-dependence.sh * Merge #19367: doc: Span pitfalls * Merge #19366: tests: Provide main(...) function in fuzzer. Allow building uninstrumented harnesses with --enable-fuzz. * Merge #18798: ci: Fix default retry script usage * Merge #18508: RPC: Fix more formatting nits * Merge #18464: doc: block-relay-only vs blocksonly * Merge #18109: tests: Avoid hitting some known minor tinyformat issues when fuzzing strprintf(...) * Merge #18008: test: only declare a main() when fuzzing with AFL * Merge #17591: ci: Add big endian platform - s390x * Merge #17503: doc: Remove bitness from bitcoin-qt help message and manpage * Merge #17284: build: update retry to current version * Merge #16226: Move ismine to the wallet module (#4640) * ci: build on-demand docker images for testing on devnets (#4667) * Merge #17140: test: Fix bug in blockfilter_index_tests * Merge #17833: doc: Added running functional tests in valgrind * Merge #17633: tests: Add option --valgrind to run the functional tests under Valgrind * Merge #18486: doc: Explain new test logging * Merge #18472: test: Remove unsafe BOOST_TEST_MESSAGE * Merge #16975: test: Show debug log on unit test failure * Merge #16821: Fix bug where duplicate PSBT keys are accepted * Merge #18391: doc: Update init and reduce-traffic docs for -blocksonly * Merge #17084: build: Fix #include sys/poll.h to just poll.h (without sys/) * Merge #13716: bitcoin-cli: -stdinwalletpassphrase and non-echo stdin passwords * Merge #17351: doc: Fix some misspellings * Merge #18346: rpc: Document an RPCResult for all calls; Enforce at compile time * Merge #16569: Increase init file stop timeout * Merge #17154: wallet: Remove return value from CommitTransaction * Merge #17691: doc: Add missed copyright headers * Merge #17134: doc: Add switch on enum example to developer notes * Merge #17102: doc: Add missing indexes/blockfilter/basic to doc/files.md * Merge #16983: doc: Add detailed info about Dash Core files * Merge #17119: doc: Fix broken bitcoin-cli examples * Add function to validate DSTX message (#4713) * Fix 4692 (#4745) * Merge #16332: rpc: Add logpath description for getrpcinfo * Merge #15483: rpc: Adding a \'logpath\' entry to getrpcinfo * Merge #15754: rpc: getrpcinfo docs * Merge #15308: build: Restore compatibility with older boost * refactor: optimizations for processing specialtransaction, specifcally IDB / reindex (#4743) * evo: allow debug-only serialization type assertion bypass for unit test (#4727) * Merge bitcoin/bitcoin#24115: ARMv8 SHA2 Intrinsics * ci: exclude fuzzing harnesses from resulting build artifact archive * merge bitcoin#18126: Add fuzzing harness for locale independence testing * merge bitcoin#17851: Add std::to_string to list of locale dependent functions * merge bitcoin#17972: Add fuzzing harness for CKey related functions * merge bitcoin#18206: Add fuzzing harness for bloom filter classes (CBloomFilter + CRollingBloomFilter) * merge bitcoin#17996: Add fuzzing harness for serialization/deserialization of floating-points and integrals * merge bitcoin#18512: Improve asmap checks and add sanity check * merge bitcoin#18029: Add fuzzing harness for AS-mapping (asmap) * merge bitcoin#18009: Add fuzzing harness for strprintf(…) * merge bitcoin#17113: Add fuzzing harness for descriptor Span-parsing helpers * merge bitcoin#17771: Add fuzzing harness for V1TransportDeserializer (P2P transport) * merge bitcoin#17777: Add fuzzing harness for DecodeHexTx(...) * merge bitcoin#17229: Add fuzzing harnesses for various Base{32,58,64} and hex related functions * merge bitcoin#17050: Add fuzzing harnesses for functions parsing scripts, numbers, JSON and HD keypaths (bip32) * merge bitcoin#17291: Add fuzzing harness for ISO-8601 related functions * merge bitcoin#17083: Add fuzzing harness for various CScript related functions * merge bitcoin#17266: Rename DecodeDumpTime to ParseISO8601DateTime * partial bitcoin#19953: Keep spent outputs in PrecomputedTransactionData * merge bitcoin#18401: Initialize PrecomputedTransactionData in CheckInputScripts * bump .python-version (#4717) * merge bitcoin#20247: Check for addrv1 compatibility before using addrv1 serializer. Fuzz addrv2 serialization. * fuzz: revert PrecomputedTransactionData backport introduced in dash#4435 * fuzz: fix errors introduced in malformed backports (dash#4709) * fuzz: add gitlab build support, use clang * ci: ensure that ubsan suppression list is passed, add bls.h to it * fuzz: add missing header in transaction harness * fuzz: remove harness to non-existent functions * fuzz: fix invalid number of arguments in descriptor parsing * test: fix FUZZ_SUITE_LD_COMMON missing bracket * fuzz: remove non-existent witness sigversion * fix: add optional include (#4729) * Use `DEBUG_CORE` instead of a more generic `DEBUG` when compiling with `--enable-debug` (#4728) * Harden BRR activation (#4726) * Merge #16291: gui: Stop translating PACKAGE_NAME (#4723) * refactor: make QuorumPhase a enum class, remove QuorumPhase_None, use optional instead, adjust WaitForNextPhase (#4722) * test: add very basic tests for llmq::CInstantSendLock::IsDeterministic (#4719) * tests: add tests for CCoinJoinClientOptions (#4718) * Merge bitcoin/bitcoin#23199: refactor: use `{Read,Write}BE32` helpers for BIP32 nChild (de)serialization * Merge bitcoin/bitcoin#23133: Update crc32c subtree * Merge bitcoin/bitcoin#23097: Run specified functional tests with all matching flags * Merge bitcoin/bitcoin#23045: build: Restrict check for CRC32C intrinsic to aarch64 * Merge bitcoin/bitcoin#22896: refactor: net: avoid duplicate map lookups to `mapLocalHost` * Merge bitcoin/bitcoin#22995: doc: Remove stale comment for CPrivKey * Merge bitcoin/bitcoin#22926: doc: Set PYTHONUTF8=1 for functional tests on Windows * Merge bitcoin/bitcoin#22390: system: skip trying to set the locale on NetBSD * Merge bitcoin/bitcoin#22916: doc: add missing copyright header to getuniquepath.cpp * Merge bitcoin/bitcoin#22713: Fix build with Boost 1.77.0 * Merge bitcoin/bitcoin#22001: doc: Generate doxygen documentation for test sources * Merge bitcoin/bitcoin#22516: macdeploy: alternative info to download the macOS SDK * Merge bitcoin/bitcoin#21929: fuzz: Remove incorrect float round-trip serialization test * merge bitcoin#19250: Make RPC help compile-time static * rpc: unconditionally print HelpRequiringPassphrase reminder * merge bitcoin#19386: Assert that RPCArg names are equal to CRPCCommand ones (server) * merge bitcoin#18607: Fix named arguments in documentation * merge bitcoin#17318: replace asserts in RPC code with CHECK_NONFATAL and add linter * rpc: Refactor code to no longer use removed EnsureWalletIsAvailable * merge bitcoin#19100: Combine GetWalletForJSONRPCRequest and EnsureWalletIsAvailable functions * merge bitcoin#18444: Remove final comma for last entry of fixed-size Arrays and Objects in RPCResult * rpc: Import conflict-free RPCResult formatting from fa6b061fc118995eec41766519a11bc0dd1a901d * rpc: restore legacy RPCResult support * partial bitcoin#17809: Auto-format RPCResult * merge bitcoin#18098: Add missing spaces in RPCResult, Normalize type names * merge bitcoin#17192: Add CHECK_NONFATAL and use it in src/rpc * merge bitcoin#15746: Always name dictionary keys * rpc: adapt Dash-specific help messages to JSONRPCRequest-aware RPCHelpMan * partial bitcoin#16240: JSONRPCRequest-aware RPCHelpMan * refactor: use explicit std::shared_ptr instead of type alias (#4720) * Compressed headers implementation. (#4497) * 3880 follow-up (fix 10583 backport) * fix 13381/15108 - no embedded * Merge #15248: rpc: Compile on GCC4.8 * Merge #15122: [RPC] Expand help text for importmulti changes * Merge #15108: [tests] tidy up wallet_importmulti.py * Merge #15059: test: Add basic test for BIP34 * Merge #15057: [rpc] Correct reconsiderblock help text, add test * Merge #13381: RPC: creates possibility to preserve labels on importprivkey * Merge bitcoin/bitcoin#22436: build: use aarch64 Clang if cross-compiling for darwin on aarch64 * Merge bitcoin/bitcoin#22455: addrman: detect on-disk corrupted nNew and nTried during unserialization * Merge bitcoin/bitcoin#22393: doc: added info to bitcoin.conf doc * Merge #18429: build: remove double LIBBITCOIN_SERVER from bench-Makefile * Merge #18274: rpc/wallet: initialize nFeeRequired to avoid using garbage value on failure * Merge #17917: tests: Add amount compression/decompression fuzzing to existing fuzzing harness * Merge #18025: doc: Add missing supported rpcs to doc/descriptors.md * Merge #17071: tests: Add fuzzing harness for CheckBlock(...) and other CBlock related functions * Merge #17109: tests: Add fuzzing harness for various functions consuming only integrals * Merge #17522: test: Wait until mempool is loaded in wallet_abandonconflict * Merge #17390: test: Add util_ArgParsing test * Merge #17297: refactor: Remove addrdb.h dependency from node.h * Merge #17274: tests: Fix fuzzers eval_script and script_flags by re-adding ECCVerifyHandle dependency * Merge #16572: wallet: Fix Char as Bool in Wallet * Merge #13968: [wallet] couple of walletcreatefundedpsbt fixes * merge bitcoin#19102: Introduce and use DummyDatabase instead of dummy BerkeleyDatabase * merge bitcoin#19334: Introduce WalletDatabase abstract class * qt: restore \"wallet path on repair tab\" logic * merge bitcoin-gui#118: Remove BDB version from the Information tab * merge bitcoin#19325: Refactor BerkeleyDatabase to introduce DatabaseBatch abstract class * merge bitcoin#19320: Replace CDataStream& with CDataStream&& where appropriate * merge bitcoin#19324: Move BerkeleyBatch static functions to BerkeleyDatabase * merge bitcoin#19310: BerkeleyDatabase make BerkeleyDatabase::Create, CreateMock, and CreateDummy non-static functions * merge bitcoin#19308: BerkeleyBatch Handle cursor internally * merge bitcoin#19292: refactor Read, Write, Erase, and Exists into non-template functions * merge bitcoin#19290: Move BDB specific things into bdb.{cpp/h} * qt: drop salvage wallet from user interface * merge bitcoin#18918: Move salvagewallet into wallettool * tests: (in)valid unit test vectors against IsTriviallyValid() evo calls (#4660) * Merge #21397: fuzz: Bump FuzzedDataProvider.h * Merge #19846: build: enable unused member function diagnostic * Merge #20333: build: remove native_biplist dependency * Merge #19536: qt, build: Fix QFileDialog for static builds * Merge #19018: docs: fixing description of the field sequence in walletcreatefundedpsbt RPC method * qt: Fix Repair tab (#4715) * Merge #18928: build: don\'t pass -w when building for Windows * Merge #17669: tests: have coins simulation test also use CCoinsViewDB * Merge #17916: windows: Enable heap terminate-on-corruption * Merge #14922: windows: Set _WIN32_WINNT to 0x0601 (Windows 7) * Merge #15332: [Docs] Small updates to getrawtransaction description * Merge #15354: doc: Add missing bitcoin-wallet tool manpages * Merge #14075: Import watch only pubkeys to the keypool if private keys are disabled * Revert \"feat: introduce devnetVersion for devnet breaking changes; always use DGW on devnets (#4685)\" (#4712) * Merge #15383: [rpc] mining: Omit uninitialized currentblockweight, currentblocktx * Merge #15415: [test] functional: allow custom cwd, use tmpdir as default * wallet: Fix CanGenerateKeys (#4705) * refactor(evo): introduce IsTriviallyValid() to CheckPro *Tx objects (#4696) * merge bitcoin#22397: Fix macOS Apple Silicon build with miniupnpc and libnatpmp * merge bitcoin#21209: use newer source for libnatpmp * merge bitcoin#21320: fix libnatpmp macos cross compile * merge bitcoin#18077: Add NAT-PMP port forwarding support * merge bitcoin#13204: Faster sigcache nonce * merge bitcoin#17542: Create test utility library from src/test/util * merge bitcoin#17384: Create new test library * merge bitcoin#17357: Add fuzzing harness for Bech32 encoding/decoding * merge bitcoin#17292: Add new mempool benchmarks for a complex pool * merge bitcoin#17228: Add RegTestingSetup to setup_common * merge bitcoin#17183: test/bench: dedup Build{Crediting,Spending}Transaction() * merge bitcoin#17009: Add EvalScript(...) fuzzing harness * merge bitcoin#16540: Add ASSERT_DEBUG_LOG to unit test framework * Crash fix (#4697) * Keep verified LLMQ connections (#4701) * Fix \"cs_main not held\" in SyncObjects (#4694) * Merge #15433: Use a single wallet batch for UpgradeKeyMetadata * Merge #14021: Import key origin data through descriptors in importmulti (+ changes from PRs partially merged earlier: 15368, 15749) * Various translation related fixes (#4693) * Avoid using raw pointers in GetAllNewerThan results (#4649) * Fix get_future data race in ctpl (#4690) * depends: bump bls-dash to 1.2.0, cmake to 3.22.2, relic to aecdcae (#4681) * build: allow building without openssl, enables native m1 development builds (#4683) * feat: introduce devnetVersion for devnet breaking changes; always use DGW on devnets (#4685) * merge bitcoin#13728: Run the CI lint stage on mac * merge bitcoin#17041: Run tests on arm * merge bitcoin#17040: Make apt-get more verbose, to debug travis timeouts * merge bitcoin#17011: Use busybox utils for one build * merge bitcoin#16959: Set $HOST before setting fallback values * merge bitcoin#16739: Pass down $MAKEJOBS to test_runner.py, other improvements * merge bitcoin#16623: Add environment files for all settings * merge bitcoin#16582: Rework ci (Use travis only as fallback env) * test: skip test properly if zmq missing (#4684) * refactor: fix numerous compilation warnings (#4682) * docs: add header to binary download info (#4678) * fix: avoid requesting transactions from 100+ peers when we are heavily connected and receive islock with unknown tx (#4680) * Partially revert 4652 (#4674) * feat: Implement support for P2SH payouts for proposals (#4672) * Do not reset validity flags for `-checklevel`s below 3, fix `wallet_balance.py` * Merge #16079: wallet_balance.py: Prevent edge cases * Merge #15758: qa: Add further tests to wallet_balance * 16322 followup * Merge #16322: wallet: Fix -maxtxfee check by moving it to CWallet::CreateTransaction * 12909 followup * Merge #12582: Fix ListCoins test failure due to unset g_wallet_allow_fallback_fee * Do not create non-standard txes in `feature_addressindex.py` * Merge #16402: Remove wallet settings from chainparams * Merge #15891: test: Require standard txs in regtest by default * Merge #11882: Disable default fallbackfee on mainnet * Merge #16293: test: Make test cases separate functions * Merge #16451: Remove CMerkleTx * Merge #16434: build: Specify AM_CPPFLAGS for ZMQ * Merge #16484: doc: update labels in CONTRIBUTING.md * Merge #16436: gui: Do not create payment server if -disablewallet option provided * Merge #16467: rpc: sendrawtransaction help privacy note * Merge #16386: depends: disable unused Qt features * Merge #16430: doc: Update bips 35, 37 and 111 status * Implement PKCS5_PBKDF2_HMAC_SHA512 (#4665) * refactor: break circular dependencies(-16, +2) (#4670) * Merge #16871: build: make building protobuf optional in depends * Merge #16885: doc: Update tx-size-small comment with relevant CVE disclosure * Merge #14457: test: add invalid tx templates for use in functional tests * Merge #16845: test: Add notes on how to generate data/wallets/high_minversion * Merge #16512: rpc: Shuffle inputs and outputs after joining psbts * Merge #16812: doc: Fix whitespace errs in .md files, bitcoin.conf, and Info.plist.in * Merge #16863: doc: Add a missing closing parenthesis in the bitcoin-wallet\'s help * instantsend: make sure islocks we read from db are the ones we expected (#4663) * build: adjust cmake file for auto settings depends folder on m1 systems (#4669) * ci: adjust handle_potential_conflicts.py such that if mergable_state is dirty (conflicting with base branch), don\'t check against it. (#4671) * Reduce MIN_STANDARD_TX_SIZE to 83 bytes (#4668) * actions: introduce handle_potential_conflicts.py to only warn on true conflicts. Fail CI when there is a conflict (#4655) * refactor: some refactoring in coinjoin code (#4652) * remove redundant call to c_str (#4659) * refactor: use a vector instead of map for llmqs (#4658) * ci: Enable tsan on linux64 build (#4563) * Drop all conflicting tx locks in ConnectBlock (#4650) * refactor/llmq: move some trivial functions / constructors from the cpp to the header (#4654) * refactor: numerous changes to avoid passing around a const ref to shared_ptr of CDeterministicMNC when not needed. (#4653) * doc: instructions on how to update the backports spreadsheet (#4644) * Merge #16129: refactor: Remove unused includes (#4623) * partial Merge #16325: rpc: Clarify that block count means height excl genesis * Merge #16210: rpc: add 2nd arg to signrawtransactionwithkey examples * Merge #15784: rpc: Remove dependency on interfaces::Chain in SignTransaction * Merge #15757: List new RPCs in psbt.md and descriptors.md * Revert \"Merge #16404: qa: Test ZMQ notification after chain reorg\" (#4646) * Merge #15390: [wallet-tool] Close bdb when flushing wallet * Merge #14890: rpc: Avoid creating non-standard raw transactions * actions: use pull_request_target instead of pull_request, use custom fork (#4647) * optimize: adjust ci dockerfile for faster building (#4641) * Fix peer\'s details css * Fix 16854 * Optimize linters (#4637) * actions: implement predict-conflicts actions (#4645) * refactor: Fix warnings from cppcheck (#4625) * lint: Fix typos flagged by codespell (#4639) * fix: resolve issue with introduced SEED value * Merge bitcoin/bitcoin#22432: doc: fix incorrect testmempoolaccept doc * Merge bitcoin/bitcoin#18568: doc: Clarify developer notes about constant naming * Merge #21643: Ignore guix builds * Merge #20921: validation: don\'t try to invalidate genesis block in CChainState::InvalidateBlock * Merge #21400: build: Fix regression introduced in #21363 * Merge #20326: tests: Fix ecdsa_verify in test framework * Merge #19956: rpc: Improve invalid vout value rpc error message * Merge #19878: rawtransaction: fix argument in combinerawtransaction help message * Merge #19112: rpc: Remove special case for unknown service flags * Merge #19110: test: Explain that a bug should be filed when the tests fail * Merge #18616: refactor: Cleanup clientversion.cpp * Merge #18753: test: Fix intermittent failure in wallet_importmulti * Merge #18553: Avoid non-trivial global constants in SHA-NI code * Merge #17831: rpc: doc: Fix and extend getblockstats examples * Merge #16995: Fix gcc 9 warnings * Merge #18398: rpc: fix broken RPCExamples for waitforblock(height) * Merge #18371: test: use fs namespace in dbwrapper unicodepath test * Merge #18228: test: Add missing syncwithvalidationinterfacequeue * Merge #17965: qt: Revert changes of pr17943 * Merge #17943: qt, refactor: Remove never used default parameter * Merge #17728: rpc: require second argument only for scantxoutset start action * Merge #17676: depends: don\'t use OpenGL in Qt on macOS * Merge #17521: depends: only use D-Bus with Qt on linux * Merge #17539: doc: Update and improve Developer Notes * Merge #17497: test: skip tests when utils haven\'t been compiled * Merge #14958: qa: Remove race between connecting and shutdown on separate connections * Merge #14982: rpc: Add getrpcinfo command * Merge #15877: doc: Fix -dustrelayfee= argument docs grammar * Merge #12051: add missing debian contrib file to tarball * Merge #15670: refactor: combine Chain::findFirstBlockWithTime/findFirstBlockWithTimeAndHeight * Merge #15557: Enhance `bumpfee` to include inputs when targeting a feerate * Merge #15616: rpc: Clarify decodescript RPCResult doc * Merge #16852: gui: When BIP70 is disabled, get PaymentRequest merchant using string search * Merge #15323: rpc: Expose g_is_mempool_loaded via getmempoolinfo * Merge #15637: rpc: Rename size to vsize in mempool related calls * Merge #16433: txmempool: Remove unused default value MemPoolRemovalReason::UNKNOWN * Merge #16024: [rpc] deriveaddresses: Correction of descriptor checksum in RPC example * Merge #16557: [wallet] restore coinbase and confirmed/conflicted checks in SubmitMemoryPoolAndRelay() (#4633) * Merge #16982: build: Factor out qt translations from build system * Merge #16978: test: Seed test RNG context for each test case, print seed * Merge #17365: depends: update README.md with working Android targets and API levels * Merge #17286: Fix help-debug -checkpoints * Merge #17121: test: speedup wallet_backup by whitelisting peers (immediate tx relay) * Merge #17074: build: Added double quotes * Merge #16987: test: Correct docstring param name. * Merge #16285: rpc: Improve scantxoutset response and help message * Merge #15659: [docs] fix findFork comment * Merge #15426: [Doc] importmulti: add missing description of keypool option * merge bitcoin#16753: extract PubKey from P2PK script with Solver * merge bitcoin#16542: Return more specific errors about invalid descriptors * merge bitcoin#16452: use RelayTransaction in BroadcastTransaction utility * merge bitcoin#16208: Consume ReserveDestination on successful CreateTransaction * merge bitcoin#16257: abort when attempting to fund a transaction above -maxtxfee * merge bitcoin#15741: Batch write imported stuff in importmulti * merge bitcoin#15870: Only fail rescan when blocks have actually been pruned * merge bitcoin#15901: log on rescan completion * merge bitcoin#15895: Avoid re-reading config.ini unnecessarily * merge bitcoin#15780: add cachable amounts for caching credit/debit values * merge bitcoin#15596: Ignore sendmany::minconf as dummy value * merge bitcoin#15652: Update transactions with current mempool after load * Merge #15292: Remove \'boost::optional\'-related false positive -Wmaybe-uninitialized warnings on GCC compiler (#4635) * Remove KeePass integration (#4628) * util: add ranges.h to emulate c++20 std::ranges (#4622) * docs: introduce documentation and usage for containers * build: add dash minimal development environment container * build: add .dockerignore file * build: relocate *net deployment logic to their own directories * merge bitcoin#16854: Prevent UpdateTip log message from being broken up * merge bitcoin#15146: Solve SmartOS FD_ZERO build issue * merge bitcoin#16725: Don\'t show addresses or P2PK in decoderawtransaction * partial bitcoin#13932: Additional utility RPCs for PSBT * build: relocate dash-specific CI scripts to its own directory * build: relocate CI docker container to dedicated directory * revert dash#4621: remove all the unneeded and unused (probably broken) travis stuff * merge bitcoin#14719: Check specific reject reasons in feature_block * merge bitcoin#14700: Avoid race in p2p_invalid_block by waiting for the block request * Merge #15006: Add option to create an encrypted wallet * Merge #15226: Allow creating blank (empty) wallets (alternative) * refactor: remove all the unneeded and unused (probably broken) travis stuff (#4621) * refactor: misc spork refactoring (#4620) * 16659 continuation * Merge #16471: [mempool] log correct messages when CPFP fails * Merge #15681: [mempool] Allow one extra single-ancestor transaction per package * Merge #15459: doc: add how to calculate blockchain and chainstate size variables to release process * Merge #16953: doc: Improve test READMEs * Merge #16918: test: Make PORT_MIN in test runner configurable * Merge #16917: tests: Move common function assert_approx() into util.py * Merge #16898: test: Remove connect_nodes_bi * Merge #14696: qa: Add explicit references to related CVE\'s in p2p_invalid_block test. * Merge #16888: test: Bump timeouts in slow running tests * Merge #16737: test: Establish only one connection between nodes in rpc_invalidateblock * Merge #16404: qa: Test ZMQ notification after chain reorg * Merge #15687: test: tool wallet test coverage for unexpected writes to wallet * Merge #16294: qt: test: Create at most one testing setup * Merge #16659: refactoring: Remove unused includes * merge bitcoin#16502: Drop unused OldKey * merge bitcoin#16475: Enumerate walletdb keys * merge bitcoin#16468: Exclude depends/Makefile in .gitignore * merge bitcoin#16415: Get rid of PendingWalletTx class * merge bitcoin#16299: Move generated data to a dedicated translation unit * merge bitcoin#16033: Hold cs_main when reading chainActive via getTipLocator(). Remove assumeLocked(). * merge bitcoin#15713: Replace chain relayTransactions/submitMemoryPool by higher method * merge bitcoin#15778: Move maxtxfee from node to wallet * merge bitcoin#15632: Remove ResendWalletTransactions from the Validation Interface * merge bitcoin#15620: Uncouple non-wallet rpcs from maxTxFee global * merge bitcoin#15680: Remove resendwallettransactions RPC method * merge bitcoin#15728: Refactor relay transactions * merge bitcoin#15646: Add test for wallet rebroadcasts * merge bitcoin#17449: fix uninitialized variable nMinerConfirmationWindow * merge bitcoin#15928: Move QRImageWidget to its own file-pair * merge bitcoin#16984: Make thread names shorter * merge bitcoin#16713: Ignore old versionbit activations to avoid \'unknown softforks\' warning * merge bitcoin#15588: Log the actual wallet file version and no longer publicly expose the \"version\" record * merge bitcoin#15401: Actually throw help when passed invalid number of params * merge bitcoin#14845: Add wallet_balance.py * refactor: modifications to GenerateContributions (#4594) * merge bitcoin#16865: add some unit tests for merkle.cpp * merge bitcoin#16850: servicesnames field in getpeerinfo and getnetworkinfo * merge bitcoin#16796: Fix segfault in CreateWalletFromFile * merge bitcoin#13541: sendrawtransaction maxfeerate * refactor: introduce MAKE_MSG macro for compile time check to ensure the p2p message name is short enough (#4614) * build: enable experimental Cxx20 support (#4600) * refactor: remove unused include in miner.cpp (#4617) * test: replace feature_block_reward_reallocation.py with two corresponding unit tests (#4603) * add ehf special tx (#4577) * Merge #16817: rpc: Fix casing in getblockchaininfo to be inline with other fields * build: bump gmp from 6.1.2 to 6.2.1 (#4597) * remove references to libboost-system-dev and libboost-chrono-dev * extend 18264: build: Remove Boost System * Merge #18264: build: Remove Boost Chrono * merge bitcoin#16826: Do additional character escaping for wallet names and address labels * merge bitcoin#16758: Replace QFontMetrics::width() with TextWidth() * merge bitcoin#16701: Replace functions deprecated in Qt 5.13 * merge bitcoin#16570: Make descriptor tests deterministic * Merge #16397: doc: Clarify includeWatching for fundrawtransaction * Merge #17015: qa: Explain QT_QPA_PLATFORM for gui tests * Drop arm-linux-gnueabihf from releases * depends: let cmake detect compilers on its own * partial merge #21036: gitian: Bump descriptors to Focal for 22.0 * partial merge #20318: build: Ensure source tarball has leading directory name * Merge #19622: build: Drop ancient hack in gitian-linux descriptor * partial merge #18741: guix: Make source tarball using git-archive * Merge #17756: build: remove WINDOWS_BITS from build system * Merge #18556: build: Drop make dist in gitian builds * Apply shellcheck suggestions * partial merge #16327: scripts and tools: Update ShellCheck linter * Merge #17308: nsis: Write to correct filename in first place * Merge #18331: build: Use git archive as source tarball * partial merge #18104: build: Skip i686 build by default in guix and gitian * Merge #17483: build: Set gitian arch back to amd64 * Merge #17409: build: Avoid hardcoded libfaketime dir in gitian * Merge #17029: gitian: Various improvements for Windows descriptor * Merge #16184: scripted-diff: gitian: Use REFERENCE_DATETIME directly. * remove unused boost libraries * Merge #15744: refactor: Extract ParseDescriptorRange * Merge #15497: rpc: Consistent range arguments in scantxoutset/importmulti/deriveaddresses * fix: resolve numerous compilation warnings under -Wall (#4599) * fix: decrease devnet gov_fee activation params (#4596) * instantsend: Do not consider islocks with unknown txes as complete (#4147) * build/ci: Fix --enable-glibc-back-compat and its usage (#4592) * merge bitcoin#21363: Improve Qt static plugins/libs check code * merge bitcoin#20447: Patch qt_intersect_spans to avoid non-deterministic behavior in LLVM 8 * merge bitcoin#19867: document and cleanup Qt hacks * Merge #16278: tests: Remove unused includes (#4528) * Merge #16578: Do not pass in command line arguments to QApplication * fix: add missing optional include (#4595) * refactor: misc refactoring prefer std algorithm, range for loops; fix broken loop (#4593) * Merge #14934: Descriptor expansion cache clarifications * Merge #16349: qt: Remove redundant WalletController::addWallet slot * Merge #16530: doc: Fix grammar and punctuation in developer notes * Merge #16363: test: Add test for BIP30 duplicate tx * Merge #16536: doc: Update and extend benchmarking.md * Merge #15911: Use wallet RBF default for walletcreatefundedpsbt * Merge #16514: gui: Remove unused RPCConsole::tabFocus * Merge #15531: Suggested interfaces::Chain cleanups from #15288 * Merge #16379: Fix autostart filenames on Linux for testnet/regtest * Merge #16380: Remove unused bits from the service flags enum * Merge #16361: Remove redundant pre-TopUpKeypool check * Merge #16270: depends: expat 2.2.7 * Merge #16338: test: Disable other targets when enable-fuzz is set * Remove decomissioned mainnet seeder dnsseed.dashdot.io (#4588) * depends: upgrade depends Boost to 1.73 (#4576) * refactor: Misc LLMQ refactoring (#4590) * chainlocks: fix atomicity in chainlock signing scheduler (#4589) * Simplify the interface for CRecoveredSig (#4587) * test_runner: Removal of unnecessary duplicate instance of p2p_unrequested_blocks.py (#4585) * Merge #15186: rpc: remove duplicate solvable field from getaddressinfo (#4584) * Merge #16804: test: Remove unused try-block in assert_debug_log * Merge #16656: test: fix rpc_setban.py race * Merge #17001: doc: Remove mention of renamed mapBlocksUnlinked * Merge #16912: doc: Remove Doxygen intro from src/bitcoind.cpp * Merge #15763: Update bips.md for 0.18.0 * Merge #14505: test: Add linter to make sure single parameter constructors are marked explicit * fix: datarace in walletmodel.cpp causing occasional segfaults in instantsend code at shutdown (#4583) * Add missing implementations for chainlock and instantsend notifications in NotificationsHandlerImpl (#4580) * merge bitcoin#19959: patch qt libpng to fix powerpc build * partial bitcoin#17730: remove Qt networking features * merge bitcoin#17466: Fix C{,XX} pickup * merge bitcoin#16837: Fix {C{,XX},LD}FLAGS pickup * merge bitcoin#16413: Bump QT to LTS release 5.9.8 * merge bitcoin#16110: Add Android NDK support * Merge #15897: QA/mininode: Send all headers upfront in send_blocks_and_test to avoid sending an unconnected one * partial Merge #15919: Remove unused OpenSSL includes to make it more clear where OpenSSL is used * Merge #15949: test_runner: Move pruning back to extended * Merge #15696: [qa] test_runner: Move feature_pruning to base tests * Merge #16063: rpc: Mention getwalletinfo where a rescan is triggered * Merge #16049: depends: switch to secure download of all dependencies * Merge #16071: RPC: Hint for importmulti in help output of importpubkey and importaddress * Merge #16300: util: Explain why the path is cached * Merge #16289: test: Add missing ECC_Stop() in GUI rpcnestedtests.cpp * Merge #15894: Remove duplicated \"Error: \" prefix in logs * Merge #16252: test: Log to debug.log in all unit tests * Merge #16263: qt: Use qInfo() if no error occurs * Merge #16207: test: stop generating lcov coverage when functional tests fail * Merge #15991: Bugfix: fix pruneblockchain returned prune height * Merge #16141: build: remove GZIP export from gitian descriptors * Merge #15840: Contrib scripts: Filter IPv6 by ASN * Merge #16021: p2p: Avoid logging transaction decode errors to stderr * merge bitcoin#15638: Pull wallet code out of libbitcoin_server (#4560) * Merge #14877: rpc: Document default values for optional arguments * Merge #16857: doc: Elaborate need to re-login on Debian-based after usermod for Tor group * Merge #16847: doc: add comments clarifying how local services are advertised * Merge #16629: doc: Add documentation for the new whitelist permissions * Merge #16555: doc: mention whitelist is inbound, and applies to blocksonly * Merge #16587: doc: Improve versionbits.h documentation * Merge #15824: docs: Improve netbase comments * Merge #16243: doc: Remove travis badge from readme * partial Merge #15530: doc: Move wallet lock annotations to header * Merge #15826: Pure python EC * merge bitcoin#15779: Add wallet_balance benchmark * merge bitcoin#10973: separate wallet from node * partial bitcoin#14982: Remove unused PreCommand signal * merge bitcoin#10221: Stop treating coinbase outputs differently in GUI * merge bitcoin#15288: Remove wallet -> node global function calls * merge bitcoin#15039: Avoid leaking nLockTime fingerprint when anti-fee-sniping * merge bitcoin#15039: Avoid leaking nLockTime fingerprint when anti-fee-sniping * Merge #15874: Resolve the qt/guiutil <-> qt/optionsmodel CD * Merge #8487: Persist the datadir after option reset * Merge #15896: QA: feature_filelock, interface_bitcoin_cli: Use PACKAGE_NAME in messages rather than hardcoding Bitcoin Core * Merge #13926: [Tools] bitcoin-wallet - a tool for creating and managing wallets offline * merge bitcoin#16097: Add Flags enum to ArgsManager class (#4569) * Merge #16793: refactor: Avoid locking cs_main in ProcessNewBlockHeaders * Merge #16774: Avoid unnecessary \"Synchronizing blockheaders\" log messages * Merge #15615: Add log output during initial header sync * instantsend: various fixes (#4553) * trivial: fix unused variable treat-warning-as-error in guiutil * merge bitcoin#15751: Speed up deriveaddresses for large ranges * merge bitcoin#15474: Make mempoolinfo atomic * merge bitcoin#15927: log thread names by default in functional tests * merge bitcoin#16044: fix opening bitcoin.conf via Preferences on macOS * merge bitcoin#16153: Add antialiasing to traffic graph widget * merge bitcoin#16371: ignore macOS make deploy artefacts & add them to clean-local * merge bitcoin#16706: Replace deprecated QSignalMapper by lambda expressions * merge bitcoin#16707: Remove obsolete QModelIndex::child() * gitian: Fix 13665 (#4571) * Rename GetHelpString to GetRpcArg * Dash-specific changes to support RPCHelpMan improvements * Merge #14918: RPCHelpMan: Check default values are given at compile-time * Merge #14987: RPCHelpMan: Pass through Result and Examples * Merge #15985: Add test for GCC bug 90348 * Partial Merge #16144: wallet: do not encrypt wallets with disabled private keys * Merge #16139: Docs: Add riscv64 to outputs list in release-process.md * Merge #16124: tests: Limit Python linting to files in the repo * Merge #16090: Qt: Add vertical spacer to peer detail widget * Merge #16089: depends: add ability to skip building zeromq * Merge #16078: test: replace tx hash with txid in rawtransaction test * merge bitcoin#8365: Treat high-sigop transactions as larger rather than rejecting them (#4562) * Merge #21125: test: Change BOOST_CHECK to BOOST_CHECK_EQUAL for paths * Merge #19088: validation: use std::chrono throughout some validation functions * Merge #17220: tests: Add unit testing for the CompressScript function * Merge #17059: util: Simplify path argument for CBlockTreeDB ctor * Merge #16830: refactor: wallet: Cleanup walletinitinterface.h * Merge #16563: test: Add unit test for AddTimeData * Merge #16538: test: Add missing sync_blocks to feature_pruning * merge bitcoin#17931: Fix p2p_invalid_messages failing in Python 3.8 because of warning * merge bitcoin#16493: Fix test failures * merge bitcoin#23271: Fix K1/K2 use in the comments in ChaCha20-Poly1305 AEAD * merge bitcoin#22331: Fix K1/K2 use in ChaCha20-Poly1305 AEAD * merge bitcoin#18260: Fix implicit value conversion in formatPingTime * merge bitcoin#16562: Refactor message transport packaging * merge bitcoin#16202: Refactor network message deserialization * merge bitcoin#16445: Skip flaky p2p_invalid_messages test on macOS * merge bitcoin#15697: Make swap_magic_bytes in p2p_invalid_messages atomic * merge bitcoin#15330: Fix race in p2p_invalid_messages * merge bitcoin#15246: Add tests for invalid message headers * partial Merge #15855: [refactor] interfaces: Add missing LockAnnotation for cs_main * Merge #15342: Suggested wallet code cleanups from #14711 * Merge #14711: Remove uses of chainActive and mapBlockIndex in wallet code * merge bitcoin#17095: Filter control characters out of log messages * merge bitcoin#17427: Fix missing qRegisterMetaType for size_t * merge bitcoin#18004: don\'t embed a build-id when building libdmg-hfsplus * merge bitcoin#17135: Make polling in ClientModel asynchronous * merge bitcoin#16566: refactor upper/lowercase functions * governance: Implement reduced governance fee (#4241) * minor refactoring after #4351 (#4556) * Qt: Adds Governance tab (#4351) * merge bitcoin#16887: Abstract out some of the descriptor Span-parsing helpers * merge bitcoin#15986: Add checksum to getdescriptorinfo * partial bitcoin#15749: fix importmulti only imports origin info for PKH outputs * Merge #15971: validation: Add compile-time checking for negative locking requirement in LimitValidationInterfaceQueue * Fix block index inconsistency in MarkConflictingBlock() * Merge #16849: Fix block index inconsistency in InvalidateBlock() * Merge #15402: Granular invalidateblock and RewindBlockIndex * refactor: more llmq refactoring (#4552) * refactor: minimize passing around llmqType just to search for LLMQParams (#4551) * Fix ResetBlockFailureFlags (#4545) * merge bitcoin#15368: Descriptor checksums * merge bitcoin#15263: Descriptor expansions only need pubkey entries for PKH/WPKH * merge bitcoin#14491: Allow descriptor imports with importmulti * merge bitcoin#14565: Overhaul importmulti logic * merge bitcoin#14886: Refactor importmulti tests * merge bitcoin#14667: Add deriveaddresses RPC util method * merge bitcoin#14646: Add expansion cache functions to descriptors * merge bitcoin#14477: Add ability to convert solvability info to descriptor * merge bitcoin#14150: Add key origin support to descriptors * Remove unused change_type argument of walletcreatedfundedpsbt (#4550) * Fix potential deadlock in `CInstantSendDb::Upgrade()` (#4548) * Merge #14527: qa: Revert \"Make qt wallet test compatible with qt4\" (#4547) * Rename variables for better clarity (#4544) * Merge #16106: gui: Sort wallets in open wallet menu * Merge #16231: gui: Fix open wallet menu initialization order * Merge #16118: gui: Enable open wallet menu on setWalletController * Merge #15957: Show \"No wallets available\" in open menu instead of nothing * Merge #15462: gui: Fix async open wallet call order * Merge #15195: gui: Add Close Wallet action * Fix BLS/BLS_DKG benchs after 15788 * Merge #15699: Remove no-op CClientUIInterface::[signal_name]_disconnect. Disconnect BlockNotifyGenesisWait and RPCNotifyBlockChange properly. * Merge #15655: Resolve the checkpoints <-> validation circular dependency * Merge #15829: qt: update request payment button text and tab description * Merge #15352: tests: Reduce noise level in test_bitcoin output * Merge #15771: qa: Prevent concurrency issues reading .cookie file * partial bitcoin#15779: wallet_balance benchmark * merge bitcoin#15788: Unify testing setups for fuzz, bench, and unit tests * Merge #14957: wallet: Initialize stop_block in CWallet::ScanForWalletTransactions (#4538) * refactor: Include adjustments (#4526) * merge bitcoin#15855: Add missing LockAnnotation for cs_main (#4530) * merge bitcoin#15473: bench: Benchmark MempoolToJSON * merge bitcoin#15413: Add missing cs_main locks required when accessing pcoinsdbview, pcoinsTip or pblocktree * merge bitcoin#14400: Add Benchmark to test input de-duplication worst case * merge bitcoin#13806: Fix bench/block_assemble assert failure * merge bitcoin#13534: Don\'t assert(foo()) where foo() has side effects * merge bitcoin#13530: Add missing pow.h header * merge bitcoin#13219: Add block assemble benchmark * Merge #18181: test: Remove incorrect assumptions in validation_flush_tests (#4536) * Merge bitcoin#16205: Refactor: Replace fprintf with tfm::format (#4531) * Merge #15153: gui: Add Open Wallet menu * Merge bitcoin#23181: refactor: remove references to deprecated values under std::allocator (#4534) * Merge #14875: RPCHelpMan: Support required arguments after optional ones * Merge #14885: rpc: Assert named arguments are unique in RPCHelpMan * Dash-specific changes to pass argument descriptions to RPCHelpMan * Merge #14796: rpc: Pass argument descriptions to RPCHelpMan * mutex: refactor coinjoin mutex locking logic * mutex: lock mempool.cs before calling LimitMempoolSize() * mutex: lock cs_main before calling ::ChainstateActive().CoinsTip() * trivial: make linter happy * merge bitcoin#16945: introduce CChainState::GetCoinsCacheSizeState * merge bitcoin#16743: move LoadChainTip/RelayBlocks under CChainState * merge bitcoin#16757: CChainState return values * merge bitcoin#16443: have CCoins * data managed under CChainState * merge bitcoin#15999: Remove dead code in LoadChainTip * merge bitcoin#16355: move CCoinsViewErrorCatcher out of init.cpp * merge bitcoin#16194: share blockmetadata with BlockManager * merge bitcoin#16092: Don\'t use global (external) symbols for symbols that are used in only one translation unit * merge bitcoin#15976: move methods under CChainState * merge bitcoin#15948: rename chainActive * Enable ubsan for linux64 build * Merge bitcoin-core/gui#293: Enable wordWrap for Services * Merge bitcoin-core/gui#298: Peertableview alternating row colors * Merge bitcoin/bitcoin#21688: doc: note on SDK for macOS depends cross-compile * Merge bitcoin/bitcoin#21773: fuzz: Ensure prevout is consensus-valid * Merge bitcoin-core/gui#276: Elide long strings in their middle in the Peers tab * Merge #20684: build: Define .INTERMEDIATE target once only * Merge #14951: Revert \"tests: Support calling add_nodes more than once\" * Merge #13258: uint256: Remove unnecessary crypto/common.h dependency * tests: Fix/improve feature_llmq_is_cl_conflicts.py (#4523) * Merge #19533: [tests] Remove unnecessary cs_mains in denialofservice_tests * Merge #18695: test: Replace boost::mutex with std::mutex * Merge #17368: cli: fix -getinfo output when compiled with no wallet * Merge #17345: test: Do not instantiate CAddrDB for static call CAddrDB::Read() * Merge #15154: configure: bitcoin-tx doesn\'t need libevent, so don\'t pull it in * merge bitcoin#16277: suppress output in test_bitcoin for expected errors * Merge #14437: Refactor: Start to separate wallet from node * Merge #15267: doc: explain AcceptToMemoryPoolWorker\'s coins_to_uncache * Merge #15629: init: Throw error when network specific config is ignored * Merge #15686: [tests] make pruning test faster * Merge #14146: wallet: Remove trailing separators from -walletdir arg * Merge #15642: [rpc] Remove deprecated rpc warnings * Merge #15335: Fix lack of warning of unrecognized section names * Merge #15685: doc: rpc-mining: Clarify error messages * refactor: misc refactoring in signing_shares. * (#4522) * refactor: more LLMQ params related refactoring (#4517) * Extend #15747: Remove some Dash Get *Balance * Merge #15747: wallet: Remove plethora of Get *Balance * Merge #15532: Remove sharp edge (uninit member) when using the compiler-generated ctor for BlockFilter * Merge #14556: qt: fix confirmed transaction labeled \"open\" (#13299) * cleanup: 4492 followup (#4521) * merge bitcoin#19353: Fix mistakenly swapped \"previous\" and \"current\" lock orders * sync: stop test_dash from reporting expected deadlocks (#4515) * chore: update PR template (#4518) * merge bitcoin#19340: Preserve the LockData initial state if \"potential deadlock detected\" exception thrown * merge bitcoin#18881: Prevent UB in DeleteLock() function * partial bitcoin#15352: Reduce noise level in test_bitcoin output * Merge #15943: tests: Fail if RPC has been added without tests * Merge #14984: rpc: Speedup getrawmempool when verbose=true * Merge #15841: [test] combine_logs: append node stderr and stdout if it exists * Merge #14683: tests: better combine_logs.py behavior * merge bitcoin#14906: Make explicit CMutableTransaction -> CTransaction conversion * merge bitcoin#14908: Removed implicit CTransaction constructor calls from tests and benchmark * merge bitcoin#13013: Move constructors out of mempool_eviction hot loop * Cxx17 refac ci focal (#4509) * spork: make sporkDefs static constexpr, remove sporkDefsById, sporkDefsByName maps (#4510) * Merge #14594: qt: Fix minimized window bug on Linux * Merge #15136: qt: \"Peers\" tab overhaul * Partial Merge #20491: refactor: Drop noop gcc version checks * Merge #14715: Drop defunct prevector compat handling * Cxx17 refac ci build (#4508) * Cxx17 refac ci trivial (#4507) * Merge bitcoin#14726: Use RPCHelpMan for all RPCs (#4492) * depends: Bump protobuf to 3.17.3 (#4503) * minor refactorings in mnauth.cpp (#4501) * Use make_unique instead of using new (#4502) * llmq: move more llmq params into llmq/params.h remove llmq/params.cpp, use string_view and constexpr (#4500) * refac: use make_unique and constexpr (#4493) * refactor: refactor and improve platformUser restrictions, add some documentation (#4490) * ci/lint: Fix lint-shell.sh in CI (#4489) * docs: elaborate llmq parameter uses, tidy up * move-only: move llmq parameters to their own file * partial Merge #14822: bench: Destroy wallet txs instead of leaking their memory * Merge #14008: Preserve a format of RPC command definitions * Merge #12246: Bugfix: Only run bitcoin-tx tests when bitcoin-tx is enabled * Merge #14903: tests: Handle ImportError explicitly, improve comparisons against None * Merge #13787: Test for Windows encoding issue * Merge #14151: windows: Fix remaining compiler warnings (MSVC) * refactor: llmq/quorums_ *[cpp/h] --> llmq/ *.[cpp/h] * refactor: replace instances of `typedef` with `using` in dash code (#4488) * instantsend: deterministic lock using the same msg hash as islock (#4381) * Fix python dead code warnings * partial merge #19348: test: Bump linter versions * Merge #15257: Scripts and tools: Bump flake8 to 3.7.8 * Merge #21096: Re-add dead code detection * Merge #16961: test: Remove python dead code linter * Merge #16907: test: lint: Add DisabledOpcodeTemplates to whitelist * Merge #16921: tests: Add information on how to add Vulture suppressions * partial merge #16465: lint: Add false positive to python dead code linter * Merge #16186: doc/lint: Fix spelling errors identified by codespell 1.15.0 * Merge #15166: qa: Pin shellcheck version * Merge #16667: build: remove mingw linker workaround from win gitian descriptor * ci: Drop excessive `$CI_PROJECT_DIR` (#4485) * merge bitcoin#22993: set OSX_MIN_VERSION to 10.15 * merge bitcoin#20470: Replace genisoimage with xorriso * merge bitcoin#19817: macOS toolchain bump * ci: Generate new cache key when `ci/Dockerfile.builder` changes (#4483) * cj: Fix deadlock in SignFinalTransaction (#4474) * test: Fix expected warnings in feature_pruning.py (#4476) * refactor: remove redundant filename prefixes for Dash-specific logic (#4475) * Merge #15527: doc: Move pr release notes file in wrong dir * Merge #15683: Comment for seemingly duplicate LIBBITCOIN_SERVER * Merge #15631: qa: mininode: Clearer error message on invalid magic bytes * Merge #15609: scripts and tools: Set \'distro\' explicitly * Merge #15564: cli: remove duplicate wallet fields from -getinfo * Merge #15566: cli: replace testnet with chain and return network name as per BIP70. * Merge #15513: docs: add \"sections\" info to example bitcoin.conf * refactor: Various small improvements (#4471) * Merge #14268: Introduce SafeDbt to handle Dbt with free or memory_cleanse raii-style * Merge #14969: tests: Fix cuckoocache_tests TSAN failure introduced in 14935. * Merge #14094: refactoring: Remove unreferenced local variables * Merge #15408: Remove unused TransactionError constants * Merge #14935: tests: Test for expected return values when calling functions returning a success code * masternode-meta. *: add thread annotations, atomic usage, remove unneeded locks (#4466) * trivial: minor changes in masternode-meta. * (#4467) * Coinjoin cs adjustments (#4463) * Adjust dkgsession CS usage (#4461) * instantsend: Introduce ISDB specific CCriticalSection, avoid locking IS cs where possible (#4454) * trivial: bump CXX standard to 17 in CMakeLists.txt (#4470) * Merge #16073: refactor: Improve CRollingBloomFilter::reset by using std::fill * Merge #15463: rpc: Speedup getaddressesbylabel * Remove usage of boost thread in chainlocks code * partial Merge #19090: refactor: Misc scheduler cleanups * partial Merge #18234: refactor: Replace boost::mutex,condition_var,chrono with std equivalents in scheduler * Various cs_main / thread saftey adjustments (#4455) * Add some thread annotations (#4464) * Make CMasternodeSync members atomic, remove CCriticalSection (#4462) * Add more descriptive logging in case of CL overriding islock (#4460) * chainlocks: Use std::atomic for a number of bools previously guarded by cs (#4459) * Merge #15913: Bugfix: dummywallet: Add -ignorepartialspends to list of ignored wallet options * partial Merge #14454: Add SegWit support to importmulti (#4440) * Merge #16051: depends: add patch to common dependencies * Merge #15782: Avoid redefine warning * Merge #18596: test: Try once more when RPC connection fails on Windows * Merge #17553: wallet: Remove out of date comments for CalculateMaximumSignedTxSize * fix dash specific ubsan errors * Merge #14426: utils: Fix broken Windows filelock * Merge #14583: docs: Textual improvements in build docs * Merge #14324: qa: Run more tests with wallet disabled * Merge #13687: travis: Check that ~/.bitcoin is never created * Merge bitcoin/bitcoin#18096: doc: IsFinalTx comment about nSequence & OP_CLTV * Merge bitcoin/bitcoin#22361: refactor: Make httpserver work queue a unique_ptr * Merge bitcoin/bitcoin#22201: test: Fix TestShell to allow running in Jupyter Notebook * Merge bitcoin/bitcoin#22200: zmq: use std::string in zmqError() * Merge bitcoin/bitcoin#22123: depends: Fix qt.mk for mac arm64 * Merge bitcoin/bitcoin#22071: depends: latest config.guess and config.sub * Merge bitcoin-core/gui#300: Remove progress bar on modal overlay * Merge bitcoin-core/gui#20: Wrap tooltips in the intro window * Merge #15614: gui: Defer removeAndDeleteWallet when no modal widget is active * Merge #16348: qt: Assert QMetaObject::invokeMethod result * Merge #20603: build: Update crc32c subtree * Merge #20519: Handle rename failure in DumpMempool(...) by using the RenameOver(...) return value. Add [[nodiscard]] to RenameOver(...). * Merge #20472: test: Add testing of ParseInt/ParseUInt edge cases with leading +/-/0:s * Merge #20212: net: fix output of peer address in version message * Merge #20289: fuzz: Check for addrv1 compatibility before using addrv1 serializer/deserializer on CService * Merge #20242: fuzz: Properly initialize PrecomputedTransactionData * Merge #20140: Restore compatibility with old CSubNet serialization * Merge #20069: test: Mention commit id in scripted diff error * Merge #19868: build: Fix target name * Merge #19936: Test: batch rpc with params * Merge #19931: Change CSipHasher\'s count variable to uint8_t * Merge #19857: net: improve nLastBlockTime and nLastTXTime documentation * Merge #14687: zmq: enable tcp keepalive * Merge #14264: doc: Split depends installation instructions per arch * Merge #15853: wallet: Remove unused import checkpoints.h * Merge #14813: qa: Add wallet_encryption error tests (#4438) * Merge #17708: prevector: avoid misaligned member accesses * Merge #19733: Move comment about BaseIndex::DB from TxIndex::DB * Merge #19734: Move CDiskTxPos to its own file * Merge #14381: test: Add missing call to skip_if_no_cli() * Merge #14316: tests: exclude all tests with difference parameters in `--exclude` list * Merge #14236: qa: generate --> generatetoaddress change to allow tests run without wallet * Partial Merge #13665: [build] Add risc-v support to gitian * Merge #14180: qa: Run all tests even if wallet is not compiled * Partial Merge #13710: [depends] Add riscv qt depends support for cross compiling bitcoin-qt * Merge #14007: tests: Run functional test on Windows and enable it on Appveyor * Merge #19718: build: Add missed gcov files to \'make clean\' * Merge #19210: qt: Get rid of cursor in out-of-focus labels * Merge #19106: util: simplify the interface of serviceFlagToStr() * Merge #17120: gui: Fix start timer from non QThread * Merge #17191: random: remove call to RAND_screen() (Windows only) * Merge #17169: doc: correct function name in ReportHardwareRand() * Merge #17038: Don\'t rename main thread at process level * Merge #16969: refactor: Remove Qt function to disable menu icons on macOS * Merge #16350: qt: Remove unused guard * Merge #15280: gui: Fix shutdown order * Merge #14250: qt: Remove redundant stopThread() and stopExecutor() signals * Merge #13429: Return the script type from Solver (#4436) * merge bitcoin#19070: Signal support for compact block filters with NODE_COMPACT_FILTERS * merge bitcoin#19044: Add support for getcfilters * merge bitcoin#19010: Add support for getcfheaders * merge bitcoin#18960: Add compact block filter headers cache * merge bitcoin#18877: Serve cfcheckpt requests * Merge #19672: build: make clean removes .gcda and .gcno files from fuzz directory * Merge #19614: util: use HAVE_FDATASYNC to determine fdatasync() use * Merge #19632: test: Catch decimal.InvalidOperation from TestNodeCLI#send_cli * Merge #19617: doc: Clang 8 or later is required with FORCE_USE_SYSTEM_CLANG * Merge #19599: test: clean message_count and last_message * Merge #19470: banlist: log post-swept banlist size at startup * Merge #19344: docs: update testgen usage example * Merge #19287: contrib: Fix SyntaxWarning in Python base58 implementation * Merge #19220: refactor: Replace RecursiveMutex with Mutex in warnings.cpp * Merge #17994: validation: flush undo files after last block write * Merge #19022: test: Fix intermittent failure in feature_dbcrash * Merge #19094: build: Only allow ASCII identifiers * Merge #19052: tests: Don\'t limit fuzzing inputs to 1 MB for afl-fuzz (now: ∞ ∀ fuzzers) * Merge #18956: build: enforce minimum required Windows version (7) * Merge #21678: test: Fix TestPotentialDeadLockDetected suppression * Merge #21610: build: remove -Wdeprecated-register from NOWARN flags * Merge #20969: test: check that getblockfilter RPC fails without block filter index * Merge bitcoin-core/gui#223: qt: Re-add and rename transaction \"Edit Label\" action * Merge #21222: log: Clarify log message when file does not exist * Merge bitcoin-core/gui#213: qt: Add Copy Address Action to Payment Requests * Merge bitcoin-core/gui#211: qt: Remove Transactionview Edit Label Action * Merge #20741: doc: Update \'Secure string handling\' * Merge #20781: fuzz: remove no-longer-necessary packages from fuzzbuzz config * ci: Exclude some less important binaries to reduce the size of the artifacts (#4441) * Merge #18779: doc: Better explain GNU ld\'s dislike of ld64\'s options * Merge #18410: Docs: Improve commenting for coins.cpp|h * Merge #18262: bnb: exit selection when best_waste is 0 * Merge #18549: qt: Fix Window -> Minimize menu item * Merge #18286: build: Add locale fuzzer to FUZZERS_MISSING_CORPORA (and unbreak Travis! :)) * Merge #18195: test: Add cost_of_change parameter assertions to bnb_search_test * Merge #18159: tests: Add --valgrind option to test/fuzz/test_runner.py for running fuzzing test cases under valgrind * Merge #18121: gui: Throttle GUI update pace when -reindex * Merge #18003: build: remove --large-address-aware linker flag * Merge #17971: refactor: Remove redundant conditional * Merge #15101: gui: Add WalletController * Merge #11625: Add BitcoinApplication & RPCConsole tests * Fix Dash build for Arch Linux with GCC 11.1 (#4398) * Merge #15792: doc: describe onlynet option in doc/tor.md * Merge #15802: doc: mention creating application support bitcoin folder on OSX * Merge #15809: gitignore: plist and dat * merge bitcoin#18165: Consolidate service flag bit-to-name conversion to a shared serviceFlagToStr function * merge bitcoin#17687: fix Fatal LevelDB error when specifying -blockfilterindex twice * merge bitcoin#17474: Recognise NETWORK_LIMITED in formatServicesStr * merge bitcoin#16787: Human readable network services * Merge #20594: Fix getauxval calls in randomenv.cpp * Merge #19631: test: Wait for \'cmpctblock\' in p2p_compactblocks when it is expected * Merge #17887: bug-fix macos: give free bytes to F_PREALLOCATE * Merge #17939: gui: Remove warning \"unused variable \'wallet_model\'\" * Merge #17686: build: add -bind_at_load to macOS hardened LDFLAGS * Merge #17753: util: Don\'t allow Base32/64-decoding or ParseMoney(…) on strings with embedded NUL characters. Add tests. * Merge #17093: tests: Add fuzzing harness for various CTx{In,Out} related functions * Merge #17680: gitian: fixed SC2001 regex * Merge #14119: qa: Read reject reasons from debug log, not p2p messages * Merge #14096: Add reference documentation for descriptors language * Merge #14411: [wallet] Restore ability to list incoming transactions by label * Merge bitcoin#13825: [wallet] Kill accounts * Merge #14023: Remove accounts rpcs * Revert \"Merge #14441: [wallet] Backport(0.17): Restore ability to list incoming transactions by label\" * Merge #15250: Use RdSeed when available, and reduce RdRand load * Merge #15647: [rpc] Remove deprecated functionality message from validateaddress help * Merge #15485: add rpc_misc.py, mv test getmemoryinfo, add test mallocinfo * Merge #15458: refactor: Drop redundant wallet reference * Merge #13128: policy: Add Clang thread safety annotations for variables guarded by cs_feeEstimator * Merge #15266: memory: Construct globals on first use * Merge #14133: gui: Favor macOS show / hide action in dock menu * Merge #14013: [doc] Add new regtest ports in man following #10825 ports reattributions * Merge #14042: travis: add CXXFLAGS=-Wno-psabi at ARM job * Merge #12559: Avoid locking cs_main in some wallet RPC * Merge #13152: [rpc] Add getnodeaddresses RPC command (#4425) * Merge #17499: refactor, qt: Remove unused signal from WalletView class * Merge #17450: util: Add missing headers to util/fees.cpp * Merge #17410: Rename `db` log category to `walletdb` (like `coindb`) * Merge #16735: gui: Remove unused menu items for Windows and Linux * Merge #15224: Add RNG strengthening (10ms once every minute) * Merge #17353: doc: Add ShellCheck to lint tests dependencies * Merge #17363: test: add \"diamond\" unit test to MempoolAncestryTests * Merge #17218: Replace the LogPrint function with a macro * Merge #17330: test: Add shrinkdebugfile=0 to regtest bitcoin.conf * Merge #17281: doc: Add developer note on c_str() * Merge #17151: gui: remove OpenSSL PRNG seeding (Windows, Qt only) * Merge #16802: scripts: In linearize, search for next position of magic bytes rather than fail * Merge #13266: refactor: privatize SignatureExtractorChecker [moveonly] * partial #21064: use std::shared_mutex * merge #20471: use C++17 in depends * merge #20413: Require C++17 compiler * merge #19428: Fix boost/C++17 compile failures * merge #19333: Fix clang compile failure * merge #18863: Make CScriptVisitor stateless * Merge #13076: Fix ScanForWalletTransactions to return an enum indicating scan result: success / failure / user_abort * Merge #17637: script: Add Keyserver to verify-commits README * Merge #17569: build: Allow export of environ symbols and work around rv64 toolchain issue * Merge #16716: wallet: Use wallet name instead of pointer on unload/release * Merge #15507: test: Bump timeout on tests that timeout on windows * Merge #16708: qt: Replace obsolete functions of QSslSocket * instantsend: Add islocks created from recovered sigs to the queue (#4422) * Merge #15404: [test] Remove -txindex to start nodes * Partial Merge #15413: tests: Add missing cs_main locks required when accessing pcoinsdbview, pcoinsTip or pblocktree * Fix outdated config.(guess|sub) of libbacktrace (#4417) * Fix error int64_t was not declared (#4419) * Merge #15216: Scripts and tools: Replace script name with a special parameter * Merge #15373: Move ParseConfirmTarget from rpc/mining to rpc/util * Merge #15357: rpc: Don\'t ignore `-maxtxfee` when wallet is disabled * Merge #15370: test_runner: Remove unused --force option * Merge #15365: wallet: Add lock annotation for mapAddressBook * Merge #15334: wallet: Log absolute paths for the wallets * bitcoin-config.h -> dash-config.h * Merge #15134: tests: Switch one of the Travis jobs to an unsigned char environment (-funsigned-char) * Merge #16491: qa: fix deprecated log.warn in feature_dbcrash test * Merge #16438: travis: Print memory and number of cpus * Merge #16223: devtools: Fetch and display ACKs at sign-off time in github-merge * Merge #16039: docs: add release note for 14954 * Merge #15622: Remove global symbols: Avoid using the global namespace if possible * Merge #15922: doc: Explain how to pass in non-fundamental types into functions * Merge #15970: Utils and libraries: fix static_assert for macro HAVE_THREAD_LOCAL * Merge #15963: [tests] Make random seed logged and settable * Merge #15890: Doc: remove text about txes always relayed from -whitelist * Merge #15920: lint: Check that all wallet args are hidden * Merge #15917: wallet: Avoid logging no_such_file_or_directory error * Merge #15838: scripts and tools: Fetch missing review comments in github-merge.py * Merge #15801: Bugfix: GUI: Options: Initialise prune setting range before loading current value, and remove upper bound limit * Merge #14955: Switch all RNG code to the built-in PRNG (#4411) * Merge #14981: rpc: Clarifying RPC getrawtransaction\'s time help text * Merge #14979: [Qt] Restore < Qt5.6 compatibility for addAction * Fix #14573: Drop Tools menu, move actions to File menu * Fix #14573: Alter to work with Dash UI * Merge #14573: qt: Add Window menu * Merge #14679: importmulti: Don\'t add internal addresses to address book (#4402) * Merge #13983: rpc: Return more specific reject reason for submitblock (#4408) * Merge #14964: test: Fix race in mempool_accept * 15799 / 15223 Dashification * Merge #15799: doc: Clarify RPC versioning * Merge #15495: Add regtests for HTTP status codes * Merge #15255: [tests] Remove travis_wait from lint script * Merge #15643: contrib: gh-merge: Include ACKs in merge commit * Merge #15625: refactor: Remove unused function * Merge #15583: wallet: Log and ignore errors in ListWalletDir and IsBerkeleyBtree * Merge #15464: gui: Drop unused return values in WalletFrame * Merge #15468: wallet: Use fsbridge::ifstream to fix Windows path issue * Merge #15388: [build] Makefile.am: add rule for src/bitcoin-wallet * Merge #15223: Doc: add information about security to the JSON-RPC doc * Merge #15087: Error if rpcpassword contains hash in conf sections * Merge #14937: travis: fix travis would always be green even if it fail * Merge #14854: qt: Cleanup SplashScreen class * Merge #14231: travis: Save cache even when build or test fail * Merge #14926: test: consensus: Check that final transactions are valid * Merge #15350: qa: Drop RPC connection if --usecli * Merge #15343: [doc] netaddress: Make IPv4 loopback comment more descriptive * Merge #15091: GUI: fix model overlay header sync * Merge #12255: Update bitcoin.service to conform to init.md * Merge #14760: Log env path in BerkeleyEnvironment::Flush * Merge #14708: Warn unrecognised sections in the config file * Merge #14658: qa: Add test to ensure node can generate all rpc help texts at runtime * Merge #15210: gui: Fix window title update * Merge #15209: zmq: log outbound message high water mark when reusing socket * Merge #15188: Update zmq to 4.3.1 * Replace locale-specific functions in Dash-specific code * Merge #14599: Use functions guaranteed to be locale independent (IsDigit, ToLower) in {Format,Parse}Money(...), uint256::SetHex(...), etc. Remove the use of locale dependent boost::is_space(...) * Merge #14585: refactor: remove usage of locale dependent std::isspace * Merge #14417: Fix listreceivedbyaddress not taking address as a string * Merge #13883: utils: Convert Windows args to utf-8 string * Merge #15149: gui: Show current wallet name in window title * Merge #14941: rpc: Make unloadwallet wait for complete wallet unload * Merge bitcoin#14060: ZMQ: add options to configure outbound message high water mark, aka SNDHWM (#4360) * Merge #13578: [depends, zmq, doc] upgrade zeromq to 4.2.5 and avoid deprecated zeromq api functions (#4397) * refactor: More constness and thread safety for LLMQ modules (#4392) * Merge #14357: streams: Fix broken streams_vector_reader test. Remove unused seek(size_t). * gitian: Fix gitian-linux.yml * build|gitian: Install cmake for macos cross-compilation builds * Merge #20129: tests: don\'t export in6addr_loopback * Merge #17738: build: remove linking librt for backwards compatibility * coinjoin: Lower the number of \"masternode winners\" to skip on regtest/devnet (#4394) * depends: Small tweaks in `bls-dash` and `immer` packages (#4391) * instantsend: Fix potential deadlock (#4390) * Merge #15278: Improve PID file error handling * Merge #14808: doc: clarify RPC rawtransaction documentation * Merge #15410: test: txindex: interrupt threadGroup before calling destructor * Merge #15397: Remove manual byte editing in wallet_tx_clone func test * Merge #14841: consensus: Move CheckBlock() call to critical section * Merge #15471: rpc/gui: Remove \'Unknown block versions being mined\' warning * Merge #13676: Explain that mempool memory is added to -dbcache * Merge #15245: remove deprecated mentions of signrawtransaction from fundraw help * merge #20735: Remove outdated extract-osx-sdk.sh * partial merge #19817: clang 10.0.1 * merge #21457: split libtapi and clang out of native_cctools * partial merge #19761: improve sed robustness by not using sed * merge #19547: Update macOS cross compilation dependencies for Focal * partial merge #15382: add RunCommandParseJSON * merge #19530: build LTO support into Apple\'s ld64 * merge #21793: use -isysroot over --sysroot on macOS * build: fix path definitions when cross-compiling for Darwin * partial merge #19683: Pin clang search paths for darwin host * merge #20359: Various config.site.in improvements and linting * merge #17361: Lint Gitian descriptors with ShellCheck * merge #17919: Allow building with system clang * merge #19407: explain why passing -mlinker-version is required when cross-compiling * merge #18364: remove getentropy() fallback for macOS < 10.12 * merge #20419: set minimum supported macOS to 10.14 * merge #19240: macOS toolchain simplification and bump * depends: use build_tmp subdir when building immer (#4383) * merge bitcoin#13311: Don\'t edit Chainparams after initialization (#4362) * merge #22186: Fix compiling qt package in depends with GCC 11 (#4386) * ci: Add github-action that automatically runs clang-format. Will not fail CI (#4387) * Merge #21130: script: Make LXC container size suitable for gitian builds * Merge #21004: contrib: Fix docker args conditional in gitian-build * Merge #16114: contrib: add curl as a required program in gitian-build.py * Merge #13998: Scripts and tools: gitian-build.py improvements and corrections * Merge #15939: gitian: Remove Windows 32 bit build * Merge #15766: scripts and tools: Upgrade gitian image before signing * Merge #15239: scripts and tools: Move non-linux build source tarballs to \"bitcoin-binaries/version\" directory * Merge #14325: [gitian] use versioned unsigned tarballs instead of generically named ones * More of 13743: refactor: Replace boost::bind with std::bind (#4385) * ci: Add `--enable-werror` flag to macos CI build * Add missing cs_main locks/checks * Merge #14772: refactor: Convert comments to thread safety annotations * build: patch relic to satisfy gcc 11\'s stricter requirements (#4384) * merge #16392: macOS toolchain update * merge #15236: scripts and tools: Make --setup command independent * lint: add dash extended cpp linter * Merge #12490: [Wallet] [RPC] Remove deprecated wallet rpc features from bitcoin_server (#4380) * Merge #15144: [refactor] CNode: Use C++11 default member initializers (#4371) * Merge #18502: doc: Update docs for getbalance (default minconf should be 0) (#4372) * Merge #17519: rpc: Remove unused COINBASE_FLAGS (#4377) * merge #17567: remove macOS start on login code * merge #17057: switch to upstream libdmg-hfsplus * merge #17184: Filter out macOS process serial number * merge #15601: Switch to python3 * merge #14954: Require python 3.5 * merge #15208: remove macOS launch-at-startup when compiled with > macOS 10.11 * partial merge #17550: set minimum supported macOS to 10.12 * Merge bitcoin#18584: test: Check that the version message does not leak the local address (#4368) * merge bitcoin#18405: Drop all ZeroMQ patches * merge bitcoin#17538: Bump minimum libc to 2.17 for release binaries * merge bitcoin#13686: Small cleanups in the ZMQ code * Merge #15411: travis: Combine --disable-bip70 into existing job * build: remove change-directory-and-build-depends behavior for immer (#4367) * Merge #15063: GUI: If BIP70 is disabled, attempt to fall back to BIP21 parsing * Merge #14564: Adjust configure so that only bip70 is disabled when protobuf is missing instead of the GUI * Merge #14686: build: Fix windows build error if `--disable-bip70` * Merge #14568: build: Fix Qt link order for Windows build * Merge #14451: Add BIP70 deprecation warning and allow building GUI without BIP70 support * partial merge #18677: Multiprocess build support * merge bitcoin#19764: Split boost into build/host packages + bump + cleanup * merge bitcoin#18820: Propagate well-known vars into depends * 15276 new line * 15020 new lines * Fix 15219 * Fix 12153 * Merge #12151: rpc: Remove cs_main lock from blockToJSON and blockheaderToJSON * Merge #15225: GUI: Change the receive button to respond to keypool state changing * Merge #15276: travis: Compile once on trusty * Merge #15163: Correct units for \"-dbcache\" and \"-prune\" * Merge #15279: wallet: Clarify rescanblockchain doc * Merge #15243: [doc] add notes on release notes * Merge #15254: Trivial: fixup a few doxygen comments * Merge #15219: lint: Enable python linters via an array * Merge #15167: qt: Fix wallet selector size adjustment * Merge #15194: Add comment describing fDisconnect behavior * Merge #15040: qt: Add workaround for QProgressDialog bug on macOS * Merge #15165: contrib: Allow use of github API authentication in github-merge * Merge #14963: mempool, validation: Explain cs_main locking semantics * Merge #15114: Qt: Replace remaining 0 with nullptr * Merge #13216: [Qt] implements concept for different disk sizes on intro * Merge #15139: util: Remove [U](BEGIN|END) macros * Merge #12153: Avoid permanent cs_main lock in getblockheader * Merge #15038: docs: Get more info about GUI-related issue on Linux * Merge #15020: Build: add names to Travis jobs * Fix thread names for threads started via pools (#4349) * Use correct datadir in all cases in dbwrapper_tests (#4348) * Add `-printcrashinfo` to hidden args (#4347) * qt: Use new Qt5 connect syntax (Dash specific) * Merge #13529: Use new Qt5 connect syntax * Merge #14478: Show error to user when corrupt wallet unlock fails * Merge #14705: travis: Avoid timeout on verify-commits check * Partial merge #14700: qa: Avoid race in p2p_invalid_block by waiting for the block request * Merge #14247: Fix crash bug with duplicate inputs within a transaction * Merge #14690: Throw error if CPubKey is invalid during PSBT keypath serialization * Merge #14494: Error if # is used in rpcpassword in conf * Merge #14812: qa: fix p2p_invalid_messages on macOS * Merge #14672: tests: Send fewer spam messages in p2p_invalid_messages * Fixed test by updating length of message accordingly dash\' MAX MESSAGE SIZE * Merge #14522: tests: add invalid P2P message tests * partial merge bitcoin#19844: lint: add C++ code linter * Merge #14242: Avoid triggering undefined behaviour (std::memset(nullptr, 0, 0)) if an invalid string is passed to DecodeSecret(...) * Merge #15351: Update linearize-hashes.py * Merge #14519: tests: add utility to easily profile node performance with perf * resolve linter failure * Merge #14764: travis: Run thread sanitizer on unit tests * Merge #14673: travis: Fail the UBSan Travis build in case of newly introduced UBSan errors * Merge #14252: build: Run functional tests and benchmarks under the undefined behaviour sanitizer (UBSan) * Merge #14331: doxygen: Fix member comments * Merge #15435: rpc: Add missing #include * Backports v0.18: PR 13743: refactor: Replace boost::bind with std::bind (#4343) * lint: fix linter failure in lint-python-dead-code.sh (#4344) * Merge bitcoin#14272: init: Remove deprecated args from hidden args (#4335) * Merge #15247: qa: Use wallet to retrieve raw transactions * Merge #15235: Do not import private keys to wallets with private keys disabled * Merge #15000: qt: Fix broken notificator on GNOME * Merge #15022: tests: Upgrade Travis OS to Xenial * Merge #15026: [test] Rename rpc_timewait to rpc_timeout * Merge #15061: [Trivial] Update license year range to 2019 * Merge #14985: test: Remove thread_local from test_bitcoin * Merge #14849: depends: qt 5.9.7 * Merge #14741: doc: Indicate -rpcauth option password hashing alg * Merge #14788: tests: Possible fix the permission error when the tests open the cookie file * Merge #14863: refactor: Add and use HaveTxsDownloaded() where appropriate * Partial Merge #14831: Scripts and tools: Use #!/usr/bin/env bash instead of #!/bin/bash. * Merge #14864: test: Run scripted-diff in subshell * Merge #14804: docs: Less confusing documentation for `torpassword` * Merge #14816: Add CScriptNum decode python implementation in functional suite * Merge #14561: Remove fs::relative call and fix listwalletdir tests * Merge #14559: appveyor: Enable multiwallet tests * Merge #14465: tests: Stop node before removing the notification file * Merge #14275: tests: Write the notification message to different files to avoid race condition in feature_notifications.py * Merge #14291: wallet: Add ListWalletDir utility function * Merge #15272: doc: correct logging return type and RPC example * Merge #15176: docs: Get rid of badly named readme * Merge #13793: tx pool: Use class methods to hide raw map iterator impl details * Merge #14208: [build] Actually remove ENABLE_WALLET * Merge #14365: tests: Add Python dead code linter (vulture) to Travis * Merge #14530: Use RPCHelpMan to generate RPC doc strings * partial bitcoin#15280 Check m_internals in UnregisterValidationInterface * partial bitcoin#13743 refactor: Use boost::scoped_connection in signal/slot, also prefer range-based loop instead of std::transform * bitcoin#14121: Index for BIP 157 block filters * bitcoin#15623: Expose UndoReadFromDisk in header * bitcoin#14172: Refactor and add tests for BlockFilter construction * bitcoin#15118: Refactor block file logic * Merge #16767: test: Check for codespell in lint-spelling.sh * Merge #16646: qa: Run tests with UPnP disabled * Merge #16470: test: Fail early on disconnect in mininode.wait_for_ * * Merge #16329: test: Add tests for getblockchaininfo.softforks * Merge #16234: test: Add test for unknown args * Merge #16059: configure: Fix thread_local detection * Merge #15968: Fix portability issue with pthreads * Merge #15866: test: Add missing syncwithvalidationinterfacequeue to wallet_import_rescan * Merge #15755: rpc: remove unused var in rawtransaction.cpp * Merge #15617: p2p: Do not relay banned IP addresses * Merge #15466: tests: Print remaining jobs in test_runner.py * Merge #15491: wallet: Improve log output for errors during load * llmq: Split \"llmq\" db (#4141) * followup: 4303: 15297->16127: util/system.cpp: add thread safety annotations for dir_locks (#4325) * tests: remove unneeded boost dependency to satisfy linter * partial bitcoin#15638: Pull wallet code out of libbitcoin_server * bitcoin#14168: Remove ENABLE_WALLET from libbitcoin_server.a * bitcoin#17942: Improve fuzzing docs for macOS users * partial bitcoin#16236: Log output even if fuzzer failed * bitcoin#17225: Test serialisation as part of deserialisation fuzzing. Test round-trip equality where possible * fuzz: comment out logic that relies on un-merged backports * bitcoin#17051: Add deserialization fuzzing harnesses * bitcoin#17235: Skip unnecessary fuzzer initialisation. Hold ECCVerifyHandle only when needed * bitcoin#17018: Add descriptor Parse(...) fuzzing harness * bitcoin#17069: Pass fuzzing inputs as constant references * bitcoin#17076: Add fuzzing harness for CheckTransaction(...), IsStandardTx(...) and other CTransaction related functions * bitcoin#15504: Link BasicTestingSetup (shared with unit tests) * bitcoin#17452: update fuzz directory in .gitignore * bitcoin#15399: Script validation flags * bitcoin#15295: Add test/fuzz/test_runner.py and run it in travis * bitcoin#15043: Build fuzz targets into separate executables * Merge #15109: refactor: Use C++11 default member initializers * Merge #15078: rpc: Document bytessent_per_msg and bytesrecv_per_msg * Merge #14297: [RPC] Remove warning for removed estimatefee RPC * Merge #14298: [REST] improve performance for JSON calls * Merge #14612: Include full version number in released file names * Merge #14777: tests: Add regtest for JSON-RPC batch calls * Merge #14770: travis: Do not specify sudo in .travis * Merge #14768: revert removal of fstream.hpp header in fs.h * Merge #14718: Remove unreferenced boost headers * Merge #14720: rpc: Correctly name arguments * Merge #14228: Qt: Enable system tray icon by default if available * Partial merge #22448: Update libsecp256k1 subtree to latest upstream * Merge #21573: Update libsecp256k1 subtree to latest master * Merge #20257: Update secp256k1 subtree to latest master * Merge #20147: Update libsecp256k1 (endomorphism, test improvements) * Merge #19944: Update secp256k1 subtree (including BIP340 support) * Merge #19228: Update libsecp256k1 subtree * Merge #12461: scripted-diff: Rename key size consts to be relative to their class * Merge #14047: Add HKDF_HMAC256_L32 and method to negate a private key * qt: Add chainlock info (#4252) * Merge bitcoin#13399: rpc: Add submitheader (#4326) * refactor: adjust cs_main usage in llmq code (#4324) * qt: Masternode Tab should work with nowallet (#4318) * build: add libgmp detection, make immer a package (#4311) * merge #14978: Factor out PSBT utilities from RPCs for use in GUI code; related refactoring * partial #13932: Additional utility RPCs for PSBT * merge #14689: Require a public key to be retrieved when signing a P2PKH input * merge #15159: Remove lookup to UTXO set from GetTransaction * merge #14424: Stop requiring imported pubkey to sign non-PKH schemes * merge #21052: Replace fs::unique_path with GetUniquePath(path) calls * merge #17383: Move consts to their correct translation units * Static analysis fixes (#4316) * merge #18358: fix compilation with mingw-w64 7.0.0 * partial #16908: txmempool: Make entry time type-safe (std::chrono) * merge #16117: Replace boost sleep with std sleep * partial #14978: Factor BroadcastTransaction out of sendrawtransaction * Merge #14307: Consolidate redundant implementations of ParseHashStr * Merge #14305: Tests: enforce critical class instance attributes in functional tests, fix segwit test specificity * Merge #14947: scripts: Remove Python 2 import workarounds * Merge #14953: test: Make g_insecure_rand_ctx thread_local * Merge #14805: tests: Support calling add_nodes more than once * Merge #13767: Remove redundant assignments (dead stores) * Merge #13769: Mark single-argument constructors \"explicit\" * Merge #14684: [doc] conf: Remove deprecated options from docs, Other cleanup * Merge #15273: docs: Slight tweak to the verify-commits script directions * Merge #15337: rpc: Fix for segfault if combinepsbt called with empty inputs * Merge #15297: wallet: Releases dangling files on BerkeleyEnvironment::Close * Merge #15322: wallet: Add missing cs_db lock * Merge #15196: [test]: Update all subprocess.check_output functions to be Python 3.4 compatible * Merge #14884: Travis: enforce Python 3.4 support through linter * Merge #14966: docs: fix testmempoolaccept CLI syntax * Merge #15012: Docs: Fix minor error in doc/psbt.md * Merge #14319: doc: Fix PSBT howto and example parameters * Merge #14809: Tools: improve verify-commits.py script * Merge #14783: gui: Fix boost::signals2::no_slots_error in early calls to InitWarning * Merge #14820: test: Fix descriptor_tests not checking ToString output of public descriptors * Merge #14678: [wallet] remove redundant KeyOriginInfo access, already done in CreateSig * merge bitcoin#13960: Fix PSBT deserialization of 0-input transactions (#4310) * qt: Sync some Dash specific (non-)wallet actions with wallet availability (#4309) * bug: remove possible race condition crash; nullptr access (#4308) * refac: remove redundant check for IsBanned (#4307) * refactor: misc bls, evo, include refactoring (#4305) * Merge #15023: GUI: Restore RPC Console to non-wallet tray icon menu * Merge #14383: qt: Clean system tray icon menu for \'-disablewallet\' mode * Merge #14784: qt: Use WalletModel * instead of the wallet name as map key * Merge #14521: qt, docs: Fix `bitcoin-qt -version` output formatting * Merge #14310: [wallet] Ensure wallet is unlocked before signing * Refac: misc coinjoin refactoring and spelling / grammar fixes (#4304) * actions: Prevent accidental merging to master (#4302) * Merge #13988: Add checks for settxfee reasonableness (#4301) * Disable DIP0020 activation timeout on devnet (#4299) * Merge bitcoin#14771: test: Add BOOST_REQUIRE to getters returning optional (#4297) * More of 11634: wallet: Add missing cs_wallet/cs_KeyStore locks to wallet * More of 13697: Support output descriptors in scantxoutset * More of 13115: addrman: Add Clang thread safety annotations for variables guarded by CAddrMan.cs * Merge #14436: doc: add comment explaining recentRejects-DoS behavior * Add virtual destructors for CBLSWrapper and CBLSLazyWrapper (#4298) * Merge #14660: trivial: Don\'t translate help texts * Merge #14628: Trivial: Rename misleading \'defaultPort\' to \'rpc_port\' * Merge #14410: rpcwallet: \'ischange\' field for \'getaddressinfo\' RPC * Merge #14377: check that a separator is found for psbt inputs, outputs, and global map * Merge #14554: qt: Remove unused `adjustedTime` parameter * Merge #14528: travis: Compile once on xenial * Merge #14630: test_runner: Remove travis specific code * Merge bitcoin#14636: Avoid using numeric_limits for sequence numbers and lock times (#4296) * Resolve cs_main vs governance vs masternode-sync deadlocks (#4293) * contrib: Dashify verifybin (#4288) * drop 16695 release notes (#4286) * Fix data races triggered by functional tests. (#4247) * Merge #13783: validation: Pass tx pool reference into CheckSequenceLocks * Merge #14571: [tests] Test that nodes respond to getdata with notfound * Merge #13515: travis: Enable qt for all jobs * Merge #14518: rpc: Always throw in getblockstats if -txindex is required * Merge #14374: qt: Add \"Blocksdir\" to Debug window * Merge #14373: Consistency fixes for RPC descriptions * Merge #14428: docs: Fix macOS files description in qt/README.md * Merge #14419: [tests] Remove rpc_zmq.py * Merge #14398 tests: Don\'t access out of bounds array index: array[sizeof(array)] * Merge #14395: Fix typos and cleanup * Fix devnet name, tweak tests (#4284) * fix wallet_upgradetohd.py * Merge #15990: Add tests and documentation for blocksonly * Merge #14179: qa: Fixups to \"Run all tests even if wallet is not compiled\" * partial Merge #14180: qa: Premine to deterministic address with -disablewallet * tests: re-adapt scantxoutset RPC tests for Dash * Merge #13697: Support output descriptors in scantxoutset * Change devnet uacomment from `devnet=` to `devnet.` (#4282) * Merge #15193: Default -whitelistforcerelay to off * Merge #14624: Some simple improvements to the RNG code * Merge #16631: net: The default whitelistrelay should be true * partial Merge #16152: (Don\'t actually) Disable bloom filtering by default. * Merge #16618: [Fix] Allow connection of a noban banned peer * Merge #16248: Make whitebind/whitelist permissions more flexible * Merge #14626: Select orphan transaction uniformly for eviction * Merge #15201: net: Add missing locking annotation for vNodes. vNodes is guarded by cs_vNodes. * Merge #14929: net: Allow connections from misbehavior banned peers * 14105 dashification * Merge #14199: [psbt]Remove redundant BIP174 test from rpc_psbt.json * Merge #14189: qa: Fix silent merge conflict in wallet_importmulti * Merge #14186: bitcoin-cli: don\'t translate command line options * Merge #13662: Explain when reindex-chainstate can be used instead of reindex * Merge #14105: util: Report parse errors in configuration file * Merge #13249: Make objects in range declarations immutable by default. Avoid unnecessary copying of objects in range declarations. * partial Merge #14094: refactoring: Remove unreferenced local variables * Merge #14122: Test rpc_help.py failed: Check whether ZMQ is enabled or not. * fix 13792 * scripted-diff: Remove unused first argument to addUnchecked END 13792 * Begin Merge #13792 * Merge #14056: Docs: Fix help message typo optiona -> optional * Merge #13941: Add PSBT documentation * Merge #13962: Remove unused dummy_tx variable from FillPSBT * Merge #13938: refactoring: Cleanup StartRest() * Merge #18743: depends: Add --sysroot option to mac os native compile flags * docs: introduce doxygen comments for InstantSend (#4279) * Fix more spelling errors * Drop `contrib/debian/changelog` * Add `unparseable` to `lint-spelling.ignore-words.txt` * Ignore crypto and immer in lint-spelling.sh * Install codespell==1.13.0 in Docker * Merge #14389: travis: set codespell version to avoid breakage * fix misc. spelling errors * Merge #14495: build: Warn (don\'t fail!) on spelling errors * Merge #13954: Warn (don\'t fail!) on spelling errors. Fix typos reported by codespell. * Drop excessive cs_main locks in governance sync code (#4280) * doc: use updated discord, include Dash Developer discord, reorganize (#4272) * Avoid redundant `protected` in CAddrMan * Apply fake8 version pinning in Dockerfile.builder * tests: reenable when backporting Bitcoin #10321 (#4273) * Ignore immer in code coverage checks, lint-whitespace.sh and copyright_header.py scripts (#4268) * Fix lint-git-commit-check.sh (#4267) * immer: update source tree to 609d1958fc588f0b73f25c7c3b0c8b78f084c983 (#4257) * Merge #14605: Return of the Banman * Merge #15138: Drop IsLimited in favor of IsReachable * Merge #14647: build: Remove illegal spacing in darwin.mk * Merge #11634: wallet: Add missing cs_wallet/cs_KeyStore locks to wallet * Merge #14444: Add compile time checking for cs_main locks which we assert at run time * Merge #14526: docs: Document lint tests * Merge #14524: Trivial: fix typo * Merge #14177: qt: Set C locale for amountWidget * Merge #14496: build: Pin to specific versions of Python packages we install from PyPI in Travis * Merge #14455: build: unbreak `make clean` * Merge #13115: addrman: Add Clang thread safety annotations for variables guarded by CAddrMan.cs * Merge #14253: Build: during \'make clean\', remove some files that are currently missed. * Merge #20424: build: Update univalue subtree * Merge #18099: Update univalue subtree * Ensure pemissions are restrictive * actions: automatically add a \"needs rebase\" label and comment as relevant * Merge #20353: configure: Support -fdebug-prefix-map and -fmacro-prefix-map * Merge #21615: script: Add trusted key for hebasto * Merge #21633: refactor: add [[noreturn]] attribute where applicable * Merge #21300: script: Add explanatory comment to tc.sh * Merge bitcoin-core/gui#254: refactor: Drop redundant setEditTriggers(NoEditTriggers) calls * Merge #20734: build: Make platform-specific targets available for proper platform builds only * Merge #21111: Improve OpenRC initscript * Merge #21123: code style: Add EditorConfig file * Merge #20557: addrman: Fix new table bucketing during unserialization * Merge #21084: test: fix timeout decrease in feature_assumevalid * Merge #21065: build: make macOS HOST in download-osx generic * Merge bitcoin-core/gui#167: raise helpMessageDialog * Merge bitcoin-core/gui#173: Follow Qt docs when implementing rowCount and columnCount * Merge #20763: test: Fix comment typo in BitcoinTestFramework * Merge #20673: depends: Use more legible qmake commands in qt package * Merge #20650: depends: Drop workaround for a fixed bug in Qt build system * Merge #20616: Check CJDNS address is valid * Merge #20482: Add depends qt fix for ARM macs * Merge #20565: Android : Ensure pic build for bdb * Merge #20496: build: Drop unneeded macOS framework dependencies * merge #20067: remove use of boost::algorithm::replace_first * merge #18792: Remove boost from PeriodicFlush * merge #18786: Remove boost from ThreadImport * merge #17405: wallet: Remove unused boost::this_thread::interruption_point * merge #13671: Remove boost/algorithm/string/case_conv.hpp * Merge bitcoin-core/gui#21: Update pruning tooltip, original author BitcoinErrorLog * Merge #20024: init: Fix incorrect warning \"Reducing -maxconnections from N to N-1, because of system limitations\" * Merge bitcoin/bitcoin#22080: doc: add maxuploadtarget to bitcoin.conf example * Merge bitcoin/bitcoin#22204: doc: remove obsolete `okSafeMode` RPC guideline from developer notes * Merge #18030: doc: Coin::IsSpent() can also mean never existed * Merge #21481: doc: Tell howto install clang-format on Debian/Ubuntu * Merge #21263: doc: Clarify that squashing should happen before review * Merge #20986: docs: update developer notes to discourage very long lines * Merge #19050: doc: Add warning for rest interface limitation * Merge #19968: doc: clarify CRollingBloomFilter size estimate * Merge #20405: p2p: avoid calculating onion address checksum when version is not 3 * Merge #20378: wallet: fix potential division by 0 in WalletLogPrintf * Merge #20298: macOS deploy: use the new plistlib API * Merge #20101: rpc: change no wallet loaded message to be clearer * Merge #19870: doc: update PyZMQ install instructions, fix zmq_sub.py file permissions * Merge #19890: refactor: remove unused header in protocol.cpp * Merge #19887: test: Fix flaky wallet_basic test * Merge #19728: Increase the ip address relay branching factor for unreachable networks * Merge #19852: refactor: Avoid duplicate map lookup in ScriptToAsmStr * Merge bitcoin-core/gui#39: Add visual accenting for the \'Create new receiving address\' button * Merge #19797: net: Remove old check for 3-byte shifted IP addresses from pre-0.2.9 nodes * Merge #19758: Drop deprecated and unused GUARDED_VAR and PT_GUARDED_VAR annotations * Merge #19822: chain: Fix CChain comparison UB by removing it (it was unused) * Merge bitcoin-core/gui#40: Clarify block height label * Merge #17396: build: modest Android improvements * Merge #19722: test: Add test for getblockheader verboseness * Merge #17563: lib: fix a compiler warning: unused GetDevURandom() * Merge #19654: lint: Don\'t use TRAVIS_COMMIT_RANGE in commit message linter * Merge #19639: doc: Remove Reference Links #19582 * Merge #19439: script: Linter to check commit message formatting * Merge #19565: build: call AC_PATH_TOOL for dsymutil in macOS cross-compile * Merge #18984: Remove unnecessary input blockfile SetPos * Merge #19283: refactor: Remove unused BlockAssembler::pblock member var * Merge #18993: qt: increase console command max length * Merge #19468: refactor: Drop unused CDBWrapper methods * Merge #19454: tools: `.clang-format` compat with clang versions < 9 * Merge bitcoin-core/gui#17: doc: Remove outdated comment in TransactionTablePriv * Merge #11911: Free BerkeleyEnvironment instances when not in use * Merge bitcoin/bitcoin#19033: http: Release work queue after event base finish * Merge bitcoin/bitcoin#21231: Add /opt/homebrew to path to look for boost libraries * Merge bitcoin/bitcoin#22103: test: Fix IPv6 check on BSD systems * Merge bitcoin/bitcoin#22078: Add src/qt/android/.gitignore * Merge bitcoin/bitcoin#21173: util: faster HexStr => 13% faster blockToJSON * Merge bitcoin/bitcoin#21911: build: add configure~ to .gitignore * Merge bitcoin/bitcoin#21895: refactor: Add TSA annotations to the WorkQueue class members * Merge bitcoin/bitcoin#21581: streams: Accept URef obj for VectorReader unserialize * Merge bitcoin/bitcoin#21869: depends: Add missing -D_LIBCPP_DEBUG=1 to debug flags * Merge bitcoin/bitcoin#21564: net: Avoid calling getnameinfo when formatting IPv4 addresses in CNetAddr::ToStringIP * Merge #19095: [tools] Update clang-format config for multi-line function declarations and calls * Merge #19301: build: don\'t warn when doxygen isn\'t found * partial merge #17398: Update leveldb to 1.22+ (#4230) * refactor: utilize GetLLMQParams, make it const, consistent naming * Merge #16564: test: Always define the raii_event_tests test suite * Merge #14988: wallet: Fix for confirmed column in csv export for payment to self transactions * Merge #19097: qt: Add missing QPainterPath include * Merge #18700: Fix locking on WSL using flock instead of fcntl * Merge #19073: Remove outdated comment about DER encoding * Merge #19059: gui: update Qt base translations for macOS release * Merge #18999: log: Remove \"No rpcpassword set\" from logs * Merge #18634: ci: Add fuzzbuzz integration configuration file * Merge #18738: build: Suppress -Wdeprecated-copy warnings * Merge #18578: gui: Fix leak in CoinControlDialog::updateView * Merge #18866: test: Fix verack race to avoid intermittent test failures * Merge #18535: build: remove -Qunused-arguments workaround for clang + ccache * Merge #18443: lockedpool: avoid sensitive data in core files (FreeBSD) * Merge #17746: refactor: rpc: Remove vector copy from listtransactions * Merge #18101: qt: Fix deprecated QCharRef usage * Merge #18091: Qt: pass clientmodel changes from walletframe to walletviews * Merge #18010: test: rename test suite name \"tx_validationcache_tests\" to match filename * Merge #17998: gui: Shortcut to close ModalOverlay * Merge #17980: test: add missing #include to fix compiler errors * Merge #17906: gui: Set CConnman byte counters earlier to avoid uninitialized reads * Merge #17893: qa: Fix double-negative arg test * Merge #17869: refactor: Remove unused defines in qt/bitcoinunits.h * Merge #17758: Fix CNetAddr::IsRFC2544 comment + tests * Merge #17654: Unbreak build with Boost 1.72.0 * Merge #17275: pubkey: Assert CPubKey\'s ECCVerifyHandle precondition * Merge #17555: test: add unit test for non-standard txs with wrong nVersion * Merge #17641: Add unit test for leveldb creation with unicode path * Merge #17606: qt, refactor: Use proper classes for Ui:: * * Merge #17532: test: add functional test for non-standard txs with too large scriptSig * Merge #14356: fix converttopsbt permitsigdata arg, add basic test * trivial: follow-up from 4186 review, add new-line at end of file (#4248) * Dashification * Merge #18577: doc: Correct scripted-diff example link * Merge #18513: doc: fix git add argument * Merge #18379: doc: Comment fix merkle.cpp * Merge #18283: doc: Explain rebase policy in CONTRIBUTING.md * Merge #17159: doc: Add a note about backporting * Merge #17431: Remove unnecessary forward declaration * Merge #17393: doc: Added regtest config for linearize script * Merge #18059: build: add missing attributes to Win installer * Merge #17336: scripts: search for first block file for linearize-data with some block files pruned * Merge #17817: build: Add default configure cache file to .gitignore * Merge #17751: doc: use recommended shebang approach in documentation code block * Merge #17769: build: set AC_PREREQ to 2.69 * Merge #17764: doc: Add formatting to the good first issue template * Merge #17360: gui: Improve \"Hide\" button tool-tip message * Merge #17545: build: remove libanl.so.1 from ALLOWED_LIBRARIES * Merge #12196: Add scantxoutset RPC method * Merge #18785: Prevent valgrind false positive in rest_blockhash_by_height * Merge #18558: build: Fix boost detection for arch armv7l * Merge #18383: refactor: Check for overflow when calculating sum of tx outputs * Merge #18433: serialization: prevent int overflow for big Coin::nHeight * Merge #18412: script: fix SCRIPT_ERR_SIG_PUSHONLY error string * Merge #15600: lockedpool: When possible, use madvise to avoid including sensitive information in core dumps * Merge #18350: test: Fix mining to an invalid target + ensure that a new block has the correct hash internally * Merge #18357: Fix missing header in sync.h * Merge #18290: build: Set minimum Automake version to 1.13 * Merge #18285: test: Check that wait_until returns if time point is in the past * Merge #18168: httpserver: use own HTTP status codes * Merge #18183: test: Set catch_system_errors=no on boost unit tests * Merge #18172: test: Transaction expiry from mempool * Merge #17328: GuessVerificationProgress: cap the ratio to 1 * Merge #18621: script: Disallow silent bool -> CScript conversion * Merge #18056: ci: Check for submodules * Merge #17948: build: pass -fno-ident in Windows gitian descriptor * Merge #17928: depends: Consistent use of package variable * Merge #18957: Add a link from ZMQ doc to ZMQ example in contrib/ * Merge #18854: doc: Fix typo in Coin doxygen comment * Merge #18810: doc: update rest info on block size and json * Merge #17663: build: pass -dead_strip_dylibs to ld on macOS * Merge #17547: build: Fix configure report about qr * Merge #17411: doc: Add some better examples for scripted diff * Merge #17339: doc: Add template for good first issues * Merge #17293: Add assertion to randrange that input is not 0 * Merge #17254: test: fix script_p2sh_tests OP_PUSHBACK2/4 missing * Merge #17329: linter: Strip trailing / in path for git-subtree-check * dashification * Merge #17302: cli: Add \"headers\" and \"verificationprogress\" to -getinfo * Merge #16986: doc: Doxygen-friendly CuckooCache comments * Merge #17226: gui: Fix payAmount tooltip in SendCoinsEntry * Merge #17206: test: Add testcase to simulate bitcoin schema in leveldb * Merge #17180: gui: Improved tooltip for send amount field * Merge #17157: doc: Added instructions for how to add an upsteam to forked repo * Merge #17186: gui: Add placeholder text to the sign message field * Merge #17162: chain: Remove CBlockIndex::SetNull helper * Merge #17131: rpc: fix -rpcclienttimeout 0 option * Merge #17125: gui: Add toolTip and placeholderText to sign message fields * Merge #17033: Disable _FORTIFY_SOURCE when enable-debug * Merge #17085: init: Change fallback locale to C.UTF-8 * Merge #17087: build: Add variable printing target to Makefiles * Merge #17066: build: Remove workaround for ancient libtool * Merge #17030: test: Fix Python Docstring to include all Args. * Merge #17031: gui: Prevent processing duplicate payment requests * Merge #16964: gui: Change sendcoins dialogue Yes to Send * Merge #16952: gui: make sure to update the UI when deleting a transaction * Merge #16931: test: add unittests for CheckProofOfWork * Merge #16971: qt: Change default size of intro frame * Merge #16962: doc: Put PR template in comments * Merge #16957: 9% less memory: make SaltedOutpointHasher noexcept * Merge #16577: util: CBufferedFile fixes and unit test * Add more compile time checking for cs_main runtime locking assertions * Initialize nBytes in CreateTransaction * Initialize firstNodeId * Remove duplicates/add checks where needed for cs_main/cs_wallet * Fix mempool locks * Fix locks in CMasternodeSync * Fix CConnman related locks * Check for locks in more places in CSigSharesManager * Hold the right lock in AskNodesForLockedTx * Drop external protection of pending messages in CDKGSessionHandler * Fix locks in CDKGSession * Fix locks in EnforceBestChainLock() * Hold locks in CHDChain::swap() * Remove duplicate rescanblockchain declaration * Remove/fix unused variables * ci: Add `--enable-werror` to arm and c++17 builds * tests: adapt PSBT RPC tests for Dash testnet * tests: Swap some valid/invalid test cases * trivial: replace references of bitcoin with dash * core: remove all leftover references to segwit/rbf * Merge #13723: PSBT key path cleanups * Merge #13666: Always create signatures with Low R values * Merge #13721: Bugfixes for BIP 174 combining and deserialization * Merge #13557: BIP 174 PSBT Serializations and RPCs * Update CONTRIBUTING.md * Merge #13877: utils: Make fs::path::string() always return utf-8 string on Windows * Merge #13734: gui: Drop boost::scoped_array and use wchar_t API explicitly on Windows * Merge #16870: build: update boost macros to latest upstream for improved error reporting * Merge #16914: doc: Update homebrew instruction for doxygen * Merge #16809: depends: zlib: Move toolchain options to configure * Merge #16879: build: remove redundant sed patching * Merge #16792: Assert that the HRP is lowercase in Bech32::Encode * Merge #16768: test: Make lint-includes.sh work from any directory * Merge #16760: qt: Change uninstall icon on Windows * Merge #14862: doc: Declare BLOCK_VALID_HEADER reserved * Merge #16695: rpc: Add window final block height to getchaintxstats * Merge #16752: doc: Delete stale URL in test README * Merge #16621: doc: add default bitcoin.conf locations * Merge #16461: doc: Tidy up shadowing section * Merge #16370: depends: cleanup package configure flags * Merge #16694: gui: Ensure transaction send error is always visible * Merge #16674: refactor: remove obsolete qt algorithm usage * Merge #16611: build: Remove src/obj directory from repository * dashification * docs: Adjust SECURITY.md * Merge #15305: [validation] Crash if disconnecting a block fails * Merge #16412: net: Make poll in InterruptibleRecv only filter for POLLIN events. * Merge #16422: test: remove redundant setup in addrman_tests * Merge #16405: fix: tor: Call event_base_loopbreak from the event\'s callback * Merge #16374: test: Enable passing wildcard test names to test runner from root * Merge #16390: qa: Add --filter option to test_runner.py * Merge #15282: test: Replace hard-coded hex tx with class in test framework * Merge #16128: Delete error-prone CScript constructor only used with FindAndDelete * Merge #16339: doc: add reduce-memory.md * Merge #16330: docs: Use placeholder instead of key expiration date * Merge #16158: Fix logic of memory_cleanse() on MSVC and clean up docs * Merge #16262: rpc: Allow shutdown while in generateblocks * Merge #16212: addrdb: Avoid eating inodes - remove temporary files created by SerializeFileDB in case of errors * Merge #16188: net: Document what happens to getdata of unknown type * Merge #16256: doc: remove orphaned header in developer notes * Merge #15520: cirrus: Run extended test feature_pruning * Merge #16225: tests: Make coins_tests/updatecoins_simulation_test deterministic * Merge #16217: getrawtransaction: inform about blockhash argument when lookup fails * Merge #16149: doc: Rework section on ACK in CONTRIBUTING.md * Merge #16634: doc: Refer in rpcbind doc to the manpage * Merge #16435: autoconf: Sane `--enable-debug` defaults. * Merge #16589: build: Remove unused src/obj-test folder * Merge #16533: build: disable libxcb extensions * Merge #16573: build: disable building libsecp256k1 benchmarks * Merge #16534: build: add Qt Creator Makefile.am.user to .gitignore * Merge #16448: doc: add note on precedence of options in bitcoin.conf * Merge #16201: devtools: Always use unabbreviated commit IDs in github-merge.py * Merge #16143: tests: Mark unit test blockfilter_index_initial_sync as non-deterministic * Merge #16162: scripts: add key for Michael Ford (fanquake) to trusted keys list * Merge #16130: Don\'t GPG sign intermediate commits with github-merge tool * Merge #16140: docs: create security policy * Merge #16122: gui: Enable console line edit on setClientModel * Merge #16135: gui: Set progressDialog to nullptr * Merge #16056: mempool: remove unused magic number from consistency check * Merge #16113: gui: move coin control \"OK\" to the right hand side of the dialog * Merge #13555: Tests: parameterize adjustment period in versionbits_computeblockversion * Merge #16001: Give WalletModel::UnlockContext move semantics * Merge #12980: Allow quicker shutdowns during LoadBlockIndex() * Merge #15863: scripts and tools: Ensure repos are up-to-date in gitian-build.py * Merge #14214: convert C-style (void) parameter lists to C++ style () * Merge #14227: integer division instead of implicit double conversion * Merge #14206: doc: Document -checklevel levels * Merge #14215: [qa] Use correct python index slices in example test * Merge #14207: doc: `-help-debug` implies `-help` * Fix data races in bls_worker and use ctpl_stl queue. (#4240) * Merge #14184: Scripts and tools: increased timeout downloading * Merge #13419: [tests] Speed up knapsack_solver_test by not recreating wallet 100 times. * Merge #14162: gui: Also log and print messages or questions like bitcoind * Use one global string for \"CoinJoin\" in gui related stuff (#4117) * merge #17052: update copyright_header script to include additional files * merge #16314: Update copyright_header.py script * merge #14785: Fix detection of copyright holders * dashify productivity.md * Merge #15820: docs: Add productivity notes for dummy rebases * Merge #16036: travis: Run all lint scripts even if one fails * Merge #15950: Do not construct out-of-bound pointers in SHA2 code * Merge #15983: build with -fstack-reuse=none * Merge #14364: doc: Clarify -blocksdir usage * Merge #15794: docs: Clarify PR guidelines w/re documentation * Merge #15880: utils and libraries: Replace deprecated Boost Filesystem functions * Merge #14266: refactor: Lift prevector default vals to the member declaration * Merge #15650: Handle the result of posix_fallocate system call * Merge #15887: docs: Align code example style with clang-format * Merge #15772: test: Properly log named args in authproxy * Merge #15446: Improve depends debuggability * Merge #15533: test: .style.yapf: Set column_limit=160 * Merge #15663: crypto: Remove unused AES-128 code * Merge #15603: docs: Add more tips to productivity.md * Merge #15626: Docs: Update ACK description in CONTRIBUTING.md * Merge #15581: depends: Make less assumptions about build env * Merge #15522: Document sizeof(size_t) assumptions and compiler assumptions in assumptions.h * Merge #15580: depends: native_protobuf: avoid system zlib * Merge #15577: Docs: Enable TLS in link to chris.beams.io * Merge #15444: [docs] Additional productivity tips * Merge #15548: build: use full version string in setup.exe * Merge #15549: gitian: Improve error handling * Merge #15479: test: Add .style.yapf * Merge #15338: ci: Build and run tests once on freebsd * Merge #15296: tests: Add script checking for deterministic line coverage in unit tests * bugfix: fix signrawtransaction when multiple wallets are loaded (#4237) * wallet: Avoid generating an actual wallet key for the dummy one in CTransactionBuilder ctor (#4233) * Merge #14120: Notes about control port and read access to cookie fb97437 added note that control port must be enabled and how to do that in torrc config file (Jordan Baczuk) * Partial merge #13863: travis: move script sections to files in `.travis/` subject to shellcheck * Merge #13935: contrib: Adjust output to current test format * Merge #14036: travis: Run unit tests --with-sanitizers=undefined * 14448 Dashification * Merge #14930: test: pruning: Check that verifychain can be called when pruned * Merge #13930: doc: Better explain GetAncestor check for m_failed_blocks in AcceptBlockHeader * Merge #14960: lint/format-strings: Correctly exclude escaped percent symbols * Merge #14975: qt: Refactoring with QString::toNSString() * Merge #14931: test: mempool_persist: Verify prioritization is dumped correctly * Merge #14834: validation: assert that pindexPrev is non-null when required * Merge #14940: test: Add test for truncated pushdata script * Merge #14801: qt: Use window() instead of obsolete topLevelWidget() * Merge #14795: test: allows test_runner command line to receive parameters for each test * Merge #14480: refactor: Drop boost::this_thread::interruption_point and boost::thread_interrupted in main thread * Merge #14882: [doc] developer-notes.md: point out that UniValue deviates from upstream * Merge #14869: scripts: Add trusted key for Samuel Dobson * Merge #14838: Use const in COutPoint class * Merge #14848: docs: Fix broken Gmane URL in security-check.py * Merge #13083: Add compile time checking for cs_main runtime locking assertions * Merge #14164: Update univalue subtree * Merge #14153: Docs: Add disable-wallet section to OSX build instructions, update line in Unix instructions * Merge #14149: doc: Remove misleading checkpoints comment in CMainParams * Merge #14100: doc: Change documentation for =0 for non-boolean options * Merge #14128: lint: Make sure we read the command line inputs using utf-8 decoding in python * Merge #13054: tests: Enable automatic detection of undefined names in Python tests scripts. Remove wildcard imports. * Merge #10704: [tests] nits in dbcrash.py * Merge #13918: rpc: Replace median fee rate with feerate percentiles in getblockstats * wallet|cj|tests: Adjust Dash-specific code to create signatures with Low R too * Merge #13666: Always create signatures with Low R values * Merge #13808: wallet: shuffle coins before grouping, where warranted * Merge #13944: test: Port usage of deprecated optparse module to argparse module * Merge #13867: qa: Make extended tests pass on native Windows * Merge #13915: [qa] Add test for max number of entries in locator * Merge #13669: Tests: Cleanup create_transaction implementations * Merge #13916: qa: wait_for_verack by default * Merge #13812: wallet: sum ancestors rather than taking max in output groups * Merge #13528: qt: Move BitcoinGUI initializers to class, fix initializer order warning * Merge #13264: [qt] Satoshi unit * Merge #11491: [gui] Add proxy icon in statusbar * Merge #13158: [Qt]: Improve sendcoinsdialog readability * bench: adapt bls_dkg tests to nanobench * merge #18011: Replace current benchmarking framework with nanobench * 14011 dashification * fix 14450 * Merge #14619: tests: Fix value display name in test_runner help text * Merge #14664: example_test.py: fixup coinbase height argument, derive number clearly * Merge #14632: Tests: Fix a comment * Merge #14618: rpc: Make HTTP RPC debug logging more informative * Merge #14625: Make clear function argument case in dev notes * Merge #14592: doc: Add external interface consistency guarantees * Merge #14600: docs: Clarify commit message guidelines * Merge #14453: rpc: Fix wallet unload during walletpassphrase timeout * Merge #12842: Prevent concurrent savemempool * Merge #14497: docs: Add doc/bitcoin-conf.md * Merge #14011: Disable wallet and address book Qt tests on macOS minimal platform * Merge #14474: bitcoin-tx: Use constant for n pubkeys check * Merge #13159: Don\'t close old debug log file handle prematurely when trying to re-open (on SIGHUP) * Merge #14101: qa: Use named args in validation acceptance tests * Merge #13724: [contrib] Support ARM and RISC-V symbol check * Merge #13126: util: Add Clang thread safety annotations for variables guarded by cs_args * Merge #14103: docs: Fix broken Doxygen comments * Merge #14097: validation: Log FormatStateMessage on ConnectBlock error in ConnectTip * Merge #13631: Add CMerkleTx::IsImmatureCoinBase method * Merge #13967: [walletdb] don\'t report minversion wallet entry as unknown * Merge #13985: [trivial] Fix slightly confusing mispelling in feature_blocksdir.py log message * Merge #13891: [RPC] Remove getinfo deprecation warning * Merge #13982: refactor: use fs:: over boost::filesystem:: * Merge #13667: wallet: Fix backupwallet for multiwallets * Merge #13872: [docs] Reformat -help output for help2man * Merge #13911: doc: Revert translated string change, clarify wallet log messages * Merge #12992: [wallet] Add wallet name to log messages * Merge #13859: qa: Add emojis to test_runner path and wallet filename * Merge #13255: trivial: Fixed typos and cleaned up language * Merge #13837: qa: Extract rpc_timewait as test param * Merge #13805: [wallet] Correctly limit output group size * Merge #13822: bench: Make CoinSelection output groups pass eligibility filter * Merge #13799: Ignore unknown config file options; warn instead of error * Merge #13554: Remove unused function arguments * Merge #13774: Return void instead of bool for functions that cannot fail * Merge #13658: [moveonly] Extract RescanWallet to handle a simple rescan * Merge #13747: tests: Skip P2PConnection\'s is_closing() check when not available * Merge #13733: Utils: Refactor ArgsManager a little * Merge #13725: Fix bitcoin-cli --version * Merge #13482: Remove boost::program_options dependency * Merge #9662: Add createwallet \"disableprivatekeys\" option: a sane mode for watchonly-wallets * Merge #13715: tests: fixes mininode\'s P2PConnection sending messages on closing transport * Merge #13655: bitcoinconsensus: invalid flags error should be set to bitcoinconsensus_err * Merge #13651: [moveonly] Extract CWallet::MarkInputsDirty, and privatize AddToWalletIfInvolvingMe * leftovers of bitcoin#13622: Remove mapRequest tracking that just effects Qt display. * Merge #13517: qa: Remove need to handle the network thread in tests * Merge #14448: doc: Clarify rpcwallet flag url change * Merge #14731: doc: Improve scripted-diff developer docs * Merge #14698: build: Add bitcoin-tx.exe into Windows installer * Merge #14714: util.h: explicitly include required QString header * Merge #14651: Refactor: Fix compiler warning in prevector.h * Merge #14513: Avoid 1 << 31 (UB) in calculation of SEQUENCE_LOCKTIME_DISABLE_FLAG * Merge #14510: Avoid triggering undefined behaviour in base_uint::bits() * Merge #14450: qt: Fix QCompleter popup regression * Merge #14217: doc: Add GitHub pr template * Merge #14244: amount: Move CAmount CENT to unit test header * Merge #14281: lcov: filter /usr/lib/ from coverage reports * Merge #14213: Docs: Fix reference to lint-locale-dependence.sh * Merge #13310: Report progress in ReplayBlocks while rolling forward * Merge #13888: Call unicode API on Windows * Merge #14195: Pass privkey export DER compression flag correctly * Merge #14204: build: Move interfaces/ * to libbitcoin_server * Merge #13886: utils: run commands using utf-8 string on Windows * Merge #9332: Let wallet importmulti RPC accept labels for standard scriptPubKeys * Merge #14127: build: avoid getifaddrs when unavailable * Merge #14138: wallet: Set encrypted_batch to nullptr after delete. Avoid double free in the case of NDEBUG. * Merge #14183: depends: Remove unused Qt 4 dependencies * Merge #14057: [Logging] Only log \"Using config file PATH_TO_bitcoin.conf\" message on startup if conf file exists * Merge #13235: Break circular dependency: init -> * -> init by extracting shutdown.h * Merge #14085: index: Fix for indexers skipping genesis block. * Merge #13243: Make reusable base class for auxiliary indices * fix rpc_help.py * fix macos compilation by including an extern to cs_main * prevent clean / accidental merging of bitcoin#13782 * Merge #14129: Trivial: update clang thread-safety docs url * Merge #14135: doc: correct GetDifficulty doc after #13288 * Merge #10605: Add AssertLockHeld assertions in CWallet::ListCoins * Merge #14088: tests: Don\'t assert(...) with side effects * Merge #14037: Add README.md to linux release tarballs * Merge #14020: Add tests for RPC help * Merge #14028: Explicitly initialize prevector _union * Merge #14051: [Tests] Make combine_logs.py handle multi-line logs * Merge #14030: Remove ambiguity in construction of prevector * Merge #14031: Make IS_TRIVIALLY_CONSTRUCTIBLE consistent on GCC < 5, don\'t patch clang * Merge #14071: qa: Stop txindex thread before calling destructor * Merge #14069: qa: Use assert not BOOST_CHECK_ * from multithreaded tests * Merge #14063: Move cs_main locking annotations from .cpp to .h * Merge #14006: Add const modifier to HTTPRequest methods * Merge #13974: [trivial] Fix typo in CDiskBlockPos struct\'s ToString * Merge #13963: tests: Replace usage of tostring() with tobytes() * Make the coinjoin input warning less scary (#3728) * ISDB avoid processing the same fully confirmed block in DB multiple times (#4193) * Update test/functional/wallet_basic.py * Merge #13948: trivial: Removes unsed `CBloomFilter` constructor. * Merge #13953: fix deprecation in bitcoin-util-test.py * Merge #13905: docs: fixed bitcoin-cli -help output for help2man * Merge #13939: lint: Make format string linter understand basic template parameter syntax * Merge #13913: qa: Remove redundant checkmempool/checkblockindex extra_args * Merge #13843: [trivial] Add doxygen-compatible comments to CAffectedKeysVisitor * Merge #13803: doc: add note to contributor docs about warranted PR\'s * Merge #13773: wallet: Fix accidental use of the comma operator * Merge #13961: util: Replace boost::signals2 with std::function * Merge #13634: ui: Compile boost::signals2 only once * Merge #13534: Don\'t assert(foo()) where foo() has side effects * Merge #14569: tests: Print dots by default in functional tests * Merge #14504: show the progress of functional test example (added the progress index `n/m`) ``` 1/107 - wallet_hd.py passed, Duration: 27 s ......................................................................................... 2/107 - mining_getblocktemplate_longpoll.py passed, Duration: 72 s .................................................................. 3/107 - feature_maxuploadtarget.py passed, Duration: 78 s ``` * Merge #14460: tests: Improve \'CAmount\' tests * Merge #14287: tests: Use MakeUnique to construct objects owned by unique_ptrs * Merge #15243: [doc] add notes on release notes * Merge #15244: gdb attaching to process during tests has non-sudo solution * Merge #15299: Fix assertion in CKey::SignCompact * Merge #15203: Fix issue #9683 \"gui, wallet: random abort (segmentation fault) * Merge #15327: tests: Make test updatecoins_simulation_test deterministic * Merge #15380: trivial: correct parameter name in comments * Merge #15353: docs: Minor textual improvements in translation_strings_policy.md * Merge #14543: [QA] minor p2p_sendheaders fix of height in coinbase * Merge #15378: tests: Added missing tests for RPC wallet errors * Merge #15285: build: Prefer Python 3.4 even if newer versions are present on the system * Merge #15391: Add compile time verification of assumptions we\'re currently making implicitly/tacitly * Merge #15348: doc: Add separate productivity notes document * Merge #13682: bench: Remove unused variable * Merge #13138: [tests] Remove accounts from wallet_importprunedfunds.py * Merge #12944: [wallet] ScanforWalletTransactions should mark input txns as dirty * Merge #13586: refactor: add benchmarks to bech32::Encode/Decode * Merge #13350: [tests] Add logging to provide anchor points when debugging p2p_sendheaders * Merge #12852: [doc] devtools: Setup ots git integration * Merge #12460: Assert CPubKey::ValidLength to the pubkey\'s header-relevant size * Dashification * Merge #15258: Scripts and tools: Fix devtools/copyright_header.py to always honor exclusions * Merge #15249: Docs: Update python docs to reflect that wildcard imports are disallowed * Merge #15233: Prevent mutex lock fail even if --enable-debug * Merge #14353: REST: add blockhash call, fetch blockhash by height * Merge #15177: rest: Improve tests and documention of /headers and /block * Merge #15178: qt: Improve \"help-console\" message * Merge #15175: build: Drop macports support * Merge #15185: docs: Spelling error fix on fuzzing.md * Merge #14839: [rebase] threads: fix unitialized members in sched_param * Merge #14409: utils and libraries: Make \'blocksdir\' always net specific * Merge #15170: refactor/lint: Add ignored shellcheck suggestions to an array * Merge #15173: [doc] explain what .python-version does * Merge #15164: qa: Ignore shellcheck warning SC2236 * Merge #15047: build: Allow to configure --with-sanitizers=fuzzer * Merge #15127: docs: Clarifying testing instructions * Merge #14517: qt: Fix start with the `-min` option * Merge #15051: Tests: IsReachable is the inverse of IsLimited (DRY). Includes unit tests * Merge #15117: Fix invalid memory write in case of failing mmap(...) in PosixLockedPageAllocator::AllocateLocked * Merge #15124: Fail AppInitMain if either disk space check fails * Merge #15099: tests: Use std::vector API for construction of test data * Merge #13910: Log progress while verifying blocks at level 4 * Merge #14832: docs: Add more Doxygen information to Developer Notes * Merge #15007: qt: Notificator class refactoring * Merge #13884: depends: Enable bdb unicode support for Windows * Merge #14375: qt: Correct misleading \"overridden options\" label * Merge #14790: Tests: Allow running rpc_bind.py --nonloopback test without IPv6 * Merge #13425: Moving final scriptSig construction from CombineSignatures to ProduceSignature (PSBT signer logic) * Merge #13491: Improve handling of INVALID in IsMine * Merge #13563: bench: Simplify CoinSelection * Merge #13443: Removed unused == operator from CMutableTransaction. * Merge #13457: tests: Drop variadic macro * Merge #13445: build: Reset default -g -O2 flags when enable debug * Merge #13294: Fix compiler warnings emitted when compiling under stock OpenBSD 6.3 * Merge #13421: qa: Remove portseed_offset from test runner * Merge #13374: utils and libraries: checking for bitcoin address in translations * Merge #13396: Drop unused arith_uint256 ! operator * Merge #13404: [tests] speed up of tx_validationcache_tests by reusing of CTransaction. * Merge #13394: cli: Ignore libevent warnings * Merge #13367: qa: Increase includeconf test coverage * Merge #13269: refactoring: Drop UpdateTransaction in favor of UpdateInput * Merge #13366: Docs: Rename “OS X” to the newer “macOS” convention * Merge #13383: bench: Use non-throwing ParseDouble(...) instead of throwing boost::lexical_cast(...) * Merge #13353: qa: Fixup setting of PATH env var * Merge #13355: Fix \"gmake check\" under OpenBSD 6.3 (probably *BSD): Avoid using GNU grep specific regexp handling * Merge #13309: Directly operate with CMutableTransaction in SignSignature * Merge #13441: Prevent shared conf files from failing with different available options in different binaries * Merge #13349: bench: Don\'t return a bool from main * Merge #13112: Throw an error for unknown args * Merge #13252: Wallet: Refactor ReserveKeyFromKeyPool for safety * Merge #13194: Remove template matching and pseudo opcodes * Merge #13142: Separate IsMine from solvability * leftovers of bitcoin#12803 * leftovers of bitcoin#12714 * partial merge bitcoin#11403: Abstract out IsSolvable from Witnessifier * Merge #13011: Cache witness hash in CTransaction * Merge #12924: Fix hdmaster-key / seed-key confusion (scripted diff) * Merge #13197: util: warn about ignored recursive -includeconf calls * More of 12755 (\"no governance validation\" warnings in tests) * Merge #12755: [tests] Better stderr testing * partial bitcoin#21966: Add platform-independent float encoder/decoder * merge bitcoin#17073: PASTE macros to util/macros.h * partial bitcoin#15638: Add several util units * merge bitcoin#14074: Use std::unordered_set instead of set in blockfilter interface * partial bitcoin#16889: Add some general std::vector utility functions * merge bitcoin#20499: Remove obsolete NODISCARD ifdef forest. Use [[nodiscard]] (C++17) * merge bitcoin#14555: Move util files to directory * continued * Dashify netbsd build * Merge #15993: net: Drop support of the insecure miniUPnPc versions * Merge #15654: net: Remove unused unsanitized user agent string CNode::strSubVer * Merge #15651: torcontrol: Use the default/standard network port for Tor hidden services, even if the internal port is set differently * Merge #15597: net: Generate log entry when blocks messages are received unexpectedly * Merge #15558: Don\'t query all DNS seeds at once 6170ec5 Do not query all DNS seed at once (Pieter Wuille) * Merge #15486: [addrman, net] Ensure tried collisions resolve, and allow feeler connections to existing outbound netgroups * refactor: misc refactoring in instantsend, llmq, coinjoin (#4212) * refactor: misc governance refactoring (#4198) * wallet: Fix a warning for non-encrypted HD wallets (#4209) * Merge #12306: Docs: Improvements to UNIX documentation * Merge #14944: doc: update NetBSD build instructions for 8.0 * Merge #12294: [Docs] Create NetBSD build instructions and fix compilation * Merge #15345: net: Correct comparison of addr count * qt|cj: Actually apply/save tx type filter when updating CJ visibility (#4210) * merge #18710: Add local thread pool to CCheckQueue * merge #17342: Clean up nScriptCheckThreads * merge #15849: Thread names in logs and deadlock debug tools * Merge #17086: tests: Fix fs_tests for unknown locales * bitcoin#14209: Replace LogPrint macros with regular functions * bitcoin#13878: Add fstream wrapper to allow to pass unicode filename on Windows * Merge #12257: [wallet] Use destination groups instead of coins in coin select * wallet: Use correct params when signing txes in CreateTransaction (#4207) * refactor: Better CWallet isolation in rpcevo (#4206) * tests: Stop g_txindex properly (#4205) * qt: Avoid accessing PrepareShutdown directly from qt, use Node interface (#4204) * Merge #14225: tests: Reorder tests and move most of extended tests up to normal tests * bitcoin#16710: Enable -Wsuggest-override if available * bitcoin#18843: warn on potentially uninitialized reads * bitcoin#18145: add Wreturn-type to Werror flags * bitcoin#17880: add -Wdate-time to Werror flags * bitcoin#17486: make Travis catch unused variables * bitcoin#13899: Enable -Wredundant-decls (gcc) if available * bitcoin#16424: Treat -Wswitch as error when --enable-werror * bitcoin#13306: split warnings out of CXXFLAGS * bitcoin#18914: Apply override specifier consistently * bitcoin#16805: add timing information to FlushStateToDisk() * bitcoin#17925: Improve UpdateTransactionsFromBlock with Epochs * Merge #14108: tests: Add missing locking annotations and locks (g_cs_orphans) * Merge #13965: tests: Fix extended functional tests fail * Merge #13861: test: Add testing of value_ret for SelectCoinsBnB 3842732 test: Add testing of value_ret for SelectCoinsBnB (Ben Woosley) * bitcoin#14192: Convert fs::filesystem_error messages from local multibyte to utf-8 on Windows * Merge #13707: tests: Add usage note to check-rpc-mappings.py * Merge #14093: tests: Fix accidental trunction from int to bool * partial #15842: Add WITH_LOCK macro: run code while locking a mutex * merge #19249: Add means to handle negative capabilities in thread safety annotations * merge #18635: Replace -Wthread-safety-analysis with -Wthread-safety * merge #16127: more thread safety annotation coverage * merge #16112: Log early messages * refactor: resolve clang tidy warnings in governance (#4194) * Continued refactoring in bls to resolve clang tidy warnings (#4189) * merge #11599: Small locking rename * merge #11640: Make LOCK, LOCK2, TRY_LOCK work with CWaitableCriticalSection * Bump MIN_STANDARD_TX_SIZE to 85 bytes * Merge #13282: trivial: Mark overrides as such. * Merge #13023: Fix some concurrency issues in ActivateBestChain() * Merge #11423: [Policy] Several transaction standardness rules * Merge #13149: Handle unsuccessful fseek(...):s * Merge #13154: Trivial: s/SetBestChain/ChainStateFlushed in comments after #13106 * Merge #13106: Simplify semantics of ChainStateFlushed callback * Merge #13002: Do not treat bare multisig outputs as IsMine unless watched * Partial merge #8499: Add several policy limits and disable uncompressed keys for segwit scripts * refactor: make nType an unsigned integer, resolve undefined behavior (#4184) * instantsend: misc refactorings (#4017) * feat: add tor entrypoint script for use in dashmate (#4182) * merge #19954: Complete the BIP155 implementation and upgrade to TORv3 * merge #19845: add support to (un)serialize as ADDRv2 * Other Dash-specific serializations * Convert bitset serializationis to use formatters * Some missing non-Dash-specifc serializations * partial merge #19032: Serialization improvements: final step * partial merge #19360 / revert 78328c1898e52565d7da2b2815e32c6a3cf98b76 * partial merge #18922: Enhance Join() * partial merge #18317: Serialization improvements step 6 (all except wallet/gui) * partial merge #17229: util: Add TrimString(...). Introduce default pattern, NODISCARD * merge #17721: Don\'t allow Base58 decoding of non-Base58 strings. Add Base58 tests. * partial merge #16670: Add Join helper to join a list of strings * partial merge #9039: `OverrideStream` changes from `Get rid of nType and nVersion` commit * partial merge #9039: `OverrideStream` changes from `Make nType and nVersion private and sometimes const` commit * partial merge #8149: `ser_vector` changes from `[qa] p2p segwit tests` commit * partial merge #8149: import OverrideStream from \"BIP144: Serialization, hashes, relay (sender side)\" * Merge #13254: Remove improper qt/moc_ * cleaning glob from the general Makefile * Merge #12881: Minor optimizations to bech32::Decode(); add tests. * Merge #12963: Fix Clang Static Analyzer warnings * Merge #13005: Make --enable-debug to pick better options * Merge #13188: qa: Remove unused option --srcdir * Merge #10267: New -includeconf argument for including external configuration files * Merge #13163: Make it clear which functions that are intended to be translation unit local * Merge #13165: doc: Mention good first issue list in CONTRIBUTING.md * Merge #12639: Reduce cs_main lock in listunspent * Merge #13148: logging: Fix potential use-after-free in LogPrintStr(...) * Merge #12928: qt: Initialize non-static class members that were previously neither initialized where defined nor in constructor * Merge #13136: [tests] Fix flake8 warnings in several wallet functional tests * Merge #12954: util: Refactor logging code into a global object * Merge #13109: [rpc] nit: fix typo for entry description string * Merge #13031: Fix for utiltime to compile with msvc. * Merge #13033: Build txindex in parallel with validation * depends: Undefine `BLSALLOC_SODIUM` in `bls-dash.mk` (#4176) * 80%+: ar, bg, de, es, fr, it, ja, ko, nl, pl, pt, ro, sk, th, tr, vi, zh_CN, zh_TW (#4169) * rpc: Fix `upgradetohd` help text (#4170) * Merge #14416: Fix OSX dmg issue (10.12 to 10.14) * qt: Add `QFont::Normal` as a supported font weight when no other font weights were found (#4175) * instantsend: Actually relay islock inv when a tx is received later (#4167) * Merge #19687: make EncodeBase{32,64} consume Spans * Merge #19628: change CNetAddr::ip to have flexible size * Merge #12830: [qt] [tests] Clarify address book error messages, add tests * Merge #12909: wallet: Make fee settings to be non-static members * Merge #13047: [trivial] Tidy blocktools.py * Merge #12917: qa: Windows fixups for functional tests * Merge #12856: Tests: Add Metaclass for BitcoinTestFramework * Merge #12860: Add testmempoolaccept to release-notes, Add missing const * Merge #12766: [Tests] Tidy up REST interface functional tests * Merge #12853: qa: Match full plain text by default * Merge #12846: [moveonly] Extract HelpRequested to dry up the help options testing * Merge #14819: Bugfix: test/functional/mempool_accept: Ensure oversize transaction is actually oversize * Merge #11742: rpc: Add testmempoolaccept * Merge #17682: Update tinyformat to upstream * Merge #17280: Change occurences of c_str() used with size() to data() * Merge #13866: Use _wfopen and _wfreopen on Windows * Merge #13862: drop boost::interprocess::file_lock * Partial #14978: Factor out PSBT utilities from RPCs for use in GUI code; related refactoring * Merge #19841: Implement Keccak and SHA3_256 * Partial #19326: Simplify hash.h interface using Spans * Merge #19373: Replace HexStr(o.begin(), o.end()) with HexStr(o) * Partial #19660: Make HexStr take a span * Merge #18023: Fix some asmap issues * Merge #17812: asmap feature refinements and functional tests * Merge #16702: supplying and using asmap to improve IP bucketing * depends: Bump bls-dash to 1.1.0 (#4162) * instantsend: Use `NotifyEntryRemoved` signal instead of calling `CInstantSendManager::TransactionRemovedFromMempool` from `CTxMemPool::removeUnchecked` directly (#4160) * instantsend: Postpone mempool related cleanup fixes until dip0020 activation (#4159) * Merge #16730: Support serialization of std::vector * build: Fix cmake prefix for bls-dash package (#4158) * instantsend: Remove islocks for rejected/removed txes (#4155) * evo: Fix two mempool issues (#4154) * depends: update Qt 5.9 source url (#4153) * contrib|src: Update hard coded seeds (#4152) * increase BLOCK_CHAIN_SIZE marginally (#4150) * qt: Transaltions202105 (#4137) * docs: update bips.md for v0.17 (#4149) * llmq: Drop `quorumHeight` in `CDKGSessionHandler` (#4128) * tests: Use `wait_for_chainlocked_block_all_nodes` in more places (#4139) * build: Bump relic to 3a23142be0a5510a3aa93cd6c76fc59d3fc732a5 (#4144) * instantsend: Partially revert 3987, add more tests for CL vs IS conflicts (#4146) * qt: Fix recent txes list not shoing up initially when CJ is disabled (#4136) * Improve CHDChain (#4125) * Rename bit 6 from \"v17\" to \"dip0020\" (#4142) * llmq: Bump llmq leveldb cache size to 8 MiB (#4133) * qt: Fix some font weight related issues (#4131) * Merge #21662: build: update Boost download URL (#4140) * Merge #13448: Add linter: Make sure we explicitly open all text files using UTF-8 encoding in Python * Merge #13066: Migrate verify-commits script to python, run in travis * evo: Refactor (Add/Update/Remove)MNs to do the job in one go (#4132) * refactor: Drop excessive `std::string` conversions (#4130) * Initialize `nTime *` members of `CMasternodeSync` with `GetTime()` (#4129) * qt: Drop custom migration logic (#4135) * instantsend: Push matching islocks when replying to `merkleblock` inv in `getdata` only when all txes are pushed (#4134) * Make shellcheck 0.7.2 happy * rpc: spend less time in cs_main lock (#4120) * Initialize CMasternodeSync class members instead of calling Reset() in ctor (#4124) * Resolve a number of data races (#4122) * bls|ci: Fix C++17 build, add it to CI (#4055) * rpc: Bail out early when no wallet is available in rpcs that require it, even on `help ` (#4123) * refactor: Add a bunch of GUARDED_BY( *) in llmq code (#4121) * tests: Add more unit tests for bls/bls.cpp (#4118) * rpc|llmq|test: Implement `verifychainlock` (#4119) * Merge #19387: span: update constructors to match c++20 draft spec and add lifetimebound attribute * Partial #18468: Span improvements * Merge #18388: Make VerifyWitnessProgram use a Span stack * Merge #18591: Add C++17 build to Travis * refactoring: governance tidying and include refactoring (#4111) * trivial/refactoring: simple bls refactoring / adjustments (#4114) * Update copyright (#4115) * refactor: remove some validationinterface includes, resolve circular depends (#4116) * trivial/refactoring: include adjustments and typo fixes (#4112) * qt: Initialize mnListCached (#4110) * Merge #18112: Convert blockencodings.h to new serialization framework * Merge #17957: Convert compression.h to new serialization framework * Merge #12752: Move compressor utility functions out of class * Merge #18021: Convert undo.h to new serialization framework * Merge #17896: Convert chain to new serialization * Merge #17850: Convert addrdb/addrman to new serialization * Partial #13697: Support output descriptors in scantxoutset * Merge #13198: [qa] Avoid printing to console during cache creation * Merge #12949: tests: Avoid copies of CTransaction * Merge #13004: Print to console by default when not run with -daemon * Revert dash#679 \"expose fPrintToDebugLog to cmd-line as -printtodebuglog option\" * Merge #12973: Avoid std::locale/imbue madness in DateTimeStrFormat * Merge #12803: Make BaseSignatureCreator a pure interface * Merge #12920: test: Fix sign for expected values * Merge #12854: Add P2P, Network, and Qt categories to the desktop icon * Merge #12926: Run unit tests in parallel * Update docker tags (#4103) * Silence/tweak some log output (#4102) * llmq/rpc: Adjust verify islock, don\'t err when transaction isn\'t known locally (#4106) * Extensive include refactoring (#4095) * bunch of trivial typos / english fixes (#4101) * Minor bls refactoring (#4100) * trivial: misc. trivial refactoring (#4104) * rpc: Tweak getaddressbalance to also show spendable and immature balances (#4098) * Add missing locks after 12694 * qt: Drop a space * qt: Use themed red for the prune settings warning * qt: Move prune settings and its warning down * Merge #13043: [qt] OptionsDialog: add prune setting * Merge #12694: Actually disable BnB when there are preset inputs * Merge #12737: Remove unnecessary NONNEGATIVE_SIGNED * Sun Jun 06 2021 marecAATTdetebe.org- Update to version 0.17.0.3: * doc: Add 0.17.0.3 release notes * Bump to v0.17.0.3 * doc: Archive v0.17.0.2 release notes * feat: add tor entrypoint script for use in dashmate (#4182) * Merge #14416: Fix OSX dmg issue (10.12 to 10.14) (#4177) * depends: Undefine `BLSALLOC_SODIUM` in `bls-dash.mk` (#4176) * qt: Add `QFont::Normal` as a supported font weight when no other font weights were found (#4175) * rpc: Fix `upgradetohd` help text (#4170) * Translations 202105 (add missing) (#4169) * Sat Jun 05 2021 marecAATTdetebe.org- Update to version 0.17.0.2: * doc: Update man page * Bump version to 0.17.0.2 * depends: Bump bls-dash to 1.1.0 (#4162) * Sat Jun 05 2021 marecAATTdetebe.org- Update to version 0.17.0.1: * Update man pages * Bump version to 0.17.0.1 * instantsend: Use `NotifyEntryRemoved` signal instead of calling `CInstantSendManager::TransactionRemovedFromMempool` from `CTxMemPool::removeUnchecked` directly (#4160) * instantsend: Postpone mempool related cleanup fixes until dip0020 activation (#4159) * Sat Jun 05 2021 marecAATTdetebe.org- Update to version 0.17.0.0: * Update CLIENT_VERSION_IS_TRUE in configure.ac (#4148) * doc: Archive v0.16.1.1 release notes, draft v0.17 release notes (#4156) * build: Fix cmake prefix for bls-dash package (#4158) * qt: Transaltions202105 (#4137) * instantsend: Remove islocks for rejected/removed txes (#4155) * evo: Fix two mempool issues (#4154) * depends: update Qt 5.9 source url (#4153) * contrib|src: Update hard coded seeds (#4152) * increase BLOCK_CHAIN_SIZE marginally (#4150) * docs: update bips.md for v0.17 (#4149) * instantsend: Partially revert 3987, add more tests for CL vs IS conflicts (#4146) * build: Bump relic to 3a23142be0a5510a3aa93cd6c76fc59d3fc732a5 (#4144) * Rename bit 6 from \"v17\" to \"dip0020\" (#4142) * Merge #21662: build: update Boost download URL (#4140) * qt: Fix recent txes list not shoing up initially when CJ is disabled (#4136) * qt: Drop custom migration logic (#4135) * instantsend: Push matching islocks when replying to `merkleblock` inv in `getdata` only when all txes are pushed (#4134) * llmq: Bump llmq leveldb cache size to 8 MiB (#4133) * evo: Refactor (Add/Update/Remove)MNs to do the job in one go (#4132) * qt: Fix some font weight related issues (#4131) * rpc: Bail out early when no wallet is available in rpcs that require it, even on `help ` (#4123) * rpc|llmq|test: Implement `verifychainlock` (#4119) * Update copyright (#4115) * llmq/rpc: Adjust verify islock, don\'t err when transaction isn\'t known locally (#4106) * Update docker tags (#4103) * rpc: Tweak getaddressbalance to also show spendable and immature balances (#4098) * qt: Do not use `border-image` (#4093) * qt: Drop unused `scrolbars.css` (#4092) * qt: Remove arrows from combobox dropdowns on linux (#4084) * Bump CI test timeout (#4090) * Update man pages (#4089) * Fix command line help strings (#4088) * Bump chainparams for mainnet and testnet (#4087) * qt: Apply themes globally (#4086) * qt: Fix theme loading (#4085) * depends: Use `1.0.1` of `dashpay/bls-signatures` in `bls-dash.mk` (#4083) * wallet: Don\'t throw in CreateWalletFile (#4079) * llmq: Fix PoSe connection checks (#4058) * Merge #13506: Qt: load wallet in UI after possible init aborts * Merge #13275: Qt: use [default wallet] as name for wallet with no name * Merge #14552: wallet: detecting duplicate wallet by comparing the db filename. * Merge #14350: Add WalletLocation class * Merge #14320: [bugfix] wallet: Fix duplicate fileid detection * Merge #12493: [wallet] Reopen CDBEnv after encryption instead of shutting down * Merge #13111: Add unloadwallet RPC * net: Use Intra-Quorum Relay connections for other messages too (#4021) * Translations 202103 (#4046) * evo: Ensure special tx processing is aligned with UTXOs processing in ConnectBlock and mempool (#4015) * Move `net.h` include from `quorums_ *.h` into `quorums.cpp` (#4075) * Merge #13063: Use shared pointer to retain wallet instance (#4076) * trivial: various include adjustments (#4074) * trivial: Remove unneeded include from quorums_instantsend.cpp (#4073) * llmq: Implement GetAllQuorumMembers cache (#4072) * qt: Delete wallet views when wallets are removed in removeAllWallets (#4070) * llmq: Refactor `EnsureQuorumConnections` (#4071) * test: Use `reset_probe_timeouts` and drop its `sync_all` call (#4063) * rely on stopRequested which is set when ShutdownRequested (#4069) * refactor: Move CCoinJoinClientOptions from coinjoin-client. * (#4066) * llmq: Fix ProcessRecoveredSig bug (#4067) * Use correct Serialization Type in `CBlockHeader::GetHash()` (#4068) * Move `-instantsendnotify` into wallet, drop OptionsCategory::INSTANTSEND (#4062) * rpc|doc: Adjust protx `register prepare/submit` help (#4061) * bls|depends: Upgrade to bls-signatures version 1.0.0 (#4027) * refactor: llmq pretty trivial refactor circular dependancy (#4065) * wallet: Refactor some dash specific code in wallet.cpp (#4064) * rpc: Adjust some `masternode` rpcs (#4060) * trivial|doc: Some trivial housekeeping (#4059) * trivial/wallet: remove unneeded spork include (#4057) * trivial: -llmq-qvvec-sync help description (#4056) * llmq: Verify final commitments in CDKGSession::FinalizeCommitments (#4033) * llmq|rpc|test: Fix previous active set checks in RPC commands (#4048) * llmq: A couple of tweaks/fixes for handling nodeStates in CSigSharesManager (#4054) * Add/fix/tweak translated strings (#4052) * Docker release CI (#4051) * trivial: remove unused struct (#4053) * Avoid accessing ShutdownRequested directly from qt, use Node interface * partial merge #13815: Add [[nodiscard]] to all {Decode,Parse}[...](...) functions returning bool (#4035) * Fix \"Qualifying with unknown namespace/class\" warnings on `make translate` * backport #17068: qt: Always generate `bitcoinstrings.cpp` on `make translate` * partial/logic backport #18544: net: limit BIP37 filter lifespan (active between \'filterload\'..\'filterclear\') (#4043) * Merge #13341: Stop translating command line options * backport bitcoin#13190: Have gArgs handle printing help * trivial: remove double space (#4045) * refactor: move some protocol constants (#4022) * llmq: Move GetAllQuorumMembers into CFinalCommitment::Verify (#4032) * chainlocks: Run CheckActiveState before processing new CLSIG (#4042) * test: Make some tests executable (#4044) * refactor: PrivateSend -> CoinJoin + Move the tab (#4038) * llmq|init|test: Add \"mode\" to -llmq-qvvec-sync parameter (#4030) * llmq: Implement Intra-Quorum Relay connections for qrecsig-s (#4020) * bls: Avoid needless hashing (#4013) * evo: Fix CEvoDB::VerifyBestBlock (#4040) * refactor: Avoid useless evoDB reads in ConnectBlock()/DisconnectBlock() (#4039) * llmq: Drop unused timer in CDKGSession::FinalizeCommitments (#4034) * llmq: Some refactoring in CInstantSendManager::ProcessTx (#4031) * doc: Update macOS build instructions with the fix for broken PATH (#4029) * bugfix: Add missing return in TrySignInputLocks (#4026) * instantsend: Implement Spork 2 Mempool Signing signalling (#4024) * trivial: remove unneeded lock (#4019) * trvial/quorums: Resolve some Clang-Tidy warnings * bench: Tweak BLS benchmarks (#4012) * bls: Some `char[]` -> `std::vector` refactoring in `CBLSWrapper` (#4010) * Rename -recsigsmaxage option to better match other similar options (#3997) * instantsend: optimize db and cache usage (#3986) * llmq: Avoid holding cs_data_requests longer than needed (#4009) * chainlocks: Another attempt to fix deadlocks (#4007) * Make recently added help strings dynamic, add one missing string (#3996) * llmq: Use thread pool for quorum cache and data recovery threads (#4008) * instantsend: Ignore IS while reindexing/loading blocks from file, bail out early when IS is off (#3985) * Merge #16408: depends: Prune X packages * Merge #15978: .gitignore: Don\'t ignore depends patches * gitlab: Typo nowalet -> nowallet (#4004) * Merge #18298: build: Fix Qt processing of configure script for depends with DEBUG=1 * Merge #19689: build: Add Qt version checking * Merge #18297: build: Use pkg-config in BITCOIN_QT_CONFIGURE for all hosts including Windows * Merge #17005: build: Qt version appears only if GUI is being built * wallet: Always skip conflicting txes in SelectCoinsGroupedByAddresses (#4002) * instantsend: Introduce KnownInstantSendLock, optimize ProcessInstantSendLock a bit (#3984) * Merge #20195: build: fix mutex detection when building bdb on macOS * Merge #17231: depends: fix boost mac cross build with clang 9+ * Merge #15461: [depends] update to Boost 1.70 * chainlocks: Relay clsig inv only after bestChainLock(Hash) are assigned (#3990) * qt: Decouple transaction label updates from transaction status updates (#3994) * llmq: Some refactoring in CChainLocksHandler::ProcessNewChainLock (#3976) * llmq: Sleep less in quorum data recovery threads (#3989) * instantsend: Mark blocks as conflicting when there is a CL vs IS conflict (#3987) * instantsend: Refactor various parts (#3983) * qt: Change Node Type to recognize 3 types: Regular, Masternode and Verified Masternode (#3995) * qt: Fix labels in transaction list (#3993) * instantsend|sigs: Sleep when there is no more work (#3988) * docs: cli option help additions (#3981) * tests: Apply `--timeoutscale` option to rpc timeouts (#3982) * Fix some circular dependencies, update EXPECTED_CIRCULAR_DEPENDENCIES to make linter happy * Merge #13924: tests: Simplify comparison in rpc_blockchain.py * Merge #13925: Merge leveldb subtree * Merge #13876: wallet: Catch filesystem_error and raise InitError * Merge #13717: docs: Link to python style guidelines from developer notes * Merge #13786: refactor: Avoid locking tx pool cs thrice * fix * Merge #12634: [refactor] Make TransactionWithinChainLimit more flexible * Merge #13691: Remove redundant variables, statements and forward declarations * Merge #13683: wallet: Introduce assertion to document the assumption that cache and cache_used are always set in tandem * Merge #13695: lint: Add linter for circular dependencies * llmq: Avoid writing commitments to evodb and altering caches when all we want is to check block candidate validity (#3980) * test: Wait for recovered sig in rpc_verifyislock.py (#3975) * tests: fix feature_pruning.py (#3967) * Fix two issues with ResetBlockFailureFlags, add tests (#3965) * llmq|init|test: Implement DKG data recovery / quorum verification vector sync (#3964) * llmq|rpc: Avoid some quorum data related copying (#3974) * governance: Fix signature check in CGovernanceObject::Sign (#3973) * chainlocks: Fix potential deadlock (#3972) * chainlocks: Send an inv for the best ChainLock we have when replying to `mempool` p2p message (#3962) * rpc: Loop through all nodes when looking for one to override mnauth data for (#3971) * llmq|rpc|test|version: Implement P2P messages QGETDATA <-> QDATA (#3953) * refactor: Add (and use) queueAndMaybePushInv helper (#3961) * refactor: misc. governance refactoring (#3958) * tests: Add uacomment in P2PConnection and use it to create (correct network specific) strSubVer (#3969) * llmq: Some fixes/improvements (#3943) * instantsend: Relay IS-locks for matching txes when replying to `merkleblock` inv in `getdata` (#3959) * Flush callbacks one more time at shutdown (#3963) * wallet: Upgrade path for non-HD wallets to HD (#3933) * rpc|test: Introduce \"mnauth\" RPC command to override masternode authentications (#3930) * net|rpc: getpeerinfo - Add verified_pubkey_hash, fix a typo in verified_proregtx_hash docs (#3929) * llmq: Store encrypted DKG contributitons (#3948) * backport bitcoin#16509 and add devnet test (#3946) * spork: Add more constness in CSporkManager and CSporkMessage (#3955) * Use single-threaded scheduler for IS, CL and Governance notifications (#3954) * chainparams|init: Add -llmqinstantsend command line parameter for devnets (#3956) * bls: Modify CBLSIES classes - Introduce individually encrypted objects (#3937) * blockchain: Implement auto-recovery from hardforks (#3926) * spork: implement spork caching (#3942) * docs: fix typo in addmultisigaddress (#3952) * spork: Fix a couple of issues with multikey sporks cleanup, add more tests (#3947) * privatesend: Track mixing rounds via CTxDSIn and not via CTxOut (#3950) * wallet: Detect potential deadlocks in AddToWallet (#3949) * wallet: Update wallet utxo set when new keys are found for already known transactions (#3944) * privatesend: Calculate base size in CTransactionBuilder ctor based on actual scriptPubKey-s (#3938) * Merge #19534: net: save the network type explicitly in CNetAddr * Merge #19351: test: add two edge case tests for CSubNet * Merge #15689: netaddress: Update CNetAddr for ORCHIDv2 * Very partial merge bitcoin#19219 * Fix CService (de)serialization * Simplify PreVerifyInstantSendLock (#3941) * llmq: Some refactoring in CQuorumManger (#3935) * llmq:: Return const reference in GetLLMQParams() and move it out of CLLMQUtils (#3936) * Always mark conflicting blocks with BLOCK_CONFLICT_CHAINLOCK flag (#3924) * Merge #19360: net: improve encapsulation of CNetAddr * test: Check for the actual llmq_test session, not just for any (#3934) * test/refactor: Fix typo, remove_mastermode -> remove_masternode (#3931) * refactor: Rename fMasternode and fMasternodeProbe (#3928) * qt: Add masternode info to peer page (#3927) * llmq|rpc|test: Add optional \"submit\" parameter to \"quorum sign\" (#3917) * Partial merge bitcoin#14624: Some simple improvements to the RNG code (#3923) * Do not store hashes in ProcessPendingMessageBatch and do not pass them to ReceiveMessage-s (#3921) * rpc|test: Improve platform restrictions, add new commands to the whitelist (#3918) * Consensus: DIP-0020: Dash opcode updates. Remaining dip0020 opcodes (#3893) * Adjust version formatting and add formatted version to rpc (#3908) * llmq|rpc|test: Fix \"quorumHash\" parameter of \"quorum sign\" (#3914) * rpc: Introduce `verifyislock` (#3906) * rpc: Add runtime error for Generate commands when the build compiles without mining support (#3922) * refactor: Drop some unused code (#3919) * spork: Introduce SPORK_23_QUORUM_POSE (#3907) * rpc: Introduce `quorum verify` (#3904) * tests: fix random feature_dip4_coinbasemerkleroots.py failures (#3916) * A couple of fixes for stats (#3920) * tests: Test all rpc commands in rpc_platform_filter.py (#3913) * Fix quorum selection for low heights (#3912) * llmq: Improve/Fix GetVerifiedContributions (#3911) * Merge #14242: Avoid triggering undefined behaviour (std::memset(nullptr, 0, 0)) if an invalid string is passed to DecodeSecret(...) * Merge #11630: Simplify Base32 and Base64 conversions * Merge #11372: Address encoding cleanup * Partial merge bitcoin#11167: Full BIP173 (Bech32) support * Use build badges provided by Gitlab (#3915) * Extend activation timeout for all past bits (#3905) * Implement kqueue support (#3892) * Fix thread names to fit into 15 symbols (#3897) * Fix versionbits cache usage in IsQuorumTypeEnabled (#3901) * Do not shadow sigSharesToAnnounce (#3902) * trivial: Fix release-notes-0.16.0.1 file extension (#3900) * Harden DIP0008 activation (#3889) * bls: Directly assign some aggregation results (#3899) * Fix CDKGSessionHandler thread names (#3896) * Fix WakeSelect() (#3895) * Revert \"Merge bitcoin#13782: Fix osslsigncode compile issue in gitian-build\" * rpc: remove duplicated type field from gobject list-prepared (#3881) * rpc: `masternode winners` results should also include operator addresses (#3862) * Merge #14441: [wallet] Backport(0.17): Restore ability to list incoming transactions by label * rpc: Use fAddLocked of CWallet::GetBalance in getbalance rpc command * wallet: Add fAddLocked to CWallet::GetBalance() * Merge #13566: Fix get balance * Merge #13498: [wallet] Fixups from account API deprecation * Merge #13130: [tests] Fix race in rpc_deprecated.py * Merge bitcoin#13060: [wallet] [rpc] Remove getlabeladdress RPC * Merge bitcoin#13075: [tests] Remove \'account\' API from wallet functional tests * Merge bitcoin#12953: Deprecate accounts * Merge bitcoin#12892 - [wallet] [rpc] introduce \'label\' API for wallet * Merge bitcoin#11536: Rename account to label where appropriate * Enable poll on FreeBSD (#3890) * core: add dash-config.h only if macro is defined (#3888) * governance: Make sure proposals and triggers have valid types (#3883) * Redo \"Drop redundant CPartialMerkleTree and CMerkleBlock\" correctly * dashify * More of 13510 * bench: bench_bitcoin -> bench_dash * More of bitcoin#13645 in interface_zmq_dash.py * test: Fix test data in bitcoin-util-test.json * Merge #13657: wallet: assert to ensure accuracy of CMerkleTx::GetBlocksToMaturity * Merge #13823: qa: quote path in authproxy for external multiwallets * attempt to fix test failure * Merge #13603: bitcoin-tx: Stricter check for valid integers * Merge #13663: tests: Avoid read/write to default datadir * Merge #13630: Drop unused pindexRet arg to CMerkleTx::GetDepthInMainChain * Merge #13645: [tests] skip rpc_zmq functional test as necessary * Merge #13627: Free keystore.h from file scope level type aliases * Merge #13145: Use common getPath method to create temp directory in tests. * Merge #13452: rpc: have verifytxoutproof check the number of txns in proof structure * Merge #13510: Scripts and tools: Obsolete #!/bin/bash shebang * Merge #13439: rpc: Avoid \"duplicate\" return value for invalid submitblock * rpc: Fix \"submit\" param parsing in `protx register(_fund)` (#3885) * Backport bitcoin#10637 (partial) (#3878) * depends|qt: Fix build on Mojave (10.14.6) * Revert \"Don\'t set PKG_CONFIG_SYSROOT_DIR env variable to build Qt.\" * Merge #14348: depends: fix bitcoin-qt back-compat with older freetype versions at runtime * Merge #14005: [0.17] depends: fix qt determinism * Merge #13617: release: require macOS 10.10+ * Merge #13732: Depends: Fix Qt\'s rcc determinism * Merge #12971: depends: Upgrade Qt to 5.9.6 * backport: bitcoin#10583 - [RPC] Split part of validateaddress into getaddressinfo (#3880) * Merge #9753: Add static_assert to prevent VARINT() * Merge #12916: Introduce BigEndian wrapper and use it for netaddress ports * Merge #12886: Introduce Span type and use it instead of FLATDATA * Merge #12683: Fix more constness violations in serialization code * rpc: fix help for gobject_list_prepared (#3879) * More of 13506 * Merge #12923: util: Pass pthread_self() to pthread_setschedparam instead of 0 * More of 12076 * More of 12747: fix typos * More of 12567: Add missing datetime format changes to `LogTimestampStr` * More of 12240: Add missing ` (DEPRECATED)` strings * Merge #13512: [qa] mininode: Expose connection state through is_connected * Merge #13506: Qt: load wallet in UI after possible init aborts * use CWallet * * drop platformStyle * Merge #13058: [wallet] `createwallet` RPC - create new wallet at runtime * Merge #13273: Qt/Bugfix: fix handling default wallet with no name * Merge #13097: ui: Support wallets loaded dynamically * Merge #12845: Trivial: Add logging line in init.cpp that was accidentally removed with #10762 * Merge #12618: Set SCHED_BATCH priority on the loadblk thread. * Merge #12849: Tests: Add logging in loops in p2p_sendhears.py * Merge #12787: rpc: Adjust ifdef to avoid unreachable code * Merge #11881: Remove Python2 support * Merge #12779: Qt: Remove unused method setupAmountWidget(...) * Merge #12076: qa: Use node.datadir instead of tmpdir in test framework * Merge #12704: base58: use map instead of strchr() when decode * Merge #12747: Fix typos * Merge #12746: tests: Remove unused argument max_invalid from check_estimates(...) * Merge #12723: Qt5: Warning users about invalid-BIP21 URI bitcoin:// * Merge #12252: Require all tests to follow naming convention * Merge #12567: util: Print timestamp strings in logs using ISO 8601 formatting * Merge #12240: [rpc] Introduced a new `fees` structure that aggregates all sub-field fee types denominated in BTC * drop include univalue, add `class UniValue;` * fix potential deadlocks in rpcwallet.cpp * bitcoind -> dashd * Remove P2WSH reference * signrawtransactionwithwallet in feature_dip0020_activation.py * typo: blockHash -> basBlockHash * Merge #12678: build: Fix a few compilation issues with Clang 7 and -Werror * Merge #12720: qa: Avoiding \'file\' function name from python2 * Merge #12680: Add missing virtual destructor in PeerLogicValidation * Merge #12681: Fix ComputeTimeSmart test failure with -DDEBUG_LOCKORDER * rpc|wallet: More of bitcoin#11041 * quorums: Don\'t shadow islockHash (#3875) * Refactor the hardening of DIP 1 (#3874) * tests: Rework feature_new_quorum_type_activation.py using `-vbparams` (#3873) * Merge bitcoin#11041 Add LookupBlockIndex * Merge #12643: [qa] util: Remove unused sync_chain * Merge #10694: Remove redundant code in MutateTxSign(CMutableTransaction&, const std::string&) * Merge #11900: [script] simplify CheckMinimalPush checks, add safety assert * Merge #11889: Drop extra script variable in ProduceSignature * Merge #12443: qa: Move common args to bitcoin.conf * Merge #12503: [RPC] createmultisig no longer takes addresses * Merge #12494: Declare CMutableTransaction a struct in rawtransaction.h * Fix #10579 * Merge #10579: [RPC] Split signrawtransaction into wallet and non-wallet RPC command * Fix #12436 * Merge #12436: [rpc] Adds a functional test to validate the transaction version number in the RPC output * Backporting Statoshi and bitcoin#16728 (#2515) * init: Fix `-vbparams` parsing (#3872) * rpc: Add `masternode payments` (#3863) * refactor: Use constructors instead of static initialiser in CBLSId (#3869) * refactor: Add/Use byte vector constructor for CBLSWrapper (#3868) * llmq: Restrict `ShouldSimulateError` to trigger for LLMQ_TEST only (#3871) * bls: Refactor CBLSWrapper::SetBuf and CBLSWrapper::GetBuf (#3867) * tests: Enable InstantSend and ChainLocks by default (#3853) * Refactor GetRequiredPaymentsString / `masternode winners` (#3861) * Consensus: DIP-0020: Dash opcode updates - OP_CAT and OP_SPLIT. (#3824) * backport: bitcoin#12128: Refactor: One CBaseChainParams should be enough (#3865) * privatesend: Drop redundant CBLSSignature.IsValid() checks (#3866) * consenus: Implement LLMQ_100_67 quorums (#3844) * qt: Fix default font weight values if selected values aren\'t supported by the font (#3849) * rpc: Fix filtering in `masternode winners` (#3856) * refactor: Add spork helpers in corresponding modules (#3859) * wallet|init: Fix forcing -disablewallet if -masternodeblsprivkey is set (#3858) * interfaces: Add isSpendable wallet interface method that accepts CScript-s (#3857) * scripted-diff: Rename bls benchmarks (#3855) * Use `std::bind` and `std::ref` for Dash-specific scheduler tasks too (#3854) * PrivateSend: Harden SPORK_22_PS_MORE_PARTICIPANTS (#3860) * zmq: Send islock notifications for txes received after their islocks were received (#3852) * qt: Fix the direction of some arrows in light theme (#3851) * tests: Fix a couple of rare mnsync issues (#3847) * IsTxSafeForMining should not fail if ChainLocks are enabled but not enforced (#3846) * bench: Fix Dash-specific benchmark logs in ConnectBlock (#3843) * qt: Lower the number of data samples in TrafficGraphData to make it move much smoother (#3841) * tests: Tweak sporks.py to work with any defaults (#3842) * Bring `--enable-stacktraces` configure option back (#3826) * rpc|governance|test: Store prepared governance objects and implement \"gobject list-prepared\" (#3811) * tests: adjust some comments in interface_zmq_dash.py (#3839) * Fix `Node::getLogCategories()` to work with Dash-specific log categories (#3837) * qt: Use system default fixed pitch font for Console (#3831) * tests: Make sure txes are actually included in blocks we mine in feature_llmq_is_retroactive.py (#3833) * tests: Few trivial tweaks/cleanups (#3834) * tests: Let mine_quorum handle expected connections count based on spork21 state (#3832) * rpc: Add `submit` option to `protx register(_fund)` RPC commands (#3830) * ci: Fix build matrix (#3825) * evo/llmq/spork: Fix various (potential) locking issues (#3829) * rpc: Fix \"help\" rpc (#3835) * Fix a couple of issues with `-rescan` (#3828) * qt: MasternodeList - Introduce column enum and fix column sorting (#3822) * wallet: Add methods to store governance objects (#3810) * test: Implement tests for all dash related ZMQ notifications (#3804) * rpc: implement whitelist for commands needed by Dash Platform (#3738) * Fix a crash when a new devnet is started/joined (#3823) * rpc: Show devnet name in getblockchaininfo (#3821) * tests: Fix `feature_llmq_simplepose.py` and `feature_llmq_signing.py` (#3781) * validation: Drop obsolete RewindBlockIndex declaration (#3813) * rpc: Fix inconsistencies in gobject_prepare and gobject_submit (#3794) * Backport #17249: rpc: Add missing deque include to fix build (#3815) * qt: add shortcuts for tabs in more dialogs (#3764) * zmq|validationinterface|llmq: Implement recovered signature notifications (#3803) * test: Add and use uint256_to_string + improve some hash/string conversions (#3800) * Merge #13082: Tests: don\'t test against min relay fee information in mining_prioritisetransaction.py * Merge #13032: Output values for \"min relay fee not met\" error * Merge #13022: [qa] Attach node index to test_node AssertionError and print messages * Merge #13055: qt: Don\'t log to console by default * Merge #12885: Reduce implementation code inside CScript * Merge #13030: [bugfix] [wallet] Fix zapwallettxes/multiwallet interaction. * Merge #12448: Interrupt block generation on shutdown request * Merge #13052: trivial: Fix relevent typo * Merge #13020: Consistently log CValidationState on call failure * Merge #13039: Add logging and error handling for file syncing * scripted-diff: Rename CChainState::g_failed_blocks to m_failed_blocks (Merge: #13016) * Merge #13026: Fix include comment in src/interfaces/wallet.h * Merge #13025: Dead code removal * Merge #12988: Hold cs_main while calling UpdatedBlockTip() signal * Merge #12977: Refactor g_wallet_init_interface to const reference * Merge #11200: Allow for aborting rescans in the GUI * Merge #12569: net: Increase signal-to-noise ratio in debug.log by adjusting log level when logging failed non-manual connect():s * Implement new hardfork for v17 to be used in future changes (#3808) * fix ToString bug in cbtx.cpp (#3807) * qt: Fix wallet encryption dialog (#3816) * Merge #12950: bitcoin-tx: Flatten for loop over one element * Merge #12888: debug log number of unknown wallet records on load * Merge #12947: Wallet hd functional test speedup and clarification * Merge #12942: rpc: Drop redundant testing of signrawtransaction prevtxs args * test: Fix default value of COutPoint.n to match C++ (#3802) * test: Add and use DashTestFramework.get_recovered_sig (#3801) * governance: Notify main signals in ProcessVote instead ProcessMessage (#3795) * Backport 18894: gui: Fix manual coin control with multiple wallets loaded (#3777) * contrib|src: Update hard coded seeds (#3791) * Fix header wrappers generated by generate-seeds.py (#3793) * test: Rename test suite (#3792) * contrib: Update makeseeds.py (#3790) * fix spacing * Use PYTHONIOENCODING in test_integrationtests.sh to override encoding for combine_logs.py * bump nMinimumChainWork, defaultAssumeValid, checkpointData for mainnet and testnet (#3789) * Refactor/tweak BitcoinGUI (#3763) * Merge #15730: rpc: Show scanning details in getwalletinfo (#3785) * Merge #11617: Avoid lock: Call FlushStateToDisk(...) regardless of fCheckForPruning * Merge #12941: [Trivial] Ignore macOS daemon() depracation warning * Merge #12932: wallet: Remove redundant lambda function arg in handleTransactionChanged * Merge #12770: Use explicit casting in cuckoocache\'s compute_hashes(...) to clarify integer conversion * Merge #12537: [arith_uint256] Make it safe to use \"self\" in operators * Merge #12918: test: Assert on correct variable * Merge #12901: build: Show enabled sanitizers in configure output * Merge #12561: Check for block corruption in ConnectBlock() * Merge #12778: RPC: Add username and ip logging for RPC method requests * Merge #12795: do not truncate .dat extension for wallets in gui * Call EraseObjectRequest as soon as an object is read from the stream (#3783) * Avoid accessing pendingContributionVerifications from VerifyPendingContributions while ReceiveMessage is still doing its job (#3782) * qt: Handle fonts of deleted widgets properly, streamline the flow in `GUIUtil::updateFonts` (#3772) * qt: Fix --disable-wallet build and --disablewallet mode (#3762) * remove additional FLATDATA * Allow partial match for expected strings in feature_ *index.py` tests * Fix feature_txindex.py * Add `-DARENA_DEBUG` flag * additional changes for assert_start_raises_init_error * Merge #16161: util: Fix compilation errors in support/lockedpool.cpp * fix linter * Merge #12284: Remove assigned but never used local variables. Enable Travis checking for unused local variables. * Merge #12780: Reduce variable scopes * Merge #12810: [Tests] Fix a typo at assert_start_raises_init_error() and use specific exception for initialization error * Merge #12762: Make CKeyStore an interface * Merge #12742: Make FastRandomContext support standard C++11 RNG interface * Merge #12630: Provide useful error message if datadir is not writable. * Merge #12048: Use best-fit strategy in Arena, now O(log(n)) instead O(n) * fix 12718 * Merge #12718: [Tests] Require exact match in assert_start_raises_init_eror (jnewbery) * Merge #12740: Add native support for serializing char arrays without FLATDATA * Merge #12172: Bugfix: RPC: savemempool: Don\'t save until LoadMempool() is finished * Merge #12822: Revert 7deba93bdc76616011a9f493cbc203d60084416f and fix expired-key-sigs properly * qt: avoid auto-updating window width when it\'s in full screen or when it\'s maximized (#3771) * qt: Do not show a check-mark for \"Encrypt wallet\" menu item (#3770) * Fix IS-locks sync via `mempool` p2p command (#3766) * Dashify * drop unused import * fix feature_blocksdir.py test * Merge #12692: Add configure options for various -fsanitize flags * Merge #12759: [Docs] Improve formatting of developer notes * Merge #12784: Fix bug in memory usage calculation (unintended integer division) * Merge #12495: Increase LevelDB max_open_files * Merge #12811: test: Make summary row bold-red if any test failed and show failed tests at end of table * Merge #12806: qa: Fix function names in feature_blocksdir * Merge #12714: Introduce interface for signing providers * Merge #12717: [REST] Handle UTXO retrieval when ignoring the mempool * Merge #13775: doc: Remove newlines from error message * Merge #12653: Allow to optional specify the directory for the blocks storage * wallet: Respect chainlocks in CMerkleTx::IsLockedByInstantSend * wallet: Add CL/IS caches in CMerkleTx * Add mempool lock for Create/CommitTransaction in wallet interface * qt|interfaces: Avoid redundant status update calls * scripted-diff: Merge #12906: Avoid `interface` keyword to fix windows gitian build * Partially backport bitcoin#11403 * test: Fix wallet tests * Merge #18123: gui: Fix race in WalletModel::pollBalanceChanged * test: Add boost/signals2/connection.hpp to lint-inlcudes.sh * interface/qt: Remove direct src/privatesend calls * rpc: Do not require a privkey corresponding to ownerAddress in `protx register_ *` to be known by the wallet * build: create mountpoint for named volume (#3765) * interface/qt: Remove direct src/masterode calls * interface/qt: Remove direct src/llmq calls * interface/qt: Remove direct src/evo calls * qt|privatesend: Remove unused wallet inlcudes * qt: Cleanup in OptionsDialog * Add developer notes about blocking GUI code * Use WalletBalances struct in Qt * Remove direct bitcoin calls from qt/sendcoinsdialog.cpp * Remove direct bitcoin access from qt/guiutil.cpp * Remove direct bitcoin calls from qt transaction table files * Remove direct bitcoin calls from qt/paymentserver.cpp * Remove direct bitcoin calls from qt/addresstablemodel.cpp * Remove direct bitcoin calls from qt/coincontroldialog.cpp * Remove most direct bitcoin calls from qt/walletmodel.cpp * update public part of windows code signing certificate (#3749) * depends: Update Qt download url. (#3756) * Remove direct bitcoin calls from qt/optionsdialog.cpp * Remove direct bitcoin calls from qt/rpcconsole.cpp * Remove direct bitcoin calls from qt/bantablemodel.cpp * Remove direct bitcoin calls from qt/peertablemodel.cpp * Remove direct bitcoin calls from qt/intro.cpp * Remove direct bitcoin calls from qt/clientmodel.cpp * Remove direct bitcoin calls from qt/splashscreen.cpp * Remove direct bitcoin calls from qt/utilitydialog.cpp * Remove direct bitcoin calls from qt/bitcoingui.cpp * Remove direct bitcoin calls from qt/optionsmodel.cpp * Remove direct bitcoin calls from qt/bitcoin.cpp * Add src/interface/README.md * qt: Make sure there is a valid theme set in the options (#3755) * qt: More asset cleanup (#3735) * Always harden osx binaries when creating detached sigs (#3752) * contrib: Added thephez.pgp (#3750) * test: Optimize feature_block_reward_reallocation.py (#3743) * qt: Fix font family updates (#3746) * qt: Fix Recent transactions list height (#3744) * qt: Fix font size and scaling issues (#3734) * Translations 2020-09 (#3736) * Bump few things and update man pages for v0.16 (#3737) * qt: Add PrivateSend tab in OptionsDialog, allow to show/hide PS UI (#3717) * Do not try to access new tx in `WalletModel::prepareTransaction` if it wasn\'t really created (#3733) * Handle situations when we have evodb records but no blocks anymore (#3722) * qt: Finetune OverviewPage (#3715) * Fix mempool sync (#3725) * docs: Properly alphabetize output of CLI --help option (backport 12331) (#3681) * qt: Finetune CoinControlDialog + bitcoin#14828 (#3701) * RPC: Update getprivatesendinfo help (#3727) * Fix testnet icon (#3726) * tests: Fix PrivateSend and wallet unit tests after 3680 (#3724) * qt: Finetune TransactionsView (#3710) * qt: Remove unused assets (#3721) * qt: Finetune RPCConsole (#3720) * privatesend: Avoid interacting with keypool in CTransactionBuilder ctor (#3723) * bitcoin#9680: Unify CWalletTx construction (#3680) * rpc: Add chainlock BLS signature to getbestchainlock (#3718) * qt: Hide remaining PrivateSend UI if PrivateSend is not enabled (#3716) * qt: Disable missing macOS focus rects in AddressBookPage (#3711) * qt: Finetune Options Dialog (#3709) * qt: Make sure send confirmation dialog uses correct font settings (#3714) * qt: Use scaled font size for all QToolTip instances (#3708) * qt: Make sure font size in TransactionDescDialog is adjusted properly (#3707) * qt: Tweak few strings (#3706) * qt|wallet: Fix \"Use available balance\" for PrivateSend (#3700) * qt: Finetune ModalOverlay (#3699) * qt: Make sure the statusbar reflects internal states correct (#3698) * Merge #13622: Remove mapRequest tracking that just effects Qt display. (#3694) * Implement dynamic activation thresholds (#3692) * masternode|net|rpc: Improve masternode sync process (#3690) * qt: Improved status bar (#3688) * chainparams: Remove llmq_50_60 from regtest (#3696) * qt: Update assets and colorize them theme related (#3574) * Implement Block Reward Reallocation (#3691) * Fix two potential issues in the way pending islocks are processed (#3678) * masternode|rpc: Remove unused code (#3689) * qt: Ignore GUIUtil::updateFont calls until GUIUtil::loadFonts was called (#3687) * qt: Fix block update signals/slots in BitcoinGUI and SendCoinsDialog (#3685) * test: Implement unit tests for CTransactionBuilder (#3677) * test: Implement unit tests for CWallet::CreateTransaction (#3667) * wallet: Fix and improve CWallet::CreateTransaction (#3668) * privatesend|wallet|qt: Improve calculations in CreateDenominated/MakeCollateralAmounts (#3657) * ci: Add `workflow:rules` to fix Gitlab warnings (#3679) * QT: add last block hash to debug ui (#3672) * docs: Adjust developer-notes.md to use signed ints normally (#3663) * Harden spork6 logic then remove spork6 (#3662) * privatesend: Implement Random Round Mixing (#3661) * change argument name to reflect the fact that it\'s a return value (#3673) * trivial/docs: minor adjustments to PrivateSend help text (#3669) * Merge #13007: test: Fix dangling wallet pointer in vpwallets (#3666) * trivial: clang-tidy changes in privatesend (#3665) * trivial: don\'t mix unsigned int with int (#3664) * trivial: return bool instead of int in CPrivateSendClientOptions (#3660) * trivial: don\'t compare pointer to zero (#3659) * Print exception origin in crash messages (#3653) * p2p: remove some old protocol version checks/dead code (#3647) * Update src/stacktraces.cpp * Fix some translation issues (#3656) * llmq: Fix spork check in CSigSharesManager::ForceReAnnouncement (#3650) * [RPC] Show address of fundDest when no funds (#3649) * Apply (mostly)trivial clang-tidy in masternode folder (#3646) * Apply (mostly)trivial clang-tidy in llmq folder (#3645) * Apply (mostly)trivial clang-tidy in evo folder (#3644) * Update src/stacktraces.cpp * Fetch chia_bls from dashpay github repo (#3654) * Stage specific Travis job names (#3651) * Adjust CDeterministicMNState, add helper methods (#3643) * Include protocol version into MNAUTH (#3631) * qt: Give PrivateSend separate instances of SendCoinsDialog + CCoinControl (#3625) * Implement a safer version of GetCrashInfoFromException * replace `inter-quorum` with `intra-quorum` (#3642) * doc: Update README after filename change (Replicates bitcoin 12363) (#3637) * ci: Introduce FAST_MODE Gitlab variable (#3635) * Show names for Travis jobs instead of env vars (#3632) * Fix test_integrationtests.sh * Make shellcheck happy * Update lint-locale-dependence.sh * Update lint-format-strings.py * Add missing `encoding=\"utf8\"` * More of \"export LC_ALL=C\" * Fix warnings introduced in shellcheck v0.6.0 (Partial Merge: #15166) * Merge #15534: [test] lint-format-strings: open files sequentially (fix for OS X) * Merge #14115: lint: Make all linters work under the default macOS dev environment (build-osx.md) * Merge #13281: test: Move linters to test/lint, add readme * Fix after 13214 * Merge #13214: Enable Travis checking for two Python linting rules we are currently not violating * Merge #13210: Enable W191 indentation contains tabs and W291 trailing whitespace flake8 checks for Python files * More of 13153 (fix LogPrintf-s) -- TODO: backport to 0.16 * More of 13153 (\"Continued\") * Merge #13153: Add missing newlines to debug logging * Merge #13705: build: Add format string linter * Merge #13696: Add aarch64 qt depends support for cross compiling bitcoin-qt * Merge #13851: fix locale for lint-shell * Merge #13494: Follow-up to #13454: Fix broken build by exporting LC_ALL=C * Merge #13454: Make sure LC_ALL=C is set in all shell scripts * Merge #12871: Add shell script linting: Check for shellcheck warnings in shell scripts * Merge #13791: gui: Reject dialogs if key escape is pressed * Merge #13782: Fix osslsigncode compile issue in gitian-build * Merge #13764: contrib: Fix test-security-check fail in Ubuntu 18.04 * Merge #13711: [bench] Add benchmark for unserialize prevector * Merge #13095: build: update ax_boost_chrono/unit_test_framework * scripted-diff: Merge #13753: Remove trailing whitespaces * Merge #13740: trivial: remove unneeded include * Merge #11762: Avoid locking mutexes that are already held by the same thread * Merge #13722: trivial: Replace CPubKey::operator[] with CPubKey::vch where possible * Optimize functional tests runtime (#3630) * Fix crash on splash screen when wallet fails to load (#3629) * rpc: update help text for BLS operator key arguments (#3628) * qt: Splashscreen redesign (#3613) * remove unneeded boost string includes * Merge #13750: depends: use MacOS friendly sed syntax in qt.mk * dashify * bump FEATURE_LATEST * init: Fix crash due to -litemode and improve its deprecation warning (#3626) * Fix `-resetguisettings` (#3624) * qt: Make sure stylesheet updates of -debug-ui are activated (#3623) * qt: Add missing placeholders (#3575) * qt: Fix appearancewidget.h to make lint-include-guards.sh happy (#3627) * Remove unused code and assosiated tests that were only used by old mnlist * Merge #13726: Utils and libraries: Removes the boost/algorithm/string/join dependency * Merge #13074: [trivial] Correct help text for `importaddress` RPC * Merge #13500: [wallet] Decouple wallet version from client version * Merge #13699: contrib: correct version check * Merge #13690: [moveonly] Extract MakeUnique into utilmemory.h * Merge #13647: Scripts and tools: Fix BIND_NOW check in security-check.py * Merge #13604: Add depends 32-bit arm support for bitcoin-qt * Merge #13679: Initialize m_next_send_inv_to_incoming * scripted-diff: (Merge #13664) Fix references to share/rpcuser (now share/rpcauth) * Merge #13138: [tests] Remove accounts from wallet_importprunedfunds.py * Merge #11658: During IBD, when doing pruning, prune 10% extra to avoid pruning again soon after * Merge #13659: build: add missing leveldb defines * Merge #12460: Assert CPubKey::ValidLength to the pubkey\'s header-relevant size * Merge #12870: make clean removes src/qt/moc_ files * Merge #12861: [tests] Stop feature_block.py from blowing up memory. * qt: Drop PlatformStyle (#3573) * qt: Redesign scrollbar styles (#3571) * qt: Introduce appearance tab and setup dialog (#3568) * add missing \"import os.path\" * add new-line to lint-python.sh * dashify * bitcoind/-cli to dashd/-cli * Merge #13051: qa: Normalize executable location * Merge #13024: test: Add rpcauth pair that generated by rpcauth.py * Merge #13073: test: add rpcauth-test to AC_CONFIG_LINKS to fix out-of-tree make check * Merge #14756: Improve rpcauth.py by using argparse and getpass modules * Merge #14742: Properly generate salt in rpcauth.py * Merge #13146: rpcauth: Make it possible to provide a custom password * Merge #13056: [tests] Make rpcauth.py testable and add unit tests * Merge #12987: tests/tools: Enable additional Python flake8 rules for automatic linting via Travis * Merge #13340: doc: remove leftover check-doc documentation * Merge #13141: [doc] qt: fixes broken link on readme * Merge #13012: [doc] Add comments for chainparams.h, validation.cpp * Merge #12951: [doc] Fix comment in FindForkInGlobalIndex * Merge #12933: doc: Refine header include policy * Merge #12927: Docs: fixed link, replaced QT with Qt * Merge #12007: [Doc] Clarify the meaning of fee delta not being a fee rate in prioritisetransaction RPC * Merge #12896: docs: Fix conflicting statements about initialization in developer notes * Merge #12702: [wallet] [rpc] [doc] importprivkey: hint about importmulti * qt: Hide m_wallet_selector until a second wallet gets added. * Fix qt tests * privatesend|qt|rpc|wallet: Improve CPrivateSendClientOptions * Add `CPrivateSendClientOptions::GetJsonInfo()` * Do not clear the object pased into `CPrivateSendClient *::GetJsonInfo()` * Create one PS manager per wallet * Drop `GetMixingWallet()`s, pass `CWallet *` into `CPrivateSendClientSession` via ctor * Split dsq processing out of mixing manager * Split mixing options out of mixing manager * privatesend: Implement multiwallet support * qt: Add the wallet selector widget before the dash logo in the toolbar * fix incomingTransaction notifications * Merge #12610: Multiwallet for the GUI * Merge #11517: Tests: Improve benchmark precision (#3620) * test: p2p_timeouts - Wait a second longer before timeout validations (#3619) * qt: General qt/c++ related fixes and updates (#3562) * qt: Introduce platform specific css sections (#3570) * qt: Redesign BitcoinAmountField (#3569) * qt: Introduce runtime theme changes (#3559) * Fix 13021 * fix compilation in headers that contain \'dashes\' and adjust linter * Merge #12757: Clarify include guard naming convention * More of 13114 * We no longer support qt4 * Dashify * Merge #13228: Add script to detect circular dependencies between source modules * Merge #13236: break circular dependency: random/sync -> util -> random/sync * Merge #13021: MOVEONLY: Move logging code from util.{h,cpp} to new files. * Dashify * Merge #14018: Bugfix: NSIS: Exclude Makefile * from docs * Merge #13908: [Docs] upgrade rescan time warning from minutes to >1 hour * Merge #13895: Docs: fix GetWarnings docs to reflect behavior * Merge #13857: docs: fix typo in translation_process.md * Merge #13844: doc: correct the help output for -prune * Merge #13824: doc: Remove outdated net comment * Merge #13835: [trivial,doc] Fix memory consistency model in comment * Merge #13247: Add tests to SingleThreadedSchedulerClient() and document the memory model * Merge #13706: doc: Minor improvements to release-process.md * Merge #12764: doc: Remove field in getblocktemplate help that has never been used. * Merge #13718: docs: Specify preferred Python string formatting technique * Merge #13614: doc: Update command line help for -printtoconsole and -debuglogfile (satwo) * Merge #12820: contrib: Fix check-doc script regexes * Merge #12800: doc: Add note about our preference for scoped enumerations (\"enum class\") * Merge #12700: Document RPC method aliasing * Merge #12452: docs: clarified systemd installation instructions in init.md for Ubuntu users. * Merge #12584: Fix typos and cleanup documentation * Merge #11761: [docs] initial QT documentation * Merge #13570: RPC: Add new \"getzmqnotifications\" method * Merge #13114: wallet/keystore: Add Clang thread safety annotations for variables guarded by cs_KeyStore * Merge #13656: Remove the boost/algorithm/string/predicate.hpp dependency * Merge #12225: Mempool cleanups * privatesend: Increase max participants to 20 (#3610) * Backport 11796 + 11774 (#3612) * llmq: Fix thread handling in CDKGSessionManager and CDKGSessionHandler (#3601) * qt: General CSS related redesigns (#3563) * util: Change TraceThread\'s \"name\" type: \"const char *\" -> \"const std::string\" (#3609) * qt: Add -debug-ui command line parameter (#3558) * Add INTEGRATION_TESTS_ARGS gitlab-ci variable (#3605) * qt: Make use of GUIUtil themed colors/styles (#3561) * qt: Replace usage of QTabBar with custom replacement (#3560) * Fail GetTransaction when the block from txindex is not in mapBlockIndex (#3606) * test: Introduce scaled timeouts (#3602) * qt: Add -custom-css-dir commmand line parameter (#3557) * evo: Avoid some unnecessary copying in BuildNewListFromBlock (#3594) * Merge #14861: tests: Modify rpc_bind to conform to #14532 behaviour. * Merge #12510: test: Add rpc_bind test to default-run tests * Fix llmq-simplepose.py * Fix append_config * More of 12728 * fix test failures * Merge #12728: [tests] rename TestNode to TestP2PConn in tests * Merge #12482: [tests] bind functional test nodes to 127.0.0.1 * Merge #13565: test: Fix AreInputsStandard test to reference the proper scriptPubKey * Merge #13118: RPCAuth Detection in Logs * Merge #13481: doc: Rewrite some validation docs as lock annotations * Merge #13615: net: Remove unused interrupt from SendMessages * Merge #13598: bench: fix incorrect behaviour in prevector.cpp * Merge #12788: [build] Tune wildcards for LIBSECP256K1 target * Merge #13577: logging: avoid nStart may be used uninitialized in AppInitMain warning * llmq: Remove unused variable in CLLMQUtils::GetQuorumConnections (#3595) * Merge #13580: build: Detect if char equals int8_t * Merge #13588: Docs: Improve doc of options addnode, connect, seednode * Merge #13592: Docs: Modify policy to not translate command-line help * Merge #13568: Trivial: Remove double semicolon from wallet.cpp and misc.cpp * Merge #13431: validation: count blocks correctly for check level < 3 * Merge #13551: tests: Fix incorrect documentation for test case cuckoocache_hit_rate_ok * Merge #13535: [qa] wallet_basic: Specify minimum required amount for … * fix wallet.py after 13160 * Merge #12882: tests: Make test_bitcoin pass under ThreadSanitzer (clang). Fix lock-order-inversion (potential deadlock). * Merge #13418: Docs: More precise explanation of parameter onlynet * Merge #13531: doc: Clarify that mempool txiter is const_iterator * Merge #13160: wallet: Unlock spent outputs * Merge #13496: Test: Harden lint-filenames.sh * Merge #13486: build: Move rpc/util.cpp from libbitcoin-util to libbitcoin-server * Merge #13480: Avoid copies in range-for loops and add a warning to detect them * Merge #13412: Make ReceivedBlockTransactions return void * qt: Call GUIUtil::loadFonts earlier (#3593) * More pruning improvements (#3579) * qt: Disable macOS system focus rectangles for dash themes (#3556) * remove extra space at end line * Merge #13564: [wallet] loadwallet shouldn\'t create new wallets. (#3592) * Prefer creating larger denoms at the second step of CreateDenominated (#3589) * scripted-diff: change all tabs to spaces in linearize-hashes.py and linearize-data.py * More accurate fee calculation in CreateDenominated (#3588) * Merge #13488: Docs: Improve readability of \"Squashing commits\" * Merge #13448: Add linter: Make sure we explicitly open all text files using UTF-8 encoding in Python * Merge #13479: contrib: Fix CVE-2018-12356 by hardening the regex * Merge #13465: Avoid concurrency issue when make multiple target * scripted-diff: Avoid temporary copies when looping over std::map (Merge #13241) * Merge #13402: Document validationinterace callback blocking deadlock potential. * Merge #13450: Add linter: Enforce the source code file naming convention described in the developer notes * Merge #13422: Drop ParseHashUV in favor of calling ParseHashStr * Merge #13406: travis: Change Mac goal to all deploy * Merge #13350: [tests] Add logging to provide anchor points when debugging p2p_sendheaders * Merge #13435: When build fails due to lib missing, indicate which one * Merge #13428: validation: check the specified number of blocks (off-by-one) * Merge #13440: qa: Log as utf-8 * continued 13312 * Merge #13312: docs: Add a note about the source code filename naming convention * Add missing locks after backporting 12333 (#3587) * qt: Make font related variables private in GUIUtil\'s namespace * qt: Add -font-family command line parameter * qt: Introduce GUIUtil::FontFamily and make font family adjustable * qt: Introduce GUIUtil::FontWeight as mapper for QFont::Weight * qt: Move font-size settings from css to c++. * qt: Keep track of font updates * qt: Add -font-weight-normal, -font-weight-bold and -font-scale arguments * qt: Use default font in receive requests and transaction description * qt: Load custom font in splashscreen * qt: Use correct default font for size calculations * qt: Set a proper font weight with GUIUtil::setFont where requried * qt: Removed all font related changes from .ui/.css files * qt: Use default montserrat instead of fixed pitch font in dash themes * qt: Add Montserrat (picked in Dash Style Guide) as application font * Merge #13230: Simplify include analysis by enforcing the developer guide\'s include syntax * Merge #13259: refactoring: add a method for determining if a block is pruned or not * Merge #13041: build: Add linter checking for accidental introduction of locale dependence * Merge #13288: rpc: Remove the need to include rpc/blockchain.cpp in order to put `GetDifficulty` under test * Merge #13301: lint: Add linter to error on #include < *.cpp> * Adjust current boost includes present * Merge #13385: build: Guard against accidental introduction of new Boost dependencies * remove duplicate includes so that `./contrib/devtools/lint-includes.sh` is clean * Merge #11878: Add Travis check for duplicate includes * Merge #13300: qa: Initialize lockstack to prevent null pointer deref * Merge #13284: gui: fix visual \"overflow\" of amount input. * Merge #13291: test: Don\'t include torcontrol.cpp into the test file * Merge #13314: Fix FreeBSD build by including utilstrencodings.h * Merge #13265: wallet: Exit SyncMetaData if there are no transactions to sync * include pow.h * Merge #13234: Break circular dependency: chain -> pow -> chain * Merge #13125: scheduler: Add Clang thread safety annotations for variables guarded by m_cs_callbacks_pending * Merge #11689: mempool: Fix missing locking in CTxMemPool::check(…) and CTxMemPool::setSanityCheck(…) * Merge #13127: wallet: Add Clang thread safety annotations for variables guarded by cs_db * Merge #13081: wallet: Add compile time checking for cs_wallet runtime locking assertions * Merge #13161: wallet: Reset BerkeleyDB handle after connection fails * Merge #13116: Add Clang thread safety annotations for variables guarded by cs_{rpcWarmup,nTimeOffset,warnings} * Merge #13185: Bugfix: the end of a reorged chain is invalid when connect fails * Merge #12265: [test] fundrawtransaction: lock watch-only shared address * Merge #13094: tests: Add test for 64-bit Windows PE, modify 32-bit test results * Change litemode to disablegovernance (#3577) * qt: Redesign of the main toolbar (#3554) * fix lint failures * Merge #13079: Fix rescanblockchain rpc to properly report progress * Merge #13080: mempool: Add compile time checking for ::mempool.cs runtime locking assertions * Merge #12507: Interrupt rescan on shutdown request * Merge #13133: Remove python2 from configure.ac * Merge #13119: Remove script to clean up datadirs * remove safemode.h * remove some `ObserveSafeMode()` * Merge #13090: Remove Safe mode (achow101) * Merge #12715: depends: Add \'make clean\' rule * Merge #12982: Fix inconsistent namespace formatting guidelines * Merge #12899: macOS: Prevent Xcode 9.3 build warnings * Merge #12972: Add python3 script shebang lint * Merge #12996: tests: Remove redundant bytes(…) calls * Merge #12993: tests: Remove compatibility code not needed now when we\'re on Python 3 * Merge #12969: Drop dead code CScript::Find * Merge #12970: logging: bypass timestamp formatting when not logging * Merge #9991: listreceivedbyaddress Filter Address * qt: Generalized css files, simple design changes, added scripts to keep track of color usage (#3508) * remove extra `import os` * bitcoind -> dashd * Disable new connection handling and concentrated recovery for large LLMQs (#3548) * Fix CSigningManager::VerifyRecoveredSig (#3546) * Fix argument handling for devnets (#3549) * Use exponential backoff timeouts for recovery (#3535) * contrib: Move dustinface.pgp into contrib/gitian-keys (#3547) * Fix EntryDescriptionString (#3542) * Avoid overriding validation states, return more specific states in some cases (#3541) * Dont skip sendmessages (#3534) * Merge #12621: Avoid querying unnecessary model data when filtering transactions * Merge #12625: depends: biplist 1.0.3 * Merge #12659: Improve Fatal LevelDB Log Messages * Merge #12572: [script] lint-whitespace: find errors more easily * Merge #9598: Improve readability by removing redundant casts to same type (on all platforms) * Merge #12620: Remove TransactionTableModel::TxIDRole * Merge #12627: qa: Fix some tests to work on native windows * fix help text for dumpwallet * Merge #9740: Add friendly output to dumpwallet * Merge #12143: [Doc] Fix link for BIP-159 pull request * Merge #12206: qa: Sync with validationinterface queue in sync_mempools * Merge #12264: Fix versionbits warning test * Merge #12197: Log debug build status and warn when running benchmarks * Merge #12217: qa: Add missing syncwithvalidationinterfacequeue to tests * Merge #12619: doc: Give hint about gitian not able to download * Merge #12098: [scripts] lint-whitespace: add param to check last N commits * Merge #12097: [scripts] lint-whitespace: use perl instead of grep -P * Merge #12193: RPC: Consistently use UniValue.pushKV instead of push_back(Pair()) (karel-3d) (#3532) * Sleep 1 sec in mininode\'s wait_for_disconnect (#3538) * Don\'d send SENDXXX messages to fMasternode connections (#3537) * Only relay DKG messages to intra quorum connection members (#3536) * Merge #12710: Append scripts to new test_list array to fix bad assignment * Merge #12437: [Trivial] Simplify if-else blocks and more descriptive variable naming * Merge #12603: [docs] PeerLogicValidation interface * Merge #12615: doc: allow for SIGNER containing spaces * Merge #12477: test: Plug memory leaks and stack-use-after-scope * Merge #12308: contrib: Add support for out-of-tree builds in gen-manpages.sh * Merge #12029: Build: Add a makefile target for Doxygen documentation * Merge #12425: Add some script tests * Merge #12442: devtools: Exclude patches from lint-whitespace * Merge #12426: qt: Initialize members in WalletModel * Merge #12409: rpc: Reject deprecated reserveChangeKey in fundrawtransaction * Merge #12393: Fix a-vs-an typos * Merge #12282: wallet: Disallow abandon of conflicted txes * fix lint-python.sh after 11835 and 12295 * Merge #12295: Enable flake8 warnings for all currently non-violated rules * Partial Merge #11835: Add Travis check for unused Python imports * Merge #12438: [Tests] Fix trivial typo in test_runner.py causing error * Merge #11858: qa: Prepare tests for Windows * Partial Merge #11789 * Merge #13352: qa: Avoid checking reject code for now * Merge #12373: Build: Add build support for profiling. * Merge #10271: Use std::thread::hardware_concurrency, instead of Boost, to determine available cores * Merge #12616: Set modal overlay hide button as default * Merge #12604: Add DynamicMemoryUsage() to CDBWrapper to estimate LevelDB memory use * Merge #12568: Allow dustrelayfee to be set to zero * Merge #11880: Stop special-casing phashBlock handling in validation for TBV * Merge #12260: [Trivial] link mentioned scripted-diff-commit (developer-doc) * Merge #12434: [doc] dev-notes: Members should be initialized * Merge #12570: Add test cases for HexStr (std::reverse_iterator and corner cases) * Merge #12421: [qt] navigate to transaction history page after send * Merge #12083: Improve getchaintxstats test coverage * Merge #11733: qt: Remove redundant locks * Merge #12351: Libraries: Use correct type ; avoid compiler warnings. * Dashify blockfilter tests * fix semicolon * Merge #12797: init: Fix help message for checkblockindex * Merge #12750: Replace boost::call_once with std::call_once * Merge #12652: bitcoin-cli: Provide a better error message when bitcoind is not running * Merge #12721: Qt: remove \"new\" button during receive-mode in addressbook * Merge #12693: Remove unused variable in SortForBlock * Merge #12431: Only call NotifyBlockTip when chainActive changes * Merge #12080: Add support to search the address book * Merge #12666: configure: UniValue 1.0.4 is required for pushKV(, bool) * Merge #12102: Apply hardening measures in bitcoind systemd service file * Merge #11872: [rpc] createrawtransaction: Accept sorted outputs * Merge #12622: net: Correct addrman logging * Merge #12479: RPC: Add child transactions to getrawmempool verbose output * Merge #12564: [arith_uint256] Avoid unnecessary this-copy using prefix operator * Merge #9037: net: Add test-before-evict discipline to addrman * Merge #14073: blockfilter: Avoid out-of-bounds script access. * Rename BlockFilterType::BASIC to BASIC_FILTER bls dependency defines a macro BASIC as 1 in relic_conf.h. This caused blockfilter.h to not compile after macro expansion when it says BASIC = 0. * test_bitcoin -> test_dash * comment out part of benchmark * Merge #12254: BIP 158: Compact Block Filters for Light Clients * Backport 12381 (#3528) * Use correct CURRENT_VERSION constants when creating ProTx-es via rpc (#3524) * qt: Fix label updates in SendCoinsEntry (#3523) * Change litemode from disabling all Dash specific features to disabling governance validation (#3488) * retain wait one additional second * Merge #14024: qa: Add TestNode::assert_debug_log * Merge #14733: P2P: Make peer timeout configurable, speed up very slow test and ensure correct code path tested. * Merge #18769: qt: remove bug fix for Qt < 5.5 * Merge #15393: build: Bump minimum Qt version to 5.5.1 * Merge #14725: qt: Bump the minimum Qt version to 5.2 * Merge #13536: [qt] coincontrol: Remove unused qt4 workaround * Merge #13458: gui: Drop qt4 support * initialize fAnonymizableTallyCached and fAnonymizableTallyCachedNonDenom * remove / * continued */ where is is not needed * fix lint failure * Merge #13180: Fix re-declared scoped enum as unscoped (Causes issues with some compilers) * Merge #11966: clientversion: Use full commit hash for commit-based version descriptions * Merge #12925: wallet: Logprint the start of a rescan * Merge #12731: Support serialization as another type without casting * Merge #12891: [logging] add lint-logs.sh to check for newline termination. * Merge #12895: tests: Add note about test suite name uniqueness requirement to developer notes * Merge #12785: wallet: Initialize m_last_block_processed to nullptr * Merge #12719: tests: Add note about test suite naming convention in developer-notes.md * scripted-diff: Convert 11 enums into scoped enums (C++11) (merge #10742) * Merge #12716: Fix typos and cleanup in various files * Merge #12727: [RPC] Remove unreachable help conditions in rpcwallet.cpp * Merge #12658: Sanitize some wallet serialization * Merge #12516: Avoid unintentional unsigned integer wraparounds in tests * Merge #12466: depends: Only use D_DARWIN_C_SOURCE when building miniupnpc on darwin * Merge #13689: depends: disable Werror when building zmq * UpgradeDBIfNeeded failure should require reindexing (#3516) * Use correct CURRENT_VERSION constants when checking ProTx version (#3515) * Revert \"implemented labeler which automatically adds RPC label to anything modifying RPC files (#3499)\" (#3517) * Fix chainlock scheduler handling (#3514) * Some Dashification (#3513) * qt/init: Move -windowtitle to the UI section of the help message (#3511) * Bump develop 0.17 (#3512) * Merge #12416: Fix Windows build errors introduced in #10498 * fix test after 12356 * Merge #12455: Fix bip68 sequence test to reflect updated rpc error message * Merge #12417: Upgrade mac_alias to 2.0.7 * Merge #12512: Don\'t test against the mempool min fee information in mempool_limit.py * Merge #12182: Remove useless string initializations * Merge #12356: Fix \'mempool min fee not met\' debug output * Merge #11866: Do not un-mark fInMempool on wallet txn if ATMP fails. * Merge #12333: Make CWallet::ListCoins atomic * Merge #12336: Remove deprecated rpc options * Merge #12287: Optimise lock behaviour for GuessVerificationProgress() * Merge #10498: Use static_cast instead of C-style casts for non-fundamental types * Merge #12317: Document method for reviewers to verify chainTxData * Merge #12309: doc: Explain how to update chainTxData in release process * Merge #12298: Refactor HaveKeys to early return on false result * Merge #12050: [trivial] Implements a virtual destructor on the BaseRequestHandler class. * Merge #12330: Reduce scope of cs_main and cs_wallet locks in listtransactions * Merge #12283: Fix typos * Merge #14728: fix uninitialized read when stringifying an addrLocal * Merge #14685: fix a deserialization overflow edge case * Merge #14532: Never bind INADDR_ANY by default, and warn when doing so explicitly * Merge #14140: [Net] Switch nPrevNodeCount to vNodesSize * Merge #14027: Skip stale tip checking if outbound connections are off or if reindexing. * Merge #14025: p2p: Remove dead code for nVersion=10300 * Merge #13907: Introduce a maximum size for locators. * Merge #13776: net: Add missing verification of IPv6 address in CNetAddr::GetIn6Addr(...) * Merge #13672: Modified in_addr6 cast in CConman class to work with msvc * scripted-diff: Replace NET_TOR with NET_ONION (#13575) * Merge #13537: GUI: Peer table: Visualize inbound/outbound state for every row * Merge #13532: Log warning when deprecated network name \'tor\' is used * add EXCLUSIVE_LOCKS_REQUIRED(cs_main) for Misbehaving and include validation.h * Merge #13423: [net] Thread safety annotations in net_processing * fix bip 61 in Dash Specific code, 13417 continued * comment out extern declaration in DoS_tests.cpp * move Misbehaving declaration into the header since we use it outside of net_processing.cpp * Adjust STALE_CHECK_INTERVAL to be correct for Dash * Merge #13417: [net] Tighten scope in net_processing * Merge #13543: depends: Add RISC-V support * Merge #12402: [depends] expat 2.2.5, ccache 3.4.1, miniupnpc 2.0.20180203 * Merge #11986: [depends] zeromq 4.2.3 * Mon Nov 16 2020 marecAATTdetebe.org- Update to version 0.16.1.1: * Add v0.16.1.1 release notes * Archive 0.16.1.0 release notes * bump version in man pages * bump version in configure.ac * qt: Fix wallet encryption dialog (#3816) * Sat Nov 14 2020 marecAATTdetebe.org- Update to version 0.16.1.0: * Add v0.16.1.0 release notes (#3805) * [v0.16.x] bump version in configure.ac (#3788) * Update man pages (#3798) * contrib|src: Update hard coded seeds (#3791) * bump nMinimumChainWork, defaultAssumeValid, checkpointData for mainnet and testnet (#3789) * Merge #15730: rpc: Show scanning details in getwalletinfo (#3785) * Call EraseObjectRequest as soon as an object is read from the stream (#3783) * Avoid accessing pendingContributionVerifications from VerifyPendingContributions while ReceiveMessage is still doing its job (#3782) * qt: Handle fonts of deleted widgets properly, streamline the flow in `GUIUtil::updateFonts` (#3772) * qt: avoid auto-updating window width when it\'s in full screen or when it\'s maximized (#3771) * qt: Do not show a check-mark for \"Encrypt wallet\" menu item (#3770) * Fix IS-locks sync via `mempool` p2p command (#3766) * qt: Fix --disable-wallet build and --disablewallet mode (#3762) * depends: Update Qt download url. (#3756) * qt: Make sure there is a valid theme set in the options (#3755) * update public part of windows code signing certificate (#3749) * Thu Oct 01 2020 marecAATTdetebe.org- Update to version 0.16.0.1: * Make the build an actual release (#3753) * docs: Several more suggestions (#3751) * Tue Sep 29 2020 marecAATTdetebe.org- Update to version 0.16.0.0: * doc: Remove trailing whitespaces in release notes (#3747) * [v0.16.x] v0.16 release notes (#3582) * Fix mempool sync (#3725) * qt: Fix font family updates (#3746) * qt: Fix font size and scaling issues (#3734) * qt: Fix Recent transactions list height (#3744) * Translations 2020-09 (#3736) * Bump few things and update man pages for v0.16 (#3737) * qt: Add PrivateSend tab in OptionsDialog, allow to show/hide PS UI (#3717) * Fix dbfdf8cb157954ec350edfbc2ccc5a96582ddc1b * qt: Finetune OverviewPage (#3715) * qt: Fix compilation * Don\'t use CPrivateSendClientOptions * 3710 continued * qt: Finetune TransactionsView (#3710) * qt: Finetune CoinControlDialog + bitcoin#14828 (#3701) * RPC: Update getprivatesendinfo help (#3727) * Fix testnet icon (#3726) * qt: Remove unused assets (#3721) * qt: Finetune RPCConsole (#3720) * privatesend: Avoid interacting with keypool in CTransactionBuilder ctor (#3723) * qt: Hide remaining PrivateSend UI if PrivateSend is not enabled (#3716) * qt: Disable missing macOS focus rects in AddressBookPage (#3711) * qt: Finetune Options Dialog (#3709) * qt: Make sure send confirmation dialog uses correct font settings (#3714) * qt: Use scaled font size for all QToolTip instances (#3708) * qt: Make sure font size in TransactionDescDialog is adjusted properly (#3707) * qt: Tweak few strings (#3706) * qt: Finetune ModalOverlay (#3699) * qt: Make sure the statusbar reflects internal states correct (#3698) * qt|wallet: Fix \"Use available balance\" for PrivateSend (#3700) * fix indentation * Partially merge #3604: * masternode|net|rpc: Improve masternode sync process (#3690) * masternode|rpc: Remove unused code (#3689) * qt: Improved status bar (#3688) * test: Implement unit tests for CTransactionBuilder (#3677) * wallet: Fix and improve CWallet::CreateTransaction (#3668) * test: Implement unit tests for CWallet::CreateTransaction (#3667) * privatesend|wallet|qt: Improve calculations in CreateDenominated/MakeCollateralAmounts (#3657) * qt: Update assets and colorize them theme related (#3574) * Merge #13622: Remove mapRequest tracking that just effects Qt display. (#3694) * chainparams: Remove llmq_50_60 from regtest (#3696) * Fix two potential issues in the way pending islocks are processed (#3678) * fix reallocation backport * Implement dynamic activation thresholds (#3692) * Implement Block Reward Reallocation (#3691) * privatesend: Implement Random Round Mixing (#3661) * remove / * continued */ where is is not needed * fix lint failure * More of 13153 (fix LogPrintf-s) -- TODO: backport to 0.16 * qt: Ignore GUIUtil::updateFont calls until GUIUtil::loadFonts was called (#3687) * qt: Fix block update signals/slots in BitcoinGUI and SendCoinsDialog (#3685) * QT: add last block hash to debug ui (#3672) * trivial/docs: minor adjustments to PrivateSend help text (#3669) * Merge #13007: test: Fix dangling wallet pointer in vpwallets (#3666) * Harden spork6 logic then remove spork6 (#3662) * Fix some translation issues (#3656) * Fix crash on splash screen when wallet fails to load (#3629) * qt: Give PrivateSend separate instances of SendCoinsDialog + CCoinControl (#3625) * qt: Splashscreen redesign (#3613) * qt: Make sure stylesheet updates of -debug-ui are activated (#3623) * qt: Add missing placeholders (#3575) * qt: Fix appearancewidget.h to make lint-include-guards.sh happy (#3627) * qt: Drop PlatformStyle (#3573) * qt: Redesign scrollbar styles (#3571) * qt: Introduce appearance tab and setup dialog (#3568) * qt: General qt/c++ related fixes and updates (#3562) * qt: Introduce platform specific css sections (#3570) * qt: Redesign BitcoinAmountField (#3569) * qt: Introduce runtime theme changes (#3559) * qt: General CSS related redesigns (#3563) * qt: Make use of GUIUtil themed colors/styles (#3561) * qt: Replace usage of QTabBar with custom replacement (#3560) * qt: Call GUIUtil::loadFonts earlier (#3593) * qt: Add -debug-ui command line parameter (#3558) * qt: Add -custom-css-dir commmand line parameter (#3557) * qt: Disable macOS system focus rectangles for dash themes (#3556) * Merge pull request #3555 from xdustinface/pr-ui-2-fonts * qt: Redesign of the main toolbar (#3554) * qt: Generalized css files, simple design changes, added scripts to keep track of color usage (#3508) * Print exception origin in crash messages (#3653) * Implement a safer version of GetCrashInfoFromException (#3652) * llmq: Fix spork check in CSigSharesManager::ForceReAnnouncement (#3650) * [RPC] Show address of fundDest when no funds (#3649) * Include protocol version into MNAUTH (#3631) * rpc: update help text for BLS operator key arguments (#3628) * init: Fix crash due to -litemode and improve its deprecation warning (#3626) * Fix `-resetguisettings` (#3624) * privatesend: Increase max participants to 20 (#3610) * util: Change TraceThread\'s \"name\" type: \"const char *\" -> \"const std::string\" (#3609) * Fail GetTransaction when the block from txindex is not in mapBlockIndex (#3606) * llmq: Fix thread handling in CDKGSessionManager and CDKGSessionHandler (#3601) * evo: Avoid some unnecessary copying in BuildNewListFromBlock (#3594) * Merge #13564: [wallet] loadwallet shouldn\'t create new wallets. (#3592) * Prefer creating larger denoms at the second step of CreateDenominated (#3589) * More accurate fee calculation in CreateDenominated (#3588) * More pruning improvements (#3579) * Change litemode to disablegovernance (#3577) * Change litemode from disabling all Dash specific features to disabling governance validation (#3488) * Disable new connection handling and concentrated recovery for large LLMQs (#3548) * contrib: Move dustinface.pgp into contrib/gitian-keys (#3547) * Fix argument handling for devnets (#3549) * Fix CSigningManager::VerifyRecoveredSig (#3546) * Use exponential backoff timeouts for recovery (#3535) * Dont skip sendmessages (#3534) * Avoid overriding validation states, return more specific states in some cases (#3541) * Don\'d send SENDXXX messages to fMasternode connections (#3537) * Only relay DKG messages to intra quorum connection members (#3536) * Use correct CURRENT_VERSION constants when creating ProTx-es via rpc (#3524) * qt: Fix label updates in SendCoinsEntry (#3523) * Revert \"implemented labeler which automatically adds RPC label to anything modifying RPC files (#3499)\" (#3517) * UpgradeDBIfNeeded failure should require reindexing (#3516) * Use correct CURRENT_VERSION constants when checking ProTx version (#3515) * Fix chainlock scheduler handling (#3514) * Some Dashification (#3513) * Optimize MN lists cache (#3506) * Make CDeterministicMN::internalId private to make sure it\'s set/accessed properly (#3505) * Fix ProcessNewBlock vs EnforceBestChainLock deadlocks in ActivateBestChain (#3492) * implemented labeler which automatically adds RPC label to anything modifying RPC files (#3499) * Better error handling while processing special txes (#3504) * rpc: Validate provided keys for query_options parameter in listunspent (#3507) * contrib: Added dustinface.pgp (#3502) * qt: Some UI fixes and improvements (#3500) * Merge #12836: Make WalletInitInterface and DummyWalletInit private, fix nullptr deref (#3498) * Remove spork 15, 16, 20 (#3493) * Reintroduce mixing hard cap for all but the largest denom (#3489) * CI: Fix Gitlab nowallet and release builds (#3491) * add \"Verifying a Rebase\" section to CONTRIBUTING.md (#3487) * rpc/wallet: Add coinType to queryOptions of listunspent (#3483) * Fix NO_WALLET=1 build (#3490) * Merge bitcoin#11415: [RPC] Disallow using addresses in createmultisig (#3482) * Implement significantly improved createdenominations algorithm (#3479) * Feat. request for Dash Platform: `quorum sign` rpc command with additional quorumHash #3424 (#3446) * Fix #3241 UX/UI - Introduce PrivateSend tab which allows to spend fully mixed coins only (#3442) * add litemode information to help texts regarding CL/IS and change getbestchainlock to throw an error if running in litemode (#3478) * Introduce ONLY_PRIVATESEND coin type to select fully mixed coins only (#3459) * qt: Allow and process URIs pasted to the payTo field of SendCoinsEntry (#3475) * Merge #12384: [Docs] Add version footnote to tor.md (#3473) * Fix `gobject submit`: replace request params with txidFee (#3471) * Remove logic for forcing chainlocks without DIP8 activation on testnet (#3470) * Feature request #3425 - Add information to \"protx diff\" (#3468) * Fix recovery from coin db crashes (and dbcrash.py test) (#3467) * Refactor and fix GetRealOutpointPrivateSendRounds (#3460) * Streamline processing of pool state updates (#3458) * Fix autobackup * bitcoind -> dashd * qt: Disconnect CClientUIInterface from SplashScreen::ConnectWallet * End Merge #11851: Add m_ prefix to WalletBatch::m_batch * Update walletdb comment after renaming. * scripted-diff: Rename wallet database classes (begin bitcoin#11851) * Merge #10740: [wallet] `loadwallet` RPC - load wallet at runtime * Merge #13028: Make vpwallets usage thread safe * Merge #11862: Network specific conf sections * Merge #12878: [refactor] Config handling refactoring in preparation for network-specific sections * Merge #12713: Track negated options in the option parser * Merge #12305: [docs] [refactor] Add help messages for datadir path mangling * Disable qt menu heuristics for openConfEditorAction (#3466) * qt: Maximize the window if the dock icon gets clicked on macOS (#3465) * Fix incorrect nTimeFirstKey reset due to missing count of hd pubkeys (#3461) * Various (mostly trivial) PS fixes (#3457) * Fix deadlocks (#3456) * Remove duplicated condition check (#3464) * Backport bitcoin#14123 and bitcoin#16720 (#3463) * Update Windows build instructions (#3453) * change miniupnp lib server (#3452) * Fix sourceFile * Fix autobackup functionality * bitcoin -> Dash Core * fix test 50 -> 500 * resolve DEFAULT_WALLET_DAT being removed * Merge #11687: External wallet files * 13017 continued * Merge #13017: Add wallets management functions * Fix typo in error log when EPOLL_CTL_ADD fails for wakeup pipe (#3451) * Lower DEFAULT_PRIVATESEND_DENOMS (#3434) * Make epoll the default socketevents mode when possible * Revert \"Only run DisconnectNodes once per second\" * Only linger when the other side has not shutdown/closed the socket yet * Don\'t consider disconnecting nodes in GetNodeCount and GetNodeStats * Revert \"Invoke DisconnectNodes from getconnectioncount/getpeerinfo/getnetworkinfo\" * Revert \"Invoke DisconnectNodes right before checking for duplicate connections\" * Don\'t return nodes with fDisconnect=true in FindNode * Wait one additional second for disconnects * Don\'t disconnect masternode probes for a few seconds (#3449) * Don\'t try to connect to itself through CLLMQUtils::GetQuorumConnections (#3448) * Advance iterator in CConnman::DisconnectNodes when lingering * Implement epoll support * Merge bitcoin#10387: Eventually connect to NODE_NETWORK_LIMITED peers (#3417) * Lower SELECT_TIMEOUT_MILLISECONDS for USE_WAKEUP_PIPE case (#3444) * Fix #3248: use blue logo for Traditional theme (#3441) * Merge #13522: [tests] Fix p2p_sendheaders race (#3438) * Take all nodes into account in check_sigs instead of just just masternodes (#3437) * Merge bitcoin#13134: net: Add option `-enablebip61` to configure sending of BIP61 notifications (#3414) * [Trivial] Adjust some text in mnauth.cpp (#3413) * Merge bitcoin#13151: net: Serve blocks directly from disk when possible (#3408) * AddRef/Release when adding/erasing CNode * entries to/from mapNodesWithDataToSend * Invoke select/poll with 0 timeout in case we know that there is work * Still invoke ReleaseNodeVector when interrupted * Track which nodes are able to receive/send data * Track SOCKET to CNode * mapping * Track size of vSendMsg in atomic nSendMsgSize * Move socket receiving into SocketRecvData * Make SocketSendData non-const * Fix abandonconflict.py (#3436) * Sleep longer when USE_WAKEUP_PIPE is enabled * Wakeup select/poll when new nodes are added * Don\'t delete MN list snapshots and diffs from DB when reorgs take place (#3435) * Merge bitcoin#10762: [wallet] Remove Wallet dependencies from init.cpp (#3412) * Randomly switch socketevents mode in CI tests * Allow to pass extra dashd args when running tests * Make socketevents mode (poll vs select) configurable via parameter * Remove fix for fNetworkActive vs OpenNetworkConnection race (#3430) * Make sure that cleanup is not triggered too early in llmq-signing.py (#3427) * Add some linger time between fDisconnect=true and actually closing the socket * Honor fLogIPs in OpenNetworkConnection * Remove support for optimistic send * Handle sockets one last time before closing sockets * Introduce NETCONN logging category and NET_NETCONN to log in NET and NETCONN * Improve connection logging in net.cpp * Invoke DisconnectNodes from getconnectioncount/getpeerinfo/getnetworkinfo * In disconnect_p2ps(), wait for p2p connections to disappear from getpeerinfo() * Invoke DisconnectNodes right before checking for duplicate connections * Also wait for node1 to close all sockets * Only run DisconnectNodes once per second * Always pass current mocktime to started nodes (#3423) * Instead of manually counting expected probes, rely on what dashd expects * Add \"outbound\" field to \"quorum dkgstatus\" connections * Only run InactivityCheck once per second * Don\'t even try to send/receive blocks for fMasternode connections * Temporary hack for unnecessary invocations of Broadcast signal * Only call SendMessages when ProcessMessages did some work or when some time passed * Fix crash in validateaddress (#3418) * Deterministically choose which peers to drop on duplicate MNAUTH * Merge #10677: RPC Docs: addmultisigaddress is intended for non-watchonly addresses * Merge #13123: net: Add Clang thread safety annotations for guarded variables in the networking code * Merge #12986: Trivial: Corrected comment array name from pnSeeds6 to pnSeed6 * Merge #13652: rpc: Fix that CWallet::AbandonTransaction would leave the grandchildren, etc. active * Merge bitcoin#12617: gui: Show messages as text not html * Merge #12432: [qt] send: Clear All also resets coin control options * Merge #12743: Fix csBestBlock/cvBlockChange waiting in rpc/mining * Merge #12573: Fix compilation when compiler do not support __builtin_clz * * Partial Merge #13545: tests: Fix test case streams_serializedata_xor. Remove Boost dependency. * Introduce new way of deterministic selection of outbound LLMQ connections * Merge #13437: wallet: Erase wtxOrderd wtx pointer on removeprunedfunds * Merge #13061: Make tests pass after 2020 * Merge #12837: rpc: fix type mistmatch in `listreceivedbyaddress` * Merge #13304: qa: Fix wallet_listreceivedby race * Merge #13192: [tests] Fixed intermittent failure in p2p_sendheaders.py. * Merge #12793: qt: Avoid reseting on resetguisettigs=0 * Bump mocktime by 60 secs after calling setnetworkactive(True) * Better clarification for future conflict resolution * Bump mocktime while waiting for getblocktemplate * Merge #15324: test: Make bloom tests deterministic * Call set_node_times by default in bump_mocktime * Fix use of mocktime when calling PoissonNextSendInbound * Sync mempool before generating blocks * Fix compilation error * Merge #17243: p2p: add PoissonNextSend method that returns mockable time * Merge #13298: Net: Bucketing INV delays (1 bucket) for incoming connections to hide tx time * Use verifiedProRegTxHash.IsNull() instead of fMasternode to check for MN connections * Merge bitcoin#11281: Avoid permanent cs_main/cs_wallet lock during RescanFromTime (#3411) * Backport bitcoin#15773: test: Add BitcoinTestFramework::sync_ * methods (incomplete backport) (#3409) * Backport 10279 (#3394) * Set wakeupSelectNeeded=true while poll() is running * Merge #13212: Net: Fixed a race condition when disabling the network. * Wait for ping/pong before starting testing in net.py * Merge #15069: test: Fix rpc_net.py \"pong\" race condition * Merge #16459: [qa] Fix race condition in example_test.py * Introduce USE_WAKEUP_PIPE * Increase maxconnections limit when using poll. * Implement wakeup pipe handling in poll based SocketEvents * Implement poll() on systems which support it properly. * Move SocketEvents logic to private method. * Move GenerateSelectSet logic to private method. * Introduce and use constant SELECT_TIMEOUT_MILLISECONDS. * Move SocketHandler logic to private method. * Move InactivityCheck logic to private method. * Move DisconnectNodes logic to private method. * Move NotifyNumConnectionsChanged logic to private method. * Merge #13503: Document FreeBSD quirk. Fix FreeBSD build: Use std::min(...) to allow for compilation under certain FreeBSD versions. * Bump mocktime while syncing mempools * Don\'t try to connect to masternodes that we already have a connection to (#3401) * Add cache for CBlockTreeDB::HasTxIndex (#3402) * Remove semaphore for masternode connections (#3403) * FindDevNetGenesisBlock remove unused arg (#3405) * Add wait_func to sync_mempool * Merge #13507: RPC: Fix parameter count check for importpubkey * Merge #13451: rpc: expose CBlockIndex::nTx in getblock(header) * Merge #13131: Add Windows shutdown handler * Bugfix: Include for std::unique_ptr * Merge #12089: qa: Make TestNodeCLI command optional in send_cli * Merge #12198: rpc: Add deprecation error for `getinfo` * Merge #12227: test_runner: Readable output if create_cache.py fails * continued * Merge #11791: [tests] Rename NodeConn and NodeConnCB * fix * Merge #11293: Deduplicate CMerkleBlock construction code, add test coverage * Fix compilation of util_time.cpp * Fix compilation * transactions -> objects * Fix GetObjectInterval and EraseObjectRequest * net: Use mockable time for tx download * Merge #16046: util: Add type safe GetTime * More logging for object request handling * No inbound delay for non-TX objects and masternodes * Also remove m_tx_announced and m_tx_in_flight entries when EraseObjectRequest is called * Force re-requesting of IS locked TXs * Don\'t re-request erased object requests * Skip verification of recovered sigs that were reconstructed in InstantSend * Only process 32 IS locks at a time in ProcessPendingInstantSendLocks * Use salted hasher for pendingInstantSendLocks * Improve logging in LLMQ sig handling * Reserve vector size in CopyNodeVector * Optimize deletion of vNodes entries * Don\'t hold cs_vNodes in ReleaseNodeVector * Optimize vInv.reserve in SendMessages * Use std::list for vSendMsg * Use std::chrono for GetTimeMillis/GetTimeMicros * Replace uses of CNode::AskFor with RequestObject * Replace uses of CConnman::RemoveAskFor with EraseObjectRequest * Make interval and timeout dependend on INV type * Fix governance.cpp * Generalize TX request code * Remove MSG_WITNESS_TX * Merge #15834: Fix transaction relay bugs introduced in #14897 and expire transactions from peer in-flight map * Merge #14897: randomize GETDATA(tx) request order and introduce bias toward outbound * bench_bitcoin -> bench_dash * More of 11220 * Fix 11867 * Merge #11867: Improve node network test * Merge #11946: tests: Remove unused variable (firstAddrnServices) * Merge #11220: Check specific validation error in miner tests * remove witness * Merge #10699: Make all script validation flags backward compatible * Merge #11804: [docs] Fixed outdated link with archive.is * Merge #11683: tests: Remove unused mininode functions {ser,deser}_int_vector(...). Remove unused imports. * fix * Merge #12327: [gui] Defer coin control instancing * Merge #12187: [Docs] Updating benchmarkmarking.md with an updated sample output * Merge #12173: [Qt] Use flexible font size for QRCode image address * Merge #11712: [tests] Split NodeConn from NodeConnCB (#3373) * Merge #12093: Fix incorrect Markdown link * Merge #12075: [scripts] Add missing univalue file to copyright_header.py * Merge #11965: qa: Note on test order in test_runner * Merge #11916: Typo fix * Merge #11842: [build] Add missing stuff to clean-local * Merge #11903: [trivial] Add required package dependencies for depends cross compilation * Merge #13184: RPC Docs: gettxout *: clarify bestblock and unspent counts * Merge #13201: [qa] Handle disconnect_node race * Merge #12999: qt: Show the Window when double clicking the taskbar icon * Merge #12998: Default to defining endian-conversion DECLs in compat w/o config * Merge #12985: Windows: Avoid launching as admin when NSIS installer ends. * Merge #12650: gui: Fix issue: \"default port not shown correctly in settings dialog\" * test: Add missing signal.h header * Merge #12422: util: Make LockDirectory thread-safe, consistent, and fix OpenBSD 6.2 build * Merge #12241: [trivial][docs] Fix incorrect link in /test/ README.md * Increase DIP0008 bip9 window by 10 years (#3391) * More of 10773 * Fix 11854 * fix test failure and fix indentation * Merge #11904: Add a lock to the wallet directory * Merge #11854: Split up key and script metadata for better type safety * Merge #11667: Add scripts to dumpwallet RPC * Merge #11997: [tests] util_tests.cpp: actually check ignored args * Merge #10874: [RPC] getblockchaininfo: Loop through the bip9 soft fork deployments instead of hard coding * Merge #11981: Fix gitian build after libzmq bump * Merge #10574: Remove includes in .cpp files for things the corresponding .h file already included * Merge #10773: Shell script cleanups * Merge #10493: Use range-based for loops (C++11) when looping over map elements * Merge #11746: trivial: Fix unsuccessful typo * Merge #11738: Fix sendrawtransaction hang when sending a tx already in mempool * Merge #11690: [trivial] Fix the StartupWMClass for bitoin-qt, so gnome-shell can recognize it * Use GetTime instead of GetAdjustedTime * Only update id in spork21 case * Use auto keyword in CollectSigSharesToSend * Use range based for loop in SelectMemberForRecovery * Test failure of recovery on first node * Implement DashTestFramework.get_mninfo * Implement \"quorum selectquorum\" RPC * Also run llmq-signing.py with spork21 enabled * Implement new way of concentrated signature recovery * Rename sigSharesToSend to sigShareBatchesToSend * Use !fMasternode to disable restart of mnsync instead of checking for regtest * Use Params().RequireRoutableExternalIP() wherever possible * Fix fRequireRoutableExternalIP for devnets * Move spork21 condition into VerifyConnectionAndMinProtoVersions * Also test banning due to closed ports and old proto versions * Refactor test_banning to support more scenarios * Allow calling start_masternode from outside of start_masternodes * Put (no-)banning loop into test_(no)_banning * Support waiting for probes in mine_quorum * Isolate instead of kill MNs in llmq-simplepose.py * Don\'t touch self.nodes/self.mninfo in llmq-simplepose.py * Allow to pass list of online masternodes to mine_quorum * Fix test in LLMQSimplePoSeTest * Fix LLMQ dkgBadVotesThreshold parameter in regtest and devnet * Immediately close connections again when fNetworkActive==false * Actually use LLMQConnectionRetryTimeout for probing * Allow masternode mode and -listen=0 in regtest mode * Don\'t restart mnsync in regtest when nothing happens for too long * Implement hidden \"-pushversion\" parameter for PoSe testing * Verify min proto version and open ports of LLMQ members and vote on bad ones * Gradually bump mocktime in wait_for_quorum_connections (#3388) * Add a note about dash_hash under dependencies in test/README.md (#3386) * Merge #11648: [tests] Add messages.py (#3372) * Implement more randomized behavior in GetQuorumConnections (#3385) * Move wait_proc into wait_for_quorum_connections (#3384) * Refactor Gitlab builds to use multiple stages (#3377) * Fix onlyOutbound handling * Move intra-quorum connection calculation into local func * Wait for ping/pong after re-connecting all nodes * Use <> instead of \"\" for #include * Include inbound connections in output of \"quorum dkgstatus\" * Implement tests for LLMQ connection handling * Don\'t try to open masternode connections when network is disabled * Only add wallet info to protx list/info when wallet is enabled * Add masternode meta info to protx list/info * Implement probing of public ip/port of LLMQ members * Connect all LLMQ members to all other members * Add SPORK_21_QUORUM_ALL_CONNECTED * Bump proto version * Bump mocktime each time waiting for phase1 fails (#3383) * Hold CEvoDB lock while iterating mined commitments (#3379) * Apply suggestions from code review * Also verify quorumHash when waiting for DKG phases (#3382) * Better/more logging for DKGs (#3381) * Call FlushBackgroundCallbacks before resetting CConnman (#3378) * Faster opening of masternode connections (#3375) * Apply some review suggestions * Merge #11718: tests: move pwalletMain to wallet test fixture * Merge #12902: [qa] Handle potential cookie race when starting node * Merge #12904: [qa] Ensure bitcoind processes are cleaned up when tests end * Merge #12843: [tests] Test starting bitcoind with -h and -version * Merge #12638: qa: Cache only chain and wallet for regtest datadir * Merge #12553: Prefer wait_until over polling with time.sleep * Merge #12475: qa: Fix python TypeError in script.py * Merge #12486: [test] Round target fee to 8 decimals in assert_fee_amount * Merge #12518: [0.16] Bump leveldb subtree * Merge #11722: Switched sync.{cpp,h} to std threading primitives. * Merge #11884: Remove unused include in hash.cpp * Merge #11824: Block ActivateBestChain to empty validationinterface queue * Apply suggestions from code review * Make EnsureQuorumConnections re-set connections in every iteration * Only log new quorum connections when it\'s actually new * Move and unify logic for quorum connection establishment into CLLMQUtils * Remove logging for waking of select() (#3370) * Merge #13894: shutdown: Stop threads before resetting ptrs * Merge #12266: Move scheduler/threadGroup into common-init instead of per-app * Support devnets in mininode (#3364) * Fix possible segfault (#3365) * Connect all nodes to node1 in llmq-chainlocks.py * Bump mocktime after reconnecting nodes * Move LLMQ connection retry timeout into chainparams * Add peer id to \"socket send error\" logs (#3363) * Add masternode flag to result of getpeerinfo * Don\'t relay anything to fMasternode connections * Pass fMasternode variable in VERSION so that the other end knows about it * Track last outbound connection attempts in CMasternodeMetaMan * Logging for outgoing masternode connections * Make pending masternode queue proTxHash based * Fix ThreadOpenMasternodeConnections to not drop pending MN connections * Fix issues introduced with asynchronous signal handling (#3369) * Merge #11839: don\'t attempt mempool entry for wallet transactions on startup if alr… * Merge #11707: [tests] Fix sendheaders * Refactor some PrivateSend related code to use WalletModel instead of accessing the wallet directly from qt (#3345) * Backport 11651 (#3358) * Apply the same fix to evoDb and deterministicMNManager as pblocktree * Remove \"> 0\" from IsArgSet call * Merge #11309: Minor cleanups for AcceptToMemoryPool * Merge #12556: [Trivial] fix version typo in getpeerinfo RPC call help * Merge #12349: shutdown: fix crash on shutdown with reindex-chainstate * Merge #12415: Interrupt loading thread after shutdown request * Merge #12401: Reset pblocktree before deleting LevelDB file * Merge #12368: Hold mempool.cs for the duration of ATMP. * Merge #12374: qt: Make sure splash screen is freed on AppInitMain fail * Merge #12377: qt: Poll ShutdownTimer after init is done * Merge #12367: Fix two fast-shutdown bugs * Merge #12302: test: Make ua_comment test pass on 0.16.0 * Merge #17324: Update univalue subtree * Merge #15703: Update secp256k1 subtree to latest upstream * Merge #15270: Pull leveldb subtree * Merge #9254: [depends] ZeroMQ 4.2.2 * Merge #11714: [tests] Test that mempool rejects coinbase transactions * add include * Merge #11191: RPC: Improve help text and behavior of RPC-logging. * Merge #10154: init: Remove redundant logging code * Merge #11710: cli: Reject arguments to -getinfo * Fix litemode vs txindex check (#3355) * Masternodes must have required services enabled (#3350) * Few tweaks for MakeCollateralAmounts (#3347) * Refactor and simplify PrivateSend based on the fact that we only mix one single denom at a time now (#3346) * Fix walletpassphrase * Use mocktime in wallet-encryption.py * More of 12079 * Fix 11883 * More of 11740 * More of 11836 * Merge #12220: Error if relative -walletdir is specified * Merge #11970: Add test coverage for bitcoin-cli multiwallet calls * Merge #11726: Cleanups + nit fixes for walletdir PR * Merge #12905: [rpcwallet] Clamp walletpassphrase value at 100M seconds * Define constants for keys in CInstantSendDb and use them instead of plain strings (#3352) * Fix undefined behaviour in stacktrace printing. (#3357) * Fix undefined behaviour in unordered_limitedmap and optimise it. (#3349) * More of 10286 * More of 11677 * More of 10871 * fix validationinterface.cpp * Merge #10286: Call wallet notify callbacks in scheduler thread (without cs_main) * Merge #11677: qa: Remove unused NodeConn members * Merge #11043: Use std::unique_ptr (C++11) where possible * Merge #11638: [tests] Dead mininode code * Merge #11513: [trivial] [tests] A few Python3 tidy ups * Merge #10871: Handle getinfo in bitcoin-cli w/ -getinfo (revival of #8843) * Merge #11259: Remove duplicate destination decoding * Merge #12101: Clamp walletpassphrase timeout to 2^30 seconds and check its bounds * Merge #12118: Sort mempool by min(feerate, ancestor_feerate) * Partial Merge #11403: [refactor] GetAccount{PubKey,Address} -> GetAccountDestination * Merge #12079: Improve prioritisetransaction test coverage * Merge #12001: [RPC] Adding ::minRelayTxFee amount to getmempoolinfo and updating help * Merge #10657: Utils: Improvements to ECDSA key-handling code * Merge #11951: Remove dead feeest-file read code for old versions * Merge #11883: Add configuration file/argument testing * Merge #11273: Ignore old format estimation file * Merge #11923: Wallet : remove unused fNoncriticalErrors variable from CWalletDB::FindWalletTx * Merge #11864: Make CWallet::FundTransaction atomic * Merge #11558: Minimal code changes to allow msvc compilation * Merge #11831: Always return true if AppInitMain got to the end * Merge #11836: Rename rpcuser.py to rpcauth.py * Merge #11740: Implement BIP159 NODE_NETWORK_LIMITED (pruned peers) *signaling only * * Merge #11809: gui: Fix proxy setting options dialog crash * Merge #11838: qa: Add getrawtransaction in_active_chain=False test * Merge #10275: [rpc] Allow fetching tx directly from specified block in getrawtransaction * Merge #11830: rpcuser.py: Use \'python\' not \'python2\' * Merge #11729: [docs] links to code style guides * Merge #10838: (finally) remove getinfo * Add configurable devnet quorums (#3348) * Bump nMinimumChainWork and defaultAssumeValid (#3336) * Try to actually accept newly created dstx-es into masternode\'s mempool (#3332) * Partial Merge #10420: Add Qt tests for wallet spends (#3317) * Detect mixing session readiness based on the current pool state (#3328) * Bring back \"about\" menu icon (#3329) * Add pubKeyOperator to `quorum info` rpc response (#3327) * Apply suggestions from code review * Merge #11466: Specify custom wallet directory with -walletdir param * Merge #11621: [build] Add temp_bitcoin_locale_qrc to CLEAN_QT to fix make distcheck * Merge #11654: tests: Initialize recently introduced non-static class member lastCycles to zero in constructor * Merge #11646: Require a steady clock for bench with at least micro precision * Merge #11221: Refactor: simpler read * Merge #11562: bench: use std::chrono rather than gettimeofday * Merge #10866: Fix -Wthread-safety-analysis warnings. Compile with -Wthread-safety-analysis if available. * Merge #11620: [build] .gitignore: add background.tiff * Merge #11460: [depends] mac_alias 2.0.6, ds_store 1.1.2 * Merge #10961: Improve readability of DecodeBase58Check(...) * Merge #10440: [tests] Add libFuzzer support * Merge #10939: [init] Check non-emptiness of -blocknotify command prior to executing * Merge #11443: [qa] Allow \"make cov\" out-of-tree; Fix rpc mapping check * Merge #11419: Utils: Fix launchctl not being able to stop bitcoind * Merge #11421: Merge current secp256k1 subtree * A couple of fixes for CActiveMasternodeManager::Init() (#3326) * Merge #11024: tests: Remove OldSetKeyFromPassphrase/OldEncrypt/OldDec… (#3320) * Merge #10952: [wallet] Remove vchDefaultKey and have better first run… (#3319) * Merge #11272: CKeystore/CCrypter: move relevant implementation out of… (#3318) * Update translations 2020-02-03 (#3322) * Only sync mempool from v0.15+ (proto 70216+) nodes (#3321) * Fix dark text on dark background in combobox dropdowns on windows (#3315) * Fix node protection logic false positives (#3314) * Fix rawtransactions.py * Fix `qt/test/wallettests.cpp` * Merge #11365: [Tests] Add Qt GUI tests to Overview and ReceiveCoin Page * Merge #11193: [Qt] Terminate string *pszExePath after readlink and without using memset * Merge #11284: Fix invalid memory access in CScript::operator+= (guidovranken, ajtowns) * Merge #11303: Fix estimatesmartfee rounding display issue * Merge #10953: [Refactor] Combine scriptPubKey and amount as CTxOut in CScriptCheck * test_bitcoin -> test_dash * Merge #12276: Remove duplicate mapWallet lookups * Merge #12278: Add special error for genesis coinbase to getrawtransaction * Merge #11711: bitcoin_qt.m4: Minor fixes and clean-ups. * Merge #12159: Use the character based overload for std::string::find. * Merge #12108: [Refactor] Remove unused fQuit var from checkqueue.h * Merge #12250: Make CKey::Load references const * Merge #12212: Trivial: Fix spelling in zapwallettxes test description * Merge #12127: Remove unused mempool index * Merge #12168: Trivial: Fix #include sys/fcntl.h to just fcntl.h (without sys/) * Merge #12074: [qt] Optimizes boolean expression model && model->haveWatchOnly() * Merge #11291: Fix string concatenation to os.path.join and add exception case * Merge #11748: [Tests] Adding unit tests for GetDifficulty in blockchain.cpp. * Merge #11475: [rpc] mempoolinfo should take ::minRelayTxFee into account * Merge #11879: [tests] remove redundant univalue_tests.cpp * Merge #11952: [qa] univalue: Bump subtree * Merge #11936: [build] Warn that only libconsensus can be built without Boost * Merge #11886: Clarify getbalance meaning a tiny bit in response to questions. * Merge #11616: Update ban-state in case of dirty-state during periodic sweep * Merge #10839: Don\'t use pass by reference to const for cheaply-copied types (bool, char, etc.) * Merge #11877: Improve createrawtransaction functional tests * Merge #11870: wallet: Remove unnecessary mempool lock in ReacceptWalletTransactions * Merge #11516: crypto: Add test cases covering the relevant HMAC-SHA{256,512} key length boundaries * Merge #11829: Test datadir specified in conf file exists * Add unit tests for CPrivateSend::IsCollateralAmount (#3310) * Refactor PS a bit and make it so that the expected flow for mixing is to time out and fallback (#3309) * bitcoin -> Dash * addressWidget -> search_widget * Merge #11834: [verify-commits] Fix gpg.sh\'s echoing for commits with \'\ \' * Merge #11781: Add `-debuglogfile` option * Merge #11337: Fix code constness in CBlockIndex::GetAncestor() overloads * Merge #11794: Prefix leveldb debug logging * Merge #11783: Fix shutdown in case of errors during initialization * Merge #11395: Qt: Enable searching by transaction id * Merge #11753: clarify abortrescan rpc use * Merge #11737: Document partial validation in ConnectBlock() * Merge #11747: Fix: Open files read only if requested * Merge #11603: Move RPC registration out of AppInitParameterInteraction * Merge #11743: qa: Add multiwallet prefix test * Merge #11698: [Docs] [Qt] RPC-Console nested commands documentation * Merge #11713: Fix for mismatched extern definition in wallet tests * Merge #11140: Trivial: Improve #endif comments * Merge #10920: [qt] Fix potential memory leak in newPossibleKey(ChangeCWallet *wallet) * Merge #11087: Diagnose unsuitable outputs in lockunspent(). * Merge #11655: net: Assert state.m_chain_sync.m_work_header in ConsiderEviction * Merge #11680: [docs] Add instructions for lcov report generation * Merge #11035: [contrib] Add Valgrind suppressions file * Add `automake` package to dash-win-signer\'s packages list (#3307) * Merge #13162: [net] Don\'t incorrectly log that REJECT messages are unknown. * More of 13946 * More of 11583 for Dash-specific code * More of 12218 for Dash-specific code * Fix \"\ \"s * Merge #12855: net: Minor accumulated cleanups * Merge #12626: Limit the number of IPs addrman learns from each DNS seeder * Merge #12342: Extend #11583 to include \"version handshake timeout\" message * Merge #12329: net: don\'t retry failed oneshot connections forever * Merge #12326: net: initialize socket to avoid closing random fd\'s * Merge #12218: net: Move misbehaving logging to net logging category * Merge #11744: net: Add missing locks in net.{cpp,h} * Merge #11583: Do not make it trivial for inbound peers to generate log entries * Merge #11577: Fix warnings (-Wsign-compare) when building with DEBUG_ADDRMAN * Merge #11512: Use GetDesireableServiceFlags in seeds, dnsseeds, fixing static seed adding * Merge #11448: [gui] reset addrProxy/addrSeparateProxyTor if colon char missing * Merge #13946: p2p: Clarify control flow in ProcessMessage * Merge #11363: net: Split socket create/connect * Fix empty TRAVIS_COMMIT_RANGE for one-commit-branch builds in Travis (#3299) * Fix CActiveMasternodeManager::GetLocalAddress to prefer IPv4 if multiple local addresses are known (#3304) * Drop unused `invSet` in `CDKGSession` (#3303) * Update translations 2020-01-23 (#3302) * Fix tests * Revert \"remove explicit on FreespaceChecker\" * fix test/functional/receivedby.py * fix receivedby.py * Merge #10749: Use compile-time constants instead of unnamed enumerations (remove \"enum hack\") * Merge #3716: GUI: Receive: Remove option to reuse a previous address * Merge #11055: [wallet] [rpc] getreceivedbyaddress should return error if called with address not owned by the wallet * Merge #11258: [rpc] Add initialblockdownload to getblockchaininfo * Merge #11269: [Mempool] CTxMemPoolEntry::UpdateAncestorState: modifySiagOps param type * Merge #11353: Small refactor of CCoinsViewCache::BatchWrite() * remove test_bitcoin.cpp * test_dash continued * Merge #11623: tests: Add missing locks to tests * Merge #11316: [qt] Add use available balance in send coins dialog (CryptAxe, promag) * Merge #11074: Assert that CWallet::SyncMetaData finds oldest transaction. * Merge #10368: [wallet] Remove helper conversion operator from wallet * Merge #10696: Remove redundant nullptr checks before deallocation * Merge #11594: Improve -disablewallet parameter interaction * Merge #10529: Improve bitcoind systemd service file * Merge #11552: Improve wallet-accounts test * remove explicit on FreespaceChecker * Merge #11107: Fix races in AppInitMain and others with lock and atomic bools * Merge #11435: build: Make \"make clean\" remove all files created when running \"make check\" * Merge #10409: [tests] Add fuzz testing for BlockTransactions and BlockTransactionsRequest * Merge #11499: [Qt] Add upload and download info to the peerlist (debug menu) * Merge #11635: trivial: Fix typo – alreardy → already * Merge #11524: [net] De-duplicate connection eviction logic * Upgrade Travis to use Bionic instead of Trusty (#3143) * Backport bitcoin#11027: [RPC] Only return hex field once in getrawtransaction (#3298) * Fix dip4-coinbasemerkleroots.py race condition (#3297) * Various fixes for DSTX-es (#3295) * Merge #11117: Prepare for non-Base58 addresses (#3294) * Remove use of NULL in wallet.cpp * Fix 11486 * Fix 11541 * Fix 11452 * Fix 7061 * Replace generic CScopedDBTransaction with specialized CEvoDBScopedCommitter (#3292) * Translations 2020-01 (#3192) * trivial: adding SVG and high contrast icons (#3209) * Update man pages (#3291) * Bump copyright year to 2020 (#3290) * Merge #11624: Docs: Change formatting for sequence of steps * Merge #11585: addrman: Add missing lock in Clear() (CAddrMan) * Merge #11618: rpc: Lock cs_main in blockToJSON/blockheaderToJSON * Merge #11626: rpc: Make `logging` RPC public * Merge #11480: [ui] Add toggle for unblinding password fields * Merge #11611: [build] Don\'t fail when passed --disable-lcov and lcov isn\'t available * Merge #11511: [Init] Remove redundant exit(EXIT_FAILURE) instances and replace with return false * Merge #11571: Fixed a couple small grammatical errors. * Merge #11573: [Util] Update tinyformat.h * Merge #11541: Build: Fix Automake warnings when running autogen.sh * Merge #11452: Improve ZMQ functional test * Merge #11467: Fix typos. Use nullptr instead of NULL. * Merge #11495: [trivial] Make namespace explicit for is_regular_file * Merge #11486: [tests] Add uacomment tests * Merge #11508: Fix crash via division by zero assertion * Merge #11062: [mempool] Mark mempool import fails that were found in mempool as \'already there\' * add second arg for ScanForWalletTransactions * Merge #11496: [Trivial] Add missing comma from rescanblockchain example * Merge #7061: [Wallet] Add RPC call \"rescanblockchain \" * Merge #10099: Slightly Improve Unit Tests for Checkqueue * Merge #10898: Fix invalid checks (NULL checks after dereference, redundant checks, etc.) * Define defaultTheme and darkThemePrefix as constants and use them instead of plain strings (#3288) * More of bitcoin#10888 * Bump PROTOCOL_VERSION to 70216 (#3287) * Let regtest have its own qt settings (#3286) * Only load valid themes, fallback to \"Light\" theme otherwise (#3285) * Have to prepare the chain manually in blockchain.py * bitcoind->dashd * assert_raises_jsonrpc -> assert_raises_rpc_error * Merge #10672: Avoid division by zero in the case of a corrupt estimates file * Merge #11073: Remove dead store in ecdsa_signature_parse_der_lax. * Merge #11133: Document assumptions that are being made to avoid division by zero * Merge #11420: Bump univalue subtree and fix json formatting in tests * Merge #10941: Add blocknotify and walletnotify functional tests * Merge #11367: [rpc] getblockchaininfo: add size_on_disk, prune_target_size * Merge #11411: script: Change SignatureHash input index check to an assert. * Merge #11021: [rpc] fix getchaintxstats() * Merge #11432: Remove unused fTry from push_lock * Merge #11418: Add error string for CLEANSTACK script violation * Merge #10663: net: split resolve out of connect * Merge #10858: [RPC] Add \"errors\" field to getblockchaininfo and unify \"errors\" field in get *info RPCs * Merge #11031: [rpc] deprecate estimatefee * Merge #11288: More user-friendly error message when partially signing * Merge #11370: [test] Add getblockchaininfo functional test * Merge #11301: add m_added_nodes to connman options * Merge #11380: Remove outdated share/certs/ directory * Merge #11351: Refactor: Modernize disallowed copy constructors/assignment * Merge #10888: range-based loops and const qualifications in net.cpp * Merge #11323: mininode: add an optimistic write and disable nagle * [tests] Remove Comparison Test Framework * [tests] Remove bip9-softforks.py * Backport bitcoin#11817: [tests] Change feature_csv_activation.py to use BitcoinTestFramework (#3278) * Backport bitcoin#11773: [tests] Change feature_block.py to use BitcoinTestFramework (#3277) * Fix whitespaces to make linter happy * More of 11300 * Fixes after 10753 * More of 10753 * More of 10793 * More of 10969 * More of 10680 * Merge #11469: fix typo in comment of chain.cpp * Merge #11408: Trivial: Fix parameter name typo in ErasePurpose walletdb method * Merge #11392: Fix stale link in gitian-building.md * Merge #11390: [docs] document scripted-diff * Merge #11385: Remove some unused functions and methods * Merge #11132: Document assumptions that are being made to avoid NULL pointer dereferences * Merge #11340: Trivial: Fix validation comments * Merge #11330: Trivial: Fix comments for DEFAULT_WHITELIST[FORCE]RELAY * Merge #10767: [wallet] Clarify wallet initialization / destruction interface * Merge #11238: Add assertions before potential null deferences * keep nVersion as 16 byte integer * Merge #8330: Structure Packing Optimizations in C{,Mutable}Transaction * Merge #11246: github-merge: Coalesce git fetches * Merge #11173: RPC: Fix currency unit string in the help text * Merge #10976: [MOVEONLY] Move some static functions out of wallet.h/cpp #10976 Move some static functions out of wallet.h/cpp * Merge #10969: Declare single-argument (non-converting) constructors \"explicit\" * contrib: Ignore historical release notes for whitespace check * Merge #11300: Tests: Add a lint check for trailing whitespace *dash * no travis * Merge #10753: test: Check RPC argument mapping *dash * no travis * Merge #11078: [tests] Make p2p-leaktests.py more robust * Merge #10691: Trivial: Properly comment about shutdown process in init.cpp file. * Merge #11268: [macOS] remove Growl support, remove unused code * Merge #11286: [depends] Don\'t build libevent sample code * Merge #10793: Changing &var[0] to var.data() * Merge #10916: add missing lock to crypter GetKeys() * Merge #11232: Ensure that data types are consistent * Merge #10680: Fix inconsistencies and grammar in various files * Don\'t load caches when blocks/chainstate was deleted and also delete old caches (#3280) * [Pretty Trivial] Adjust some comments (#3252) * Speed up prevector initialization and vector assignment from prevectors (#3274) * Fix log output after backporting 10303 (#3275) * Show quorum connections in \"quorum dkgstatus\" and use it in mine_quorum (#3271) * Merge #14630: test_runner: Remove travis specific code * Merge #13105: [qa] Add --failfast option to functional test runner * Use smaller LLMQs in regtest (#3269) * Add -whitelist to all nodes in smartfees.py (#3273) * Drop new connection instead of old one when duplicate MNAUTH is received (#3272) * Make a deep copy of extra_args before modifying it in set_dash_test_params (#3270) * A few optimizations/speedups for Dash related tests (#3268) * AppInitMain should quit early and return `false` if shutdown was requested at some point (#3267) * Tweak few more strings re mixing and balances (#3265) * Merge #10770: Drop upgrade-cancel callback registration for a generic \"cancelable\" * Merge #10596: Add vConnect to CConnman::Options * Merge #10303: [bench] Include ms/blk stats in Connect * benchmarks. * Merge #10843: Add attribute [[noreturn]] (C++11) to functions that will not return * Merge #11039: Avoid second mapWallet lookup * Merge #11156: Fix memory leaks in qt/guiutil.cpp * Merge #10911: [qt] Fix typo and access key in optionsdialog.ui * Merge #10845: Remove unreachable code * Merge #10777: [tests] Avoid redundant assignments. Remove unused variables * Merge #10781: Python cleanups * Merge #10809: optim: mark a few classes final * Merge #10901: Fix constness of ArgsManager methods * Merge #10645: Use nullptr (C++11) instead of zero (0) as the null pointer constant * Merge #10965: Replace deprecated throw() with noexcept specifier (C++11) * PARTIAL Merge #12917: qa: Windows fixups for functional tests * Merge #11125: Add bitcoin-cli -stdin and -stdinrpcpass functional tests * Merge #11099: [RPC][mempool]: Add savemempool RPC * Merge #11179: rpc: Push down safe mode checks * Merge #10997: RPC: Add option -stdinrpcpass to bitcoin-cli to allow RPC password to be read from standard input * Merge #11050: Avoid treating null RPC arguments different from missing arguments * Merge #9964: Add const to methods that do not modify the object for which it is called * Merge #10964: Pass SendCoinsRecipient (208 bytes) by reference * Use -Wno-psabi for arm builds on Travis/Gitlab (#3264) * A few fixes for integration tests (#3263) * Merge #10682: Trivial: Move the AreInputsStandard documentation next to its implementation * Merge #11219: [docs] explain how to recompile a modified unit test * Merge #11135: Update developer notes with RPC response guidelines * Merge #11143: Fix include path for bitcoin-config.h * Merge #11164: Fix boost headers included as user instead of system headers * Merge #11236: Add note on translations to CONTRIBUTING.md * Merge #10701: Remove the virtual specifier for functions with the override specifier * Merge #11144: Move local include to before system includes * Merge #11161: Remove redundant explicitly defined copy ctors * Merge #11138: Compat: Simplify bswap_16 implementation * Merge #11169: [GUI] Make tabs toolbar no longer have a context menu * Merge #11160: Improve versionbits_computeblockversion test code consistency * Merge #11155: Trivial: Documentation fixes for CVectorWriter ctors * Merge #11151: Fix header guards using reserved identifiers * Merge #11112: [developer-notes] By default, declare single-argument constructors \"explicit\" * Merge #10679: Document the non-DER-conformance of one test in tx_valid.json. * Merge #11007: wallet: Fix potential memory leak when loading a corrupted wallet file * Merge #11058: Comments: More comments on functions/globals in standard.h. * Merge #11026: Bugfix: Use testnet RequireStandard for -acceptnonstdtxn default * Merge #11094: Docs: Hash in ZMQ hash is raw bytes, not hex * Merge #11066: Document the preference of nullptr over NULL or (void *)0 * Merge #10878: Docs: Fix Markdown formatting issues in init.md * Merge #11071: Use static_assert(…, …) (C++11) instead of assert(…) where appropriate * Merge #11011: [Trivial] Add a comment on the use of prevector in script. * Merge #10956: Fix typos * Merge #10705: Trivial: spelling fixes * Merge #10917: developer-notes: add reference to snake_case and PascalCase * Merge #10461: Update style guide * Merge #11008: Enable disablesafemode by default. * Backport osslsigncode 2.0 - bitcoin#16669 and bitcoin#17671 (#3258) * Don\'t disconnect masternode connections when we have less then the desired amount of outbound nodes (#3255) * Sync mempool from other nodes on start (#3251) * Push islock invs when syncing mempool (#3250) * Streamline, refactor and unify PS checks for mixing entries and final txes (#3246) * Fix params.size() check in \"protx list wallet\" RPC (#3259) * Add basic PrivateSend RPC Tests (#3254) * move privatesend rpc methods from rpc/masternode.cpp to new rpc/privatesend.cpp (#3253) * Fix pull request detection in .gitlab-ci.yml (#3256) * Skip mnsync restrictions for whitelisted and manually added nodes (#3249) * Try to avoid being marked as a bad quorum member when we sleep for too long in SleepBeforePhase (#3245) * Fix log output in CDKGPendingMessages::PushPendingMessage (#3244) * Bump version to 0.16 on develop (#3239) * Tolerate parent cache with empty cache-artifact directory (#3240) * Tue Feb 18 2020 marecAATTdetebe.org- Update to version 0.15.0.0: * Update release-notes * Bump nMinimumChainWork and defaultAssumeValid (#3336) * Update release notes * Try to actually accept newly created dstx-es into masternode\'s mempool (#3332) * Switch CLIENT_VERSION_IS_RELEASE to `true` for v0.15 (#3306) * Update release notes * Bring back \"about\" menu icon (#3329) * Add pubKeyOperator to `quorum info` rpc response (#3327) * Update release-notes.md * Update translations 2020-02-03 (#3322) * Only sync mempool from v0.15+ (proto 70216+) nodes (#3321) * Fix dark text on dark background in combobox dropdowns on windows (#3315) * Fix node protection logic false positives (#3314) * Merge #13162: [net] Don\'t incorrectly log that REJECT messages are unknown. * More of 13946 * Merge #13946: p2p: Clarify control flow in ProcessMessage * Add `automake` package to dash-win-signer\'s packages list (#3307) * [Trivial] Release note update (#3308) * Update release-notes.md * Fix CActiveMasternodeManager::GetLocalAddress to prefer IPv4 if multiple local addresses are known (#3304) * Drop unused `invSet` in `CDKGSession` (#3303) * Update translations 2020-01-23 (#3302) * Fix dip4-coinbasemerkleroots.py race condition (#3297) * Various fixes for DSTX-es (#3295) * Update release-notes.md * Replace generic CScopedDBTransaction with specialized CEvoDBScopedCommitter (#3292) * Translations 2020-01 (#3192) * Bump copyright year to 2020 (#3290) * Update man pages (#3291) * trivial: adding SVG and high contrast icons (#3209) * Define defaultTheme and darkThemePrefix as constants and use them instead of plain strings (#3288) * Bump PROTOCOL_VERSION to 70216 (#3287) * Let regtest have its own qt settings (#3286) * Only load valid themes, fallback to \"Light\" theme otherwise (#3285) * v0.15 release notes draft (#3283) * Don\'t load caches when blocks/chainstate was deleted and also delete old caches (#3280) * Drop new connection instead of old one when duplicate MNAUTH is received (#3272) * AppInitMain should quit early and return `false` if shutdown was requested at some point (#3267) * Tweak few more strings re mixing and balances (#3265) * Use -Wno-psabi for arm builds on Travis/Gitlab (#3264) * A few fixes for integration tests (#3263) * Fix params.size() check in \"protx list wallet\" RPC (#3259) * Backport osslsigncode 2.0 - bitcoin#16669 and bitcoin#17671 (#3258) * Fix pull request detection in .gitlab-ci.yml (#3256) * Don\'t disconnect masternode connections when we have less then the desired amount of outbound nodes (#3255) * move privatesend rpc methods from rpc/masternode.cpp to new rpc/privatesend.cpp (#3253) * Sync mempool from other nodes on start (#3251) * Push islock invs when syncing mempool (#3250) * Skip mnsync restrictions for whitelisted and manually added nodes (#3249) * Streamline, refactor and unify PS checks for mixing entries and final txes (#3246) * Try to avoid being marked as a bad quorum member when we sleep for too long in SleepBeforePhase (#3245) * Fix log output in CDKGPendingMessages::PushPendingMessage (#3244) * Tolerate parent cache with empty cache-artifact directory (#3240) * Add ccache to gitian packages lists (#3237) * Fix menu bar text color in Dark theme (#3236) * Bump wait_for_chainlocked_block_all_nodes timeout in llmq-is-retroactive.py to 30 sec when mining lots of blocks at once (#3238) * Update static and dns seeds for mainnet and testnet (#3234) * Modify makesseeds.py to work with \"protx list valid 1\" instead of \"masternode list (#3235) * Make sure mempool txes are properly processed by CChainLocksHandler despite node restarts (#3226) * Merge #12392: Fix ignoring tx data requests when fPauseSend is set on a peer (#3225) * Slightly refactor CDKGSessionHandler::SleepBeforePhase (#3224) * Don\'t join thread in CQuorum::~CQuorum when called from within the thread (#3223) * Allow re-signing of IS locks when performing retroactive signing (#3219) * Tests: Fix the way nodes are connected to each other in setup_network/start_masternodes (#3221) * Decouple cs_mnauth/cs_main (#3220) * Tests: Allow specifying different cmd-line params for each masternode (#3222) * Tweak \"Send\" popup and refactor related code a bit (#3218) * Add Dark theme (#3216) * Dashify few strings (#3214) * Add collateral, owner and voting addresses to masternode list table (#3207) * Remove light-hires theme as it\'s not required anymore * Merge #16254: qt: Set AA_EnableHighDpiScaling attribute early * Bump version to 0.15 and update few const-s/chainparams (#3204) * Compliance changes to terminology (#3211) * Fix styles for progress dialogs, shutdown window and text selection (#3212) * Fix off-by-one error for coinbase txes confirmation icons (#3206) * Fix styling for disabled buttons (#3205) * Actually apply CSS styling to RPC console (#3201) * More Qt tweaks (#3200) * Few Qt tweaks (#3199) * Hold cs_main/cs_wallet in main MakeCollateralAmounts (#3197) * Fix locking of funds for mixing (#3194) * Refactor some pow functions (#3198) * A few trivial fixes for RPCs (#3196) * Two trivial fixes for logs (#3195) * Should mark tx as a PS one regardless of change calculations in CreateTransaction (#3193) * trivial: Rename txid paramater for gobject voteraw (#3191) * Detect masternode mode from masternodeblsprivkey arg (#3188) * Translations201909 (#3107) * Slightly optimize ApproximateBestSubset and its usage for PS txes (#3184) * Fix 3182: Append scrollbar styles (#3186) * Fix Dash specific docs and scripts * Merge #12607: depends: Remove ccache * Add a simple test for payoutAddress reuse in `protx update_registrar` (#3183) * Disable styling for scrollbars on macos (#3182) * A couple of fixes for additional indexes (#3181) * Add Qt GUI refresh w/branding updates (#3000) * Update activemn if protx info changed (#3176) * Refactor nonLockedTxsByInputs (#3178) * Allow empty strings in `protx update_registrar` as an option to re-use current values (#3177) * Slightly adjust some README.md files (#3175) * Always run extended tests in Gitlab CI (#3173) * Handle coin type via CCoinControl (#3172) * Merge #11252: [P2P] When clearing addrman clear mapInfo and mapAddr. (#3171) * Don\'t show individual messages for each TX when too many come in at once (#3170) * Fix 2 more bottlenecks causing GUI lockups (#3169) * Actually update spent index on DisconnectBlock (#3167) * Only track last seen time instead of first and last seen time (#3165) * Merge #12804: [tests] Fix intermittent rpc_net.py failure. * Merge #12545: test: Use wait_until to ensure ping goes out * Wait for sporks to propagate in llmq-chainlocks.py before mining new blocks (#3168) * Make HD wallet warning a bit more natural (#3164) * Improved messaging for ip address errors (#3163) * Disable move ctor/operator for CKeyHolder (#3162) * Fix largest part of GUI lockups with large wallets (#3155) * Merge #17118: build: depends macOS: point --sysroot to SDK * Use wallet UTXOs whenever possible to avoid looping through all wallet txes (#3156) * Merge #14413: tests: Allow closed rpc handler in assert_start_raises_init_error (#3157) * Fix Gitlab cache issues (#3160) * Partially revert 3061 (#3150) * Few fixes related to SelectCoinsGroupedByAddresses (#3144) * Don\'t use $CACHE_DIR in after_script (#3159) * Replace vecAskFor with a priority queue (#3147) * Add missing \"notfound\" and \"getsporks\" to messagemap (#3146) * Avoid propagating InstantSend related old recovered sigs (#3145) * Add support for Gitlab CI (#3149) * Fix compilation * Merge #14670: http: Fix HTTP server shutdown * Merge #11006: Improve shutdown process * Merge #12366: http: Join worker threads before deleting work queue * Qt: Remove old themes (#3141) * Some refactoring for spork related functionality in tests (#3137) * Introduce getprivatesendinfo and deprecate getpoolinfo (#3140) * Various fixes for mixing queues (#3138) * Fixes and refactorings related to using mnsync in tests (#3136) * Run orphan TX handling tests twice, once by resolving via mempool and once via block * Also handle/resolve orphan TXs when parents appear in a block * Remove RBF related code * Interrupt orphan processing after every transaction * [MOVEONLY] Move processing of orphan queue to ProcessOrphanTx * Simplify orphan processing in preparation for interruptibility * Remove unnecessary time imports * Merge #8498: Near-Bugfix: Optimization: Minimize the number of times it is checked that no money... * Merge #13003: qa: Add test for orphan handling * [Trivial] RPC help updates (#3134) * Merge #11772: [tests] Change invalidblockrequest to use BitcoinTestFramework * Use NodeConnCB as base for P2PDataStore * Merge #11771: [tests] Change invalidtxrequest to use BitcoinTestFramework * Merge #11849: [tests] Assert that only one NetworkThread exists * Merge #11641: qa: Only allow disconnecting all NodeConns * Merge #11182: [tests] Add P2P interface to TestNode * Add more logging to DashTestFramework (#3130) * Temporarily remove arguments to BENCHMARK * Merge #12324: speed up Unserialize_impl for prevector * Merge #12549: Make prevector::resize() and other prevector operations much faster * Multiple fixes for ChainLock tests (#3129) * Actually pass extra_args to nodes in assumevalid.py (#3131) * Refactor some Dash-specific `wait_for *` functions in tests (#3122) * Dashify * Merge #13611: [bugfix] Use __cpuid_count for gnu C to avoid gitian build fail. * Merge #13788: Fix --disable-asm for newer assembly checks/code * Merge #13386: SHA256 implementations based on Intel SHA Extensions * Merge #13393: Enable double-SHA256-for-64-byte code on 32-bit x86 * Merge #13471: For AVX2 code, also check for AVX, XSAVE, and OS support * Merge #13438: Improve coverage of SHA256 SelfTest code * Merge #13408: crypto: cleanup sha256 build * Merge #13191: Specialized double-SHA256 with 64 byte inputs with SSE4.1 and AVX2 * Merge #11176: build: Rename --enable-experimental-asm to --enable-asm and enable by default * Also consider txindex for transactions in AlreadyHave() (#3126) * Fix scripted diff check condition (#3128) * Bump mocktime before generating new blocks and generate a few blocks at the end of `test_mempool_doublespend` in `p2p-instantsend.py` (#3125) * Few fixes for `wait_for_instantlock` (#3123) * Ignore recent rejects filter for locked txes (#3124) * Whitelist nodes in llmq-dkgerrors.py (#3112) * Make orphan TX map limiting dependent on total TX size instead of TX count (#3121) * Remove commented out code (#3117) * Remove now redundant and actually erroneous throwing of \"Invalid blockhash\" * Merge #11676: contrib/init: Update openrc-run filename * Merge #11289: Add wallet backup text to import * and add * RPCs * Merge #11277: Fix uninitialized URI in batch RPC requests * Merge #11590: [Wallet] always show help-line of wallet encryption calls * Merge #11554: Sanity-check script sizes in bitcoin-tx * Merge #11539: [verify-commits] Allow revoked keys to expire * Add missing comment * Merge #11565: Make listsinceblock refuse unknown block hash * Update OpenBSD build docs as in bitcoin#11442 * Merge #11530: Add share/rpcuser to dist. source code archive * Merge #11521: travis: move back to the minimal image * Few assert_raises_jsonrpc -> assert_raises_rpc_error fixes * Adjust STALE_CHECK_INTERVAL to be 2.5 minutes instead of 10 minutes * Don\'t disconnect masternodes just because they were slow in block announcement * Fix minchainwork.py * Remove uses of NODE_WITNESS * Merge #11593: rpc: work-around an upstream libevent bug * Merge #11560: Connect to a new outbound peer if our tip is stale * Move DEFAULT_BLOCK_RECONSTRUCTION_EXTRA_TXN up * Merge #11531: Check that new headers are not a descendant of an invalid block (more effeciently) * Merge #11578: net: Add missing lock in ProcessHeadersMessage(...) * Merge #11568: Disconnect outbound peers on invalid chains * Merge #11490: Disconnect from outbound peers with bad headers chains * Merge #11326: Fix crash on shutdown with invalid wallet * Make CDBEnv::IsMock() const * More \"connman.\" to \"connman->\" changes * Merge #10756: net processing: swap out signals for an interface class * Merge #11456: Replace relevant services logic with a function suite. * Merge #11458: Don\'t process unrequested, low-work blocks * Merge #10357: Allow setting nMinimumChainWork on command line * Merge #11472: qa: Make tmpdir option an absolute path, misc cleanup * Merge #11476: Avoid opening copied wallet databases simultaneously * Merge #11492: [wallet] Fix leak in CDB constructor * Merge #11376: Ensure backupwallet fails when attempting to backup to source file * scripted-diff: rename assert_raises_jsonrpc to assert_raises_rpc error * [tests] do not allow assert_raises_message to be called with JSONRPCException * [tests] remove direct testing on JSONRPCException from individual test cases * docs: Add packages for building in Alpine Linux (#3115) * A couple of minor improvements in IS code (#3114) * Wait for the actual best block chainlock in llmq-chainlocks.py (#3109) * Make sure chainlocks and blocks are propagated in llmq-is-cl-conflicts.py before moving to next steps (#3108) * Remove more SegWit related tests from script_standard_tests.cpp * Dashify a few strings in tests * Drop accidently added lines in release-notes.md * Fix \"os\" import in wallet-dump.py * Merge #11483: Fix importmulti bug when importing an already imported key * Merge #11465: rpc: Update named args documentation for importprivkey * Merge #11397: net: Improve and document SOCKS code * Merge #11437: [Docs] Update Windows build instructions for using WSL and Ubuntu 17.04 * Merge #9937: rpc: Prevent `dumpwallet` from overwriting files * Merge #11440: Fix validationinterface build on super old boost/clang * Merge #11338: qt: Backup former GUI settings on `-resetguisettings` * Merge #11318: Put back inadvertently removed copyright notices * Merge #11335: Replace save|restoreWindowGeometry with Qt functions * Merge #11015: [Qt] Add delay before filtering transactions * Merge #11267: rpc: update cli for estimate *fee argument rename * Implement WalletModel::IsSpendable for CScript * Merge #11247: qt: Use IsMine to validate custom change address * Merge #11131: rpc: Write authcookie atomically * Merge #10957: Avoid returning a BIP9Stats object with uninitialized values * Merge #11017: [wallet] Close DB on error. * Fix maxuploadtarget.py * Fix zmq_test.py * Fix hash256() imports * Allow ignoring of known messages in mininode.py * Fix mining.py * Remove SegWit tests from script_standard_tests.cpp * A few compilation fixes * qa: Fix lcov for out-of-tree builds * Merge #11433: qa: Restore bitcoin-util-test py2 compatibility * Merge #11399: Fix bip68-sequence rpc test * Merge #11422: qa: Verify DBWrapper iterators are taking snapshots * qa: Treat mininode p2p exceptions as fatal * Merge #10552: [Test] Tests for zmqpubrawtx and zmqpubrawblock * Merge #11116: [script] Unit tests for script/standard and IsMine functions. * Merge #11310: [tests] Test listwallets RPC * Merge #11230: [tests] fixup dbcrash interaction with add_nodes() * [test] Replace check_output with low level version * [test] Add assert_raises_process_error to assert process errors * [test] Add support for custom arguments to TestNodeCLI * [test] Improve assert_raises_jsonrpc docstring * Partially backport bitcoin#10838 for bitcoin_cli.py * Merge #11067: [qa] TestNode: Add wait_until_stopped helper method * Merge #11210: Stop test_bitcoin-qt touching ~/.bitcoin * Merge #11234: Remove redundant testutil.cpp|h files * Merge #11241: [tests] Improve signmessages functional test * Merge #11215: [tests] fixups from set_test_params() * Fix DashTestFramework and tests depending on it * Fix issues with set_test_params and start/stop_node * Fix stderr related issues * Allow to set self.stderr when using vanilla setup_nodes() * Fix dip3-deterministicmns.py * Allow calling add_nodes multiple times without reusing datadirs * Merge #11121: TestNode tidyups * Merge #11150: [tests] Add getmininginfo test * Merge #10859: RPC: gettxout: Slightly improve doc and tests * Dashify BITCOINCLI * Merge #10798: [tests] [utils] test bitcoin-cli * No need to assert wait_until * Merge #11068: qa: Move wait_until to util * Merge #11077: [tests] fix timeout issues from TestNode * Merge #11091: test: Increase initial RPC timeout to 60 seconds * Move -createwalletbackups=0 into test_node.py * Dashify test_node.py * Use TestNode.node_encrypt_wallet * Remove Dash specific leftovers of node.stop optimization * Merge #10711: [tests] Introduce TestNode * scripted-diff: Refactor llmq type consensus param names (#3093) * Merge #10854: Avoid using sizes on non-fixed-width types to derive protocol constants. * Fix rawtransaction.py test * Remove unsupported parameter from DecodeHexTx calls * Merge #11334: qt: Remove custom fee radio group and remove nCustomFeeRadio setting * Merge #11108: Changing -txindex requires -reindex, not -reindex-chainstate * Merge #11145: Fix rounding bug in calculation of minimum change * Merge #11119: [doc] build-windows: Mention that only trusty works * Merge #11097: gitian: quick hack to fix version string in releases * Merge #11081: Add length check for CExtKey deserialization (jonasschnelli, guidovranken) * Merge #11083: Fix combinerawtransaction RPC help result section * Merge #10571: [RPC]Move transaction combining from signrawtransaction to new RPC * Introduce getbestchainlock rpc and fix llmq-is-cl-conflicts.py (#3094) * Respect `logips` config option in few more log outputs (#3078) * Fix a couple of issues with PS fee calculations (#3077) * Circumvent BIP69 sorting in fundrawtransaction.py test (#3100) * Add OpenSSL termios fix for musl libc (#3099) * Ensure execinfo.h and linker flags set in autoconf (#3098) * Refresh zmq 4.1.5 patches (#3092) * Fix chia_bls include prefix (#3091) * Remove unused code (#3097) * resolve NIT, remove extra line * move `deterministicMNManager->UpgradeDBIfNeeded();` to be after LoadChainTip * add back the todo * Drop unused GetScriptForWitness * Fix remaining issues * Merge #11044: [wallet] Keypool topup cleanups * revert unintentional change, 10758 * remove `LogPrintf(\"Initializing databases...\ \");` * Merge #11028: Avoid masking of difficulty adjustment errors by checkpoints * fix * Merge #11022: Basic keypool topup * Merge #10919: Fix more init bugs. * A couple of fixes * Remove segwit related code * BIP143: Signing logic * BIP143: Verification logic * Refactor script validation to observe amounts * add gargs * remove chainparams from method call (10758) * change nEnd to index (might break the progress bar on wallet creation, should test) * Merge #10862: Remove unused variable int64_t nEnd. Fix typo: \"conditon\" → \"condition\". * remove rewinding blocks * Merge #10758: Fix some chainstate-init-order bugs. * Merge #10789: Punctuation/grammer fixes in rpcwallet.cpp * add a zero to the GenerateNewKey call * internal -> fInternal * Merge #10795: No longer ever reuse keypool indexes * Merge #10707: Better API for estimatesmartfee RPC * Don\'t care about governance cache while the blockchain isn\'t synced yet (#3089) * Use chainparams factory for devnet (#3087) * When mixing, always try to join an exsisting queue, only fall back to starting a new queue (#3085) * Tools window: Information - make \"InstantSend locks\" and \"Number of Masternodes\" fields copyable * Masternodes should have no wallet enabled (#3084) * Remove liquidity provider privatesend (#3082) * Clarify default max peer connections (#3081) * sat -> duff * Use chainparams passed into ATMPW * Drop segwit related parts and fix cs_main issues * Backport meaningful parts of 8149/2b1f6f9ccf36f1e0a2c9d99154e1642f796d7c2b * Merge #13527: policy: Remove promiscuousmempoolflags * add dip3params * Merge bitcoin#10695: [qa] Rewrite BIP65/BIP66 functional tests * Merge #10192: Cache full script execution results in addition to signatures * Merge #10835: Rename member field according to the style guide * Merge #11029: [RPC] trivial: gettxout no longer shows version of tx * Merge #10949: Clarify help message for -discardfee * Merge #10817: Redefine Dust and add a discard_rate * Merge #10784: Do not allow users to get keys from keypool without reserving them * Merge #10501: remove some unused functions -- ignoring removal of SetPort due to dash#2168 * Merge #10914: Add missing lock in CScheduler::AreThreadsServicingQueue() * Still pass the disconect block index * Fix includes * fix some things * remove extra arg * Merge #10179: Give CValidationInterface Support for calling notifications on the CScheduler Thread * Merge #10655: Properly document target_confirmations in listsinceblock * Merge #10799: Prevent user from specifying conflicting parameters to fundrawtx * Merge #10833: Fix typos * fix all of the problems * add gArgs * remove some rbf * Merge #10706: Improve wallet fee logic and fix GUI bugs * Merge #10662: Initialize randomness in benchmarks * Merge #10314: Remove unused forward declaration for non-existent ScriptPubKeyToJSON(...) * Reduce non-debug PS log output (#3076) * Add LDFLAGS_WRAP_EXCEPTIONS to dash_fuzzy linking (#3075) * Update/modernize macOS plist (#3074) * Fix bip69 vs change position issue (#3063) * Refactor few things here and there (#3066) * Merge #10757: RPC: Introduce getblockstats to plot things (#3058) * Update/unify `debug` and `logging` rpc descriptions (#3071) * Add missing tx `type` to `TxToUniv` (#3069) * Few fixes in docs/comments (#3068) * Add missing `instantlock`/`instantlock_internal` to `getblock`\'s `verbosity=2` mode (#3067) * Change regtest and devnet p2p/rpc ports (#3064) * dashify what made sense in fuzzing.md * Code Review fixes * bitcoin -> dash * Merge #10415: [tests] Speed up fuzzing by ~200x when using afl-fuzz * Merge #9691: Init ECC context for test_bitcoin_fuzzy. * Merge #9354: Make fuzzer actually test CTxOutCompressor * Merge #9172: Resurrect pstratem\'s \"Simple fuzzing framework\" * Rework govobject/trigger cleanup a bit (#3070) * Fix SelectCoinsMinConf to allow instant respends (#3061) * RPC Getrawtransaction fix (#3065) * Added getmemoryinfo parameter string update (#3062) * Add a few malleability tests for DIP2/3 transactions (#3060) * RPC Fix typo in getmerkleblocks help (#3056) * Add the public GPG key for Pasta for Gitian building (#3057) * Merge #11308: [qa] zapwallettxes: Wait up to 3s for mempool reload (#3051) * Remove p2p alert leftovers (#3050) * Backport bitcoin#10831: Batch flushing operations to the walletdb during top up and increase keypool size (#3045) * Resolve merge issues * More mocktime related fixes * fix wait_node * simplify `stop_node` * remove duplicate import * re-add import shutil * Dashify * adjust number of parameters in sendmany * Few more tiny trivial fixes * s/bitcoind/dashd/ in some places * fix imports * Add missing dash-specific parts * `_wait_for_bitcoind_start` should be a part of BitcoinTestFramework * Refactor/fix mocktime usage in tests * Fix GetMinimumFee changes * Fix rpcs * Drop rbf-related parts * Wallet: Refactor FundTransaction to accept parameters via CCoinControl * Merge #10589: More economical fee estimates for RBF and RPC options to control * Fix amounts formatting in `decoderawtransaction` and `getsuperblockbudget` * Merge #10556: Move stop/start functions from utils.py into BitcoinTestFramework * fix indendation in wallet.cpp * backport part of #10481 * Merge #10792: Replace MAX_OPCODE for OP_NOP10. * #10483 scripted-diff: Use the C++11 keyword nullptr to denote the pointer literal instead of the macro NULL * Merge #11012: Make sure to clean up mapBlockSource if we\'ve already seen the block * Merge #10968: Add instructions for parallel gitian builds. * Merge #11032: [qa] Fix block message processing error in sendheaders.py * Merge #10765: Tests: address placement should be deterministic by default * Merge #11025: qa: Fix inv race in example_test * Merge #10963: [bench] Restore format state of cout after printing with std::fixed/setprecision * Merge #11003: Docs: Capitalize bullet points in CONTRIBUTING guide * Merge #10999: Fix amounts formatting in `decoderawtransaction` * Merge #10977: [net] Fix use of uninitialized value in getnetworkinfo(const JSONRPCRequest&) * Merge #10971: build: fix missing sse42 in depends builds * Merge #10985: Add undocumented -forcecompactdb to force LevelDB compactions * Merge #10942: Eliminate fee overpaying edge case when subtracting fee from recipients * Merge #10958: Update to latest Bitcoin patches for LevelDB * Merge #10885: Reject invalid wallets * Merge #10931: Fix misleading \"Method not found\" multiwallet errors * Merge #10865: Move CloseSocket out of SetSocketNonBlocking and pass socket as const reference * Merge #9622: [rpc] listsinceblock should include lost transactions when parameter is a reorg\'d block * Merge #10893: [QA] Avoid running multiwallet.py twice * Merge #10604: [wallet] [tests] Add listwallets RPC, include wallet name in `getwalletinfo` and add multiwallet test * Merge #10775: nCheckDepth chain height fix * Merge #10712: Add change output if necessary to reduce excess fee * Merge #10543: Change API to estimaterawfee * Merge #10598: Supress struct/class mismatch warnings introduced in #10284 * Merge #10284: Always log debug information for fee calculation in CreateTransaction * Merge #10769: [Qt] replace fee slider with a Dropdown, extend conf. targets * Merge #10783: [RPC] Various rpc argument fixes * Re-verify invalid IS sigs when the active quorum set rotated (#3052) * Remove recovered sigs from the LLMQ db when corresponding IS locks get confirmed (#3048) * Add \"instantsendlocks\" to getmempoolinfo RPC (#3047) * Bail out properly on Evo DB consistency check failures in ConnectBlock/DisconnectBlock (#3044) * Drop state from DisconnectBlock params (finilize 10297 backport) * add #if ENABLE_MINER to relevant sections * Fix makefile * Fix tests * Merge #10683: rpc: Move the `generate` RPC call to rpcwallet * Merge #11002: [wallet] return correct error code from resendwallettransaction * Merge #10995: Fix resendwallettransactions assert failure if -walletbroadcast=0 * add gArgs * remove DB_PEAK_USAGE_FACTOR * Merge #10148: Use non-atomic flushing with block replay * disable jni in builds * Merge #11000: test: Add resendwallettransactions functional tests * Merge #11023: [tests] Add option to attach a python debugger if functional test fails * Merge #10301: Check if sys/random.h is required for getentropy. * Merge #10974: Fix typo in sendcoinsdialog. * Merge #10892: Replace traditional for with ranged for in block and transaction primitives * Merge #10912: [tests] Fix incorrect memory_cleanse(…) call in crypto_tests.cpp * Merge #10824: Avoid unnecessary work in SetNetworkActive * Merge #10927: test: Make sure wallet.backup is created in temp path * Merge #10870: [Qt] Use wallet 0 in rpc console if running with multiple wallets * Merge #10883: Rename -usewallet to -rpcwallet * add gArgs * Use less alarming fee warning note (#3038) * Do not count 0-fee txes for fee estimation (#3037) * Merge #10849: Multiwallet: simplest endpoint support * Merge #10832: init: Factor out AppInitLockDataDirectory and fix startup core dump issue * state that getinfo will be deprecated in a future version * apply rpcconsole.cpp patch * Revert \"Skip mempool.dat when wallet is starting in \"zap\" mode (#2782)\" * s/dash-util-test.py/bitcoin-util-test.py * s/libbitcoin/libdash * s/bitcoind/dashd * #10821 continued * remove witness/segwit based text * update commented time estimates for fees * s/149900/140100 * s/bitcoin/dash * remove redundant wait_node * remove boost list_of * Merge #10419: [trivial] Fix three recently introduced typos * Merge #10199: Better fee estimates * Merge #10821: Add SSE4 optimized SHA256 * Merge #10681: add gdb attach process to test README * Merge #10857: [RPC] Add a deprecation warning to getinfo\'s output * Merge #10864: Avoid redundant redeclaration of GetWarnings(const string&) * \\#10193 Introduce src/reverse_iterator.hpp and include it... * \\#10193 Fix const_reverse_iterator constructor (pass const ptr) * #10193 scripted-diff: Remove BOOST_REVERSE_FOREACH * #10193 scripted-diff: Remove #include * \\#10193 clang-format: Delete ForEachMacros * Merge #9909: tests: Add FindEarliestAtLeast test for edge cases * Merge #10535: [qa] fundrawtx: Fix shutdown race * fix build related to #10760 * Merge #10844: Use range based for loop * Merge #10760: Avoid dereference-of-casted-pointer * Merge #10855: random: only use getentropy on openbsd * Merge #9980: Fix mem access violation merkleblock * Merge #10837: Fix resource leak on error in GetDevURandom * Merge #10803: Explicitly search for bdb5.3. * Merge #10330: [wallet] fix zapwallettxes interaction with persistent mempool * Merge #10842: Fix incorrect Doxygen tag (AATTince → AATTsince). Doxygen parameter name matching. * Merge #11196: Switch memory_cleanse implementation to BoringSSL\'s to ensure memory clearing even with -lto * use old benchmark system * Merge #15649: Add ChaCha20Poly1305AATTBitcoin AEAD * include vector in poly1305.cpp * use old benchmarking system * Merge #15519: Add Poly1305 implementation * Use old BENCHMARK setup * Merge #15512: Add ChaCha20 encryption option (XOR) * Merge #10704: [tests] nits in dbcrash.py * Merge bitcoin#8329: Consensus: MOVEONLY: Move functions for tx verification (#3030) * Fix broken link in PrivateSend info dialog (#3031) * adjust formatting from review configure.ac * remove witness comment/text * /s/BTC/DASH * Merge #10735: Avoid static analyzer warnings regarding uninitialized arguments * Merge #10840: Remove duplicate include * Merge #10766: Building Environment: Set ARFLAGS to cr * Merge #10820: Use cpuid intrinsics instead of asm code * Merge #10812: [utils] Allow bitcoin-cli\'s -rpcconnect option to be used with square brackets * Merge #10807: getbalance example covers at least 6 confirms * Merge #10816: Properly forbid -salvagewallet and -zapwallettxes for multi wallet. * Merge #10808: Avoid some new gcc warnings in 15 * Merge #10819: Fix uninitialized atomic variables * Merge #10557: Make check to distinguish between orphan txs and old txs more efficient. * Merge #10806: build: verify that the assembler can handle crc32 functions * Merge #10780: Simplify \"!foo || (foo && bar)\" as \"!foo || bar\" * Merge #9804: Fixes subscript 0 (&var[0]) where should use (var.data()) instead. * Merge #10714: Avoid printing incorrect block indexing time due to uninitialized variable * Merge #10786: Add PR description to merge commit in github-merge.py * Merge #10651: Verify binaries from bitcoincore.org and bitcoin.org * Merge #10190: [tests] mining functional tests (including regression test for submitblock) * Merge #10676: document script-based return fields for validateaddress * Merge #10747: [rpc] fix verbose argument for getblock in bitcoin-cli * Merge #10710: REST/RPC example update * Merge #10728: fix typo in help text for removeprunedfunds * Merge #10673: [qt] Avoid potential null pointer dereference in TransactionView::exportClicked() * Merge #10685: Clarify CCoinsViewMemPool documentation. * Merge #10631: Use the override specifier (C++11) where we expect to be overriding the virtual function of a base class * Merge #10684: Remove no longer used mempool.exists(outpoint) * Add Dash Core Group codesign certificate (#3027) * revert the accidental revertion of c1bdf64 * add end commend for all llmq namespace * Fix osslsigncode compile issue in gitian-build (#3026) * Backport #12783: macOS: disable AppNap during sync (and mixing) (#3024) * Merge #11792: Trivial: fix comments for ZeroMQ bitcoind args * Merge #12588: [Utils] Remove deprecated PyZMQ call from Python ZMQ example * Backport yet another part of 11824 * Merge #11126: Acquire cs_main lock before cs_wallet during wallet initialization * dashify test/functional/README.md * dashify test/README.md * don\'t use replace-by-fee.py as example * update seeds emplace_back based on code review * remove unneeded space wallet.cpp * Merge #10659: [qa] blockchain: Pass on closed connection during generate call * Merge #10118: Util: Remove redundant calls to argsGlobal.IsArgSet() * Merge #10612: The young person\'s guide to the test_framework * Merge #10496: Add Binds, WhiteBinds, Whitelistedrange to CConnman::Options * Merge #9544: [trivial] Add end of namespace comments. Improve consistency. * fix tests 50 -> 500 * Merge #10295: [qt] Move some WalletModel functions into CWallet * Merge #9176: Globals: Pass Consensus::Params through CBlockTreeDB::LoadBlockIndexGuts() * Merge #10412: Improve wallet rescan API * Merge #10446: net: avoid extra dns query per seed * Merge #10626: doc: Remove outdated minrelaytxfee comment * Merge #10400: [RPC] Add an uptime command that displays the amount of time (in seconds) bitcoind has been running * Merge #10191: [trivial] Rename unused RPC arguments \'dummy\' * Merge #10577: Add an explanation of quickly hashing onto a non-power of two range. * Merge #10565: [coverage] Remove subtrees and benchmarks from coverage report * Merge #10633: doc: Fix various typos * Merge #10248: Rewrite addrdb with less duplication using CHashVerifier * Merge #10276: contrib/verifybinaries: allow filtering by platform * Merge #9517: [refactor] Switched httpserver.cpp to use RAII wrapped libevents. * Merge #9343: Don\'t create change at dust limit * Merge #10530: Fix invalid instantiation and possibly unsafe accesses of array in class base_uint * Merge #10628: [depends] expat 2.2.1 * Merge #10642: Remove obsolete _MSC_VER check * Merge #10632: qa: Add stopatheight test * Merge #10536: Remove unreachable or otherwise redundant code * Backport #8694: Basic multiwallet support (#3022) * Merge #10759: Fix multi_rpc test for hosts that dont default to utf8 * bitcoin -> dash * fix indents * Merge #10533: [tests] Use cookie auth instead of rpcuser and rpcpassword * remove Boost_Reverse_foreach * REJECT_CONFLICT -> REJECT_DUPLICATE * Merge #10503: Use REJECT_DUPLICATE for already known and conflicted txn * Merge #9549: [net] Avoid possibility of NULL pointer dereference in MarkBlockAsInFlight(...) * Merge #10555: [tests] various improvements to zmq_test.py * Merge #10592: [trivial] fix indentation for ArgsManager class * Merge #10614: random: fix crash on some 64bit platforms * Merge #10587: Net: Fix resource leak in ReadBinaryFile(...) * Merge #10602: Make clang-format use C++11 features (e.g. A> instead of A >) * Merge #10582: Pass in smart fee slider value to coin control dialog * Merge #9895: Turn TryCreateDirectory() into TryCreateDirectories() * Merge #9738: gettxoutproof() should return consistent result * Merge #10551: [Tests] Wallet encryption functional tests * Merge #10377: Use rdrand as entropy source on supported platforms * scripted-diff: Remove PAIRTYPE #10502 * scripted-diff: Remove Q_FOREACH #10502 -BEGIN VERIFY SCRIPT- sed -i \'s/Q_FOREACH *(\\(. *\\),/for (\\1 :/\' ./src/ *.h ./src/ *.cpp ./src/ */ *.h ./src/ */ *.cpp ./src/ */ */ *.h ./src/ */ */ *.cpp ; -END VERIFY SCRIPT- * scripted diff: #10502 Fully remove BOOST_FOREACH -BEGIN VERIFY SCRIPT- sed -i \'s/BOOST_FOREACH *(\\(. *\\),/for (\\1 :/\' ./src/ *.h ./src/ *.cpp ./src/ */ *.h ./src/ */ *.cpp ./src/ */ */ *.h ./src/ */ */ *.cpp ; -END VERIFY SCRIPT- * Small preparations for Q_FOREACH, PAIRTYPE and #include removal * Merge #10480: Improve commit-check-script.sh * Merge #10544: Update to LevelDB 1.20 * Merge #10575: Header include guideline * Merge #10534: Clarify prevector::erase and avoid swap-to-clear * Merge #10553: Simplify \"bool x = y ? true : false\". Remove unused function and trailing semicolon. * Merge #10568: Remove unnecessary forward class declarations in header files * Merge #10578: Add missing include for atomic in db.h * Merge #10549: Avoid printing generic and duplicated \"checking for QT\" during ./configure * Remove legacy InstantSend code (#3020) * Optimize on-disk deterministic masternode storage to reduce size of evodb (#3017) * remove unneeded parenthesises * Use InsecureRandRange instead of InsecureRandBool * Merge #10546: Remove 33 unused Boost includes * Merge #10561: Remove duplicate includes * Merge #10566: [docs] Use the \"domain name setup\" image (previously unused) in the gitian docs * Merge #10560: Remove unused constants * Merge #10569: Fix stopatheight * Merge #10521: Limit variable scope * continued, dash code * Merge #10545: Use list initialization (C++11) for maps/vectors instead of boost::assign::map_list_of/list_of * Merge #10548: Use std::unordered_{map,set} (C++11) instead of boost::unordered_{map,set} * Merge #10547: [tests] Use FastRandomContext instead of boost::random::{mt19937,uniform_int_distribution} * Merge #10524: [tests] Remove printf(...) * insecure_rand() -> InsecureRandBits * Merge #10321: Use FastRandomContext for all tests * Merge #10523: Perform member initialization in initialization lists where possible * Merge #10331: Share config between util and functional tests * Merge #10463: Names: BIP9 vs versionbits * Merge #10431: Prevent shadowing the global dustRelayFee * Remove support for InstantSend locked gobject collaterals (#3019) * Use sync_with_ping to ensure that we don\'t start generating blocks too early * remove DS mixes once they have been included in a chainlocked block (#3015) * wait for node1 in fundrawtransaction(-hd).py tests * Fix start_/stop_node-s * fix tx rate * Revert \"Merge #10376: [tests] fix disconnect_ban intermittency\" * start_node -> self.start_node * stop_node(s) -> self.stop_node(s) in dash specific tests * make mainnetDefaultPort static * fix AvailableCoins Calls * Use std::unique_ptr for mnList in CSimplifiedMNList (#3014) * Fix compilation on Ubuntu 16.04 (#3013) * Add \"isValidMember\" and \"memberIndex\" to \"quorum memberof\" and allow to specify quorum scan count (#3009) * adjust check || -> && * add initializing to regtest * Resolve AvailableCoins method call * Fix excessive memory use when flushing chainstate and EvoDB (#3008) * Enable stacktrace support in gitian builds (#3006) * remove initialize to 0 in chainparams.h * add extra params to AvailableCoins calls * adjust CoinType logic * s/bitcoind/dashd * Implement \"quorum memberof\" (#3004) * Fix 2 common Travis failures which happen when Travis has network issues (#3003) * Only load signingActiveQuorumCount + 1 quorums into cache (#3002) * Decouple lite mode and client-side PrivateSend (#2893) * Merge #9279: Consensus: Move CFeeRate out of libconsensus * Merge #10347: Use range-based for loops (C++11) when looping over vector elements * Merge #8952: Add query options to listunspent RPC call * Set a few param values to 0 by default * No need for zero initialization of devnet params * Merge #8855: Use a proper factory for creating chainparams * Merge #10426: Replace bytes_serialized with bogosize * Merge #10403: Fix importmulti failure to return rescan errors * Merge #10515: [test] Add test for getchaintxstats * Merge #10478: rpc: Add listen address to incoming connections in `getpeerinfo` * Merge #10471: Denote functions CNode::GetRecvVersion() and CNode::GetRefCount() as const * Merge #10500: Avoid CWalletTx copies in GetAddressBalances and GetAddressGroupings * Merge #10359: [tests] functional tests should call BitcoinTestFramework start/stop node methods * Merge #10423: [tests] skipped tests should clean up after themselves * Merge #10323: Update to latest libsecp256k1 master * Merge #10376: [tests] fix disconnect_ban intermittency * Remove skipped denom from the list on tx commit (#2997) * remove unused import cont. * Merge #11831: Always return true if AppInitMain got to the end * remove extra argument from code review * remove duplicate code * add gArgs for a couple things not caught by scripted diff * remove unused gArgs wrappers * Scripted diff `find src/ -name \" *.cpp\" ! -wholename \"src/util.h\" ! -wholename \"src/util.cpp\" | xargs perl -i -pe \'s/(?* Revert \"Show BIP9 progress in getblockchaininfo (#2435)\" * fix gargs change regarding devnets * s/bitcoin/dash * Revert \" Add real timestamp to log output when mock time is enabled (#2604)\" * Merge #10475: [RPC] getmempoolinfo mempoolminfee is a BTC/KB feerate * Merge #10447: Make bitcoind invalid argument error message specific * Merge #10467: add SeedNodes to CConnman::Options * Merge #10479: [trivial] Fix comment for ForceSetArg() * Merge #10464: Introduce static DoWarning (simplify UpdateTip) * Merge #9208: Improve DisconnectTip performance * Merge #10460: Broadcast address every day, not 9 hours * Merge #10011: build: Fix typo s/HAVE_DONTWAIT/HAVE_MSG_DONTWAIT * Merge #10317: Remove unused Python imports * Merge #10341: rpc/wallet: Workaround older UniValue which returns a std::string temporary for get_str * Merge #9614: [wallet] [refactor] Simplify getbalance implementation * add serialize.h import * Merge #10313: [Consensus] Add constant for maximum stack size * Merge #9539: [net] Avoid initialization to a value that is never read * Merge #9571: RPC: getblockchaininfo returns BIP signaling statistics * Merge #10372: Add perf counter data to GetStrongRandBytes state in scheduler * Merge #10390: [wallet] remove minimum total fee option * change include * Merge #10433: [tests] improve tmpdir structure * Merge #10429: tests: fix spurious addrman test failure * Merge #10432: [Trivial] Add BITCOIN_FS_H endif footer in fs.h * Merge #10408: Net: Improvements to Tor control port parser * Merge #9750: Bloomfilter: parameter variables made constant * Merge #10061: [net] Added SetSocketNoDelay() utility function * Merge #10395: Replace boost::function with std::function (C++11) * Merge #10388: Output line to debug.log when IsInitialBlockDownload latches to false * Merge #10319: Remove unused argument from MarkBlockAsInFlight(...) * Merge #7522: Bugfix: Only use git for build info if the repository is actually the right one * Merge #10405: tests: Correct testcase in script_tests.json for large number OP_EQUAL * Merge #10374: qa: Warn when specified test is not found * Merge #10404: doc: Add logging to FinalizeNode() * Merge #10362: [GUI] Add OSX keystroke to RPCConsole info * Merge #10383: [logging] log system time and mock time * Merge #10380: [doc] Removing comments about dirty entries on txmempool * Temporary fix for race condition * Merge #11345: [tests] Check connectivity before sending in assumevalid.py * Don\'t check block indexes in assumevalid.py * Merge #10690: [qa] Bugfix: allow overriding extra_args in ComparisonTestFramework * Give syncing in assumevalid.py more time * Remove unnecessary and forever-blocking wait_to_sync calls * Send less blocks to node1 * No need to send so many headers to node0 * Use 4x as much headers in assumevalid.py * Disable DIP3 in multiple tests * Merge #9494: Introduce an ArgsManager class encapsulating cs_args, mapArgs and mapMultiArgs * remove TheadSendAlert in init.cpp * Remove stale code, delete alert_tests.cpp * Merge #7958: Remove useless argument to AlertNotify. * Merge #7692: Remove p2p alert system * [Trivial] Fix a typo in a comment in mnauth.h (#2988) * Other fixes * Drop redirect_stderr and pass stderr instead * Fix rpc param names * fix bip68-112-113-p2p.py * adjust networkhashps test for dash block time * update python tests * use uint64_t * adjust build_src.sh 10189 * drop segwit 10318 * apply concepts in 10198 to dash specific tests * Merge #10253: [test] Add test for getnetworkhashps * use uint64 for flags * use new string method * Merge #10150: [rpc] Add logging rpc * Merge #10187: tests: Fix test_runner return value in case of skipped test * Merge #10381: Shadowing warnings are not enabled by default, update doc accordingly * Merge #10325: 0.15.0 Depends Updates * Merge #10371: [tests] Clean up addrman_tests.cpp * Merge #10361: qa: disablewallet: Check that wallet is really disabled * Merge #10338: Maintain state across GetStrongRandBytes calls * Merge #10322: Use hardware timestamps in RNG seeding * Merge #10287: [tests] Update Unit Test for addrman.h/addrman.cpp * Merge #10342: [tests] Improve mempool_persist test * Merge #10352: test: Add elapsed time to RPC tracing * Merge #10171: [tests] Add node methods to test framework * Merge #10189: devtools/net: add a verifier for scriptable changes. Use it to make CNode::id private. * Merge #10318: [tests] fix wait_for_inv() * Merge #10344: [tests] Fix abandonconflict.py intermittency * Merge #10327: [tests] remove import-abort-rescan.py * Merge #10302: [Makefile] Alphabetically Reorder addrdb.cpp * Merge #9966: Control mempool persistence using a command line parameter * Merge #10307: [tests] allow zmq test to be run in out-of-tree builds * Merge #9733: Add getchaintxstats RPC * Merge #10137: Remove unused import. Remove accidental trailing semicolons. * Merge #10255: [test] Add test for listaddressgroupings * Merge #10198: [tests] Remove is_network_split from functional test framework * Merge #10175: Remove excess logic. * Merge #10222: [tests] test_runner - check unicode * QT: Revert \"Force TLS1.0+ for SSL connections\" (#2985) * Add some comments to make quorum merkle root calculation more clear+ (#2984) * Run extended tests when Travis is started through cron (#2983) * Should send \"reject\" when mixing queue is full (#2981) * Stop reporting/processing the number of mixing participants in DSSTATUSUPDATE (#2980) * adjust privatesend formatting and follow some best practices (#2979) * [Tests] Remove unused variable and inline another variable in evo_deterministicmns_tests.cpp (#2978) * remove spork 12 (#2754) * add `--quiet` to `test_runner.py`, replicates bitcoin#10105 * Merge #10159: [tests] color test results and sort alphabetically * Merge #9780: Suppress noisy output from qa tests in Travis * add `&& llmq::IsOldInstantSendEnabled()` to instantsend max value check * adjust test_runner.py check if dashd is running * adjust spork5 code in wallet.cpp * Resolve comment, add check for fUseInstantSend and set value equal to the max value * Notify UI/external scripts about wallet txes locks * Merge #10264: [test] Add tests for getconnectioncount, getnettotals and ping * Merge #10224: [test] Add test for getaddednodeinfo * remove MyNodeConnCB Class and references * Merge #10169: [tests] Remove func test code duplication * Merge #10234: [net] listbanned RPC and QT should show correct banned subnets * Merge #10093: [Qt] Don\'t add arguments of sensitive command to console window * Merge #10180: [trivial] Fix typos (tempoarily → temporarily, inadvertantly → inadvertently) * Merge #10281: doc: Add RPC interface guidelines * Merge #10292: Improved efficiency in COutPoint constructors * Merge #10305: Fix potential NPD introduced in b297426c * Merge #10290: Add -stopatheight for benchmarking * Merge #10256: [test] Add test for gettxout to wallet.py * Merge #10075: Remove unused C++ code not covered by unit tests * Merge #10283: Cleanup: reduce to one GetMinimumFee call signature * Merge #10280: [test] Unit test amount.h/amount.cpp * Provide correct params to AcceptToMemoryPoolWithTime() in LoadMempool() (#2976) * Back off for 1m when connecting to quorum masternodes (#2975) * Merge #9743: Fix several potential issues found by sanitizers * Merge #10278: [test] Add Unit Test for GetListenPort * Merge #9930: Trivial: Correct indentation and bracing * Merge #10225: [test] Add aborttrescan tests * Merge #10263: Trivial: fix fee estimate write error log message * Merge #10270: Remove Clang workaround for Boost 1.46 * Merge #10272: [Tests] Prevent warning: variable \'x\' is uninitialized * Merge #9792: FastRandomContext improvements and switch to ChaCha20 * Merge #10197: [tests] Functional test warnings * Merge #10168: Fix build warning from #error text * Merge #10155: build: Deduplicate version numbers * remove UpdatedTransaction calls in instantsend code * Merge #10165: [Wallet] Refactoring by using CInputCoin instead of std::pair * Remove CValidationInterface::UpdatedTransaction * Ignore blocks that do not match the filter in getmerkleblocks rpc (#2973) * Process/keep messages/connections from PoSe-banned MNs (#2967) * Multiple speed optimizations for deterministic MN list handling (#2972) * Merge #10201: pass Consensus::Params& to functions in validation.cpp and make them static * Merge #8524: Precompute sighashes * Update copyright date (2019) (#2970) * Backport 8824 (#2968) * Merge #9951: Wallet database handling abstractions/simplifications * Merge #10097: Move zmq test skipping logic into individual test case. * Merge #10023: [tests] remove maxblocksinflight.py (functionality covered by other test) * Merge #10229: Tests: Add test for getdifficulty * Merge #10239: Make Boost use std::atomic internally * Merge #10181: Include cleanup * Fix UI masternode list (#2966) * Throw a bit more descriptive error message on UpgradeDB failure on pruned nodes (#2962) * Inject custom specialization of std::hash for SporkId enum into std (#2960) * Update help text via gen-manpages.sh * RPC docs helper updates (#2949) * Fix compiler warning (#2956) * Fix bls and bls_dkg bench (#2955) * Remove logic for handling objects and votes orphaned by not-yet-known MNs (#2954) * [RPC] Remove check for deprecated `masternode start-many` command (#2950) * Refactor sporks to get rid of repeated if/else blocks (#2946) * Remove references to instantx and darksend in sendcoinsdialog.cpp (#2936) * Only require valid collaterals for votes and triggers (#2947) * Make Consensus::LLMQType serializable and use it in serialized classes * Implement support for explicit enum serialization * Use Travis stages instead of custom timeouts (#2948) * Remove duplicate code from src/Makefile.am (#2944) * bump version in fees.cpp * remove `nodehandling.py` * Fix disconnect_ban.py * Add missing include for CKeyID * Drop CDSNotificationInterface::SyncTransaction() * add `#include \"policy/fees.h\"` to validation.cpp * Merge #9942: Refactor CBlockPolicyEstimator * Add TODO comment about need to remove compatibility code * Use mapDSTX.find() instead of count() and [] * Call and implemente new signals in CPrivateSend * Add missing directories to CMakeLists.txt and sort the list * Move updating of txFirstSeenTime into TransactionAddedToMempool and BlockConnected * Move filling of blockTxs into BlockConnected * Call new signals in CChainLocksHandler * Fix typo * Don\'t check for posInBlock when updating pindexMined * Move removal of mined-locks info to BlockDisconnected * Call RemoveConflictedTx from BlockConnected instead of ProcessNewTransaction * Call new signals instead of SyncTransaction on CInstantSendManager * Pass disconnected/deleted pindex instead of pprev into BlockDisconnected * More `boost::filesystem`->`fs` and some related cleanup * Adjust CDSNotificationInterface to align with CValidationInterface changes * Pass block index via BlockDisconnected * adjust examples/dash.conf * Merge #10186: Remove SYNC_TRANSACTION_NOT_IN_BLOCK magic number * Merge #9725: CValidationInterface Cleanups * Merge #10124: [test] Suppress test logging spam * Merge #9902: Lightweight abstraction of boost::filesystem * Merge #10036: Fix init README format to render correctly on github * Merge #10090: Update bitcoin.conf with example for pruning * Merge #10143: [net] Allow disconnectnode RPC to be called with node id * Merge #10221: Stop treating coinbase outputs differently in GUI: show them at 1conf * Merge #10226: wallet: Use boost to more portably ensure -wallet specifies only a filename * Merge #10219: Tests: Order Python Tests Differently * Merge #10208: [wallet] Rescan abortability * Merge #9480: De-duplicate SignatureCacheHasher * Implement `rawchainlocksig` and `rawtxlocksig` (#2930) * Tighten rules for DSVIN/DSTX (#2897) * Backport Bitcoin#9424, Bitcoin#10123 and Bitcoin#10153 (#2918) * Only gracefully timeout Travis when integration tests need to be run (#2933) * Also gracefully timeout Travis builds when building source takes >30min (#2932) * Show number of InstantSend locks in Debug Console (#2919) * Drop redundant imports and fix related code * Fix p2p-fingerprint.py * Fix and re-enable pruning.py * fix txindex.py and add it to extended scripts * update dip4-coinbasemerkalroots.py and llmq-is-cl-conflicts.py * Merge #10114: [tests] sync_with_ping should assert that ping hasn\'t timed out * Merge #10098: Make qt wallet test compatible with qt4 * Merge #10109: Remove SingleNodeConnCB * Merge #10107: Remove unused variable. Remove accidental trailing semicolons in Python code * Merge #10088: Trivial: move several relay options into the relay help group * Merge #10108: ApproximateBestSubset should take inputs by reference, not value * Merge #10076: [qa] combine_logs: Use ordered list for logfiles * Merge #10096: Check that all test scripts in test/functional are being run * Merge #10057: [init] Deduplicated sigaction() boilerplate * Merge #10056: [zmq] Call va_end() on va_start()ed args. * Merge #10073: Actually run assumevalid.py * Merge #10085: Docs: remove \'noconnect\' option * Merge #10083: [QA] Renaming rawTx into rawtx * Merge #10069: [QA] Fix typo in fundrawtransaction test * Merge #9946: Fix build errors if spaces in path or parent directory * Merge #10067: [trivial] Dead code removal * Merge #10053: [test] Allow functional test cases to be skipped * Merge #10047: [tests] Remove unused variables and imports * Merge #9500: [Qt][RPC] Autocomplete commands for \'help\' command in debug console * Merge #9558: Clarify assumptions made about when BlockCheck is called * Merge #10029: Fix parameter naming inconsistencies between .h and .cpp files * Merge #10017: combine_logs.py - aggregates log files from multiple bitcoinds during functional tests. * Merge #10045: [trivial] Fix typos in comments * Merge #10039: Fix compile errors with Qt 5.3.2 and Boost 1.55.0 * Implement getmerkleblocks rpc (#2894) * Merge bitcoin#9963: util: Properly handle errors during log message formatting (#2917) * Reorganize Dash Specific code into folders (#2753) * s/bitcoin-config.h/dash-config.h/ * dashify \"Finding reviewers\" section to be more relevant * Merge Bitcoin#9960: Trivial: Add const modifier to GetHDChain and IsHDEnabled * Merge #10564: Return early in IsBanned. * Merge #10522: [wallet] Remove unused variables * Merge #10538: [trivial] Fix typo: \"occurrences\" (misspelled as \"occurrances\") * Merge #10514: Bugfix: missing == 0 after randrange * Merge #10469: Fixing typo in rpcdump.cpp * Merge #10486: devtools: Retry after signing fails in github-merge * Merge #10273: [scripts] Minor improvements to `macdeployqtplus` script. * Merge #9670: contrib: github-merge improvements * Merge #10228: build: regenerate bitcoin-config.h as necessary * Merge #9827: Improve ScanForWalletTransactions return value * Merge #10211: [doc] Contributor fixes & new \"finding reviewers\" section * Merge #9693: Prevent integer overflow in ReadVarInt. * Merge #10177: Changed \"Send\" button default status from true to false * Merge #10164: Wallet: reduce excess logic InMempool() * Merge #10135: [p2p] Send the correct error code in reject messages * Merge #9949: [bench] Avoid function call arguments which are pointers to uninitialized values * Merge #10166: Ignore Doxyfile generated from Doxyfile.in template. * Merge #10104: linearize script: Option to use RPC cookie * Merge #9533: Allow non-power-of-2 signature cache sizes * Merge #10058: No need to use OpenSSL malloc/free * Merge #10077: [qa] Add setnetworkactive smoke test * Merge #10072: Remove sources of unreliablility in extended functional tests * Merge #10128: Speed Up CuckooCache tests * Merge #10136: build: Disable Wshadow warning * Merge #10129: scheduler: fix sub-second precision with boost < 1.50 * Merge #10095: refactor: Move GetDifficulty out of `rpc/server.h` * Merge bitcoin#9956: Reorganise qa directory (#2912) * Bump version to 0.14.1 (#2928) * Drop xvfb and run tests in linux64_nowallet * Merge #10899: [test] Qt: Use _putenv_s instead of setenv on Windows builds * Merge #10142: Run bitcoin_test-qt under minimal QPA platform * Review suggestions * code review * add a comment linking to xvfb documentation * Merge #9734: Add updating of chainTxData to release process * Merge #10038: Add mallocinfo mode to `getmemoryinfo` RPC * Merge #10027: Set to nullptr after delete * Merge #10033: Trivial: Fix typo in key.h comment * Merge #10024: [trivial] Use log.info() instead of print() in remaining functional test cases. * Merge #9911: Wshadow: various gcc fixes * Merge #9987: Remove unused code * Merge #9818: Save watch only key timestamps when reimporting keys * Merge #9690: Change \'Clear\' button string to \'Reset\' * Merge #9974: Add basic Qt wallet test * Merge #10010: util: rename variable to avoid shadowing * Merge #9921: build: Probe MSG_DONTWAIT in the same way as MSG_NOSIGNAL * Merge #9842: Fix RPC failure testing (continuation of #9707) * Merge #9993: Initialize nRelockTime * Sat Dec 07 2019 marecAATTdetebe.org- Update to version 0.14.0.5: * [v0.14.0.x] Update release notes with notable changes and changelog (#3229) * [v0.14.0.x] Make sure mempool txes are properly processed by CChainLocksHandler despite node restarts (#3230) * [v0.14.0.x] Bump version and prepare release notes (#3228) * More fixes in llmq-is-retroactive tests * Make llmq-is-retroactive test compatible with 0.14.0.x * Make wait_for_xxx methods compatible with 0.14.0.x * Allow re-signing of IS locks when performing retroactive signing (#3219) * Add wait_for_xxx methods as found in develop * More/better logging for InstantSend * Tests: Fix the way nodes are connected to each other in setup_network/start_masternodes (#3221) * More fixes related to extra_args * Tests: Allow specifying different cmd-line params for each masternode (#3222) * Don\'t join thread in CQuorum::~CQuorum when called from within the thread (#3223) * Merge #12392: Fix ignoring tx data requests when fPauseSend is set on a peer (#3225) * Thu Nov 21 2019 marecAATTdetebe.org- Update to version 0.14.0.4: * [v0.14.0.x] Update release notes with change log (#3213) * [v0.14.0.x] Bump version to 0.14.0.4 and draft release notes (#3203) * Circumvent BIP69 sorting in fundrawtransaction.py test (#3100) * Fix compile issues * Merge #11397: net: Improve and document SOCKS code * Slightly optimize ApproximateBestSubset and its usage for PS txes (#3184) * Update activemn if protx info changed (#3176) * Actually update spent index on DisconnectBlock (#3167) * Only track last seen time instead of first and last seen time (#3165) * Merge #17118: build: depends macOS: point --sysroot to SDK (#3161) * Simulate BlockConnected/BlockDisconnected for PS caches * Few fixes related to SelectCoinsGroupedByAddresses (#3144) * Various fixes for mixing queues (#3138) * Also consider txindex for transactions in AlreadyHave() (#3126) * Ignore recent rejects filter for locked txes (#3124) * Make orphan TX map limiting dependent on total TX size instead of TX count (#3121) * Update/modernize macOS plist (#3074) * Fix bip69 vs change position issue (#3063) * Partially revert 3061 (#3150) * Fix SelectCoinsMinConf to allow instant respends (#3061) * [0.14.0.x] Remove check for mempool size in CInstantSendManager::CheckCanLock (#3119) * Thu Aug 22 2019 marecAATTdetebe.org- Update to version 0.14.0.3: * Add 0.14.0.3 change log to release-notes.md (#3055) * Update release-notes.md for 0.14.0.3 (#3054) * Bump version to 0.14.0.3 and copy release notes (#3053) * Re-verify invalid IS sigs when the active quorum set rotated (#3052) * Remove recovered sigs from the LLMQ db when corresponding IS locks get confirmed (#3048) * Add \"instantsendlocks\" to getmempoolinfo RPC (#3047) * Use fEnablePrivateSend instead of fPrivateSendRunning * Show number of InstantSend locks in Debug Console (#2919) * Optimize on-disk deterministic masternode storage to reduce size of evodb (#3017) * Add \"isValidMember\" and \"memberIndex\" to \"quorum memberof\" and allow to specify quorum scan count (#3009) * Implement \"quorum memberof\" (#3004) * Bail out properly on Evo DB consistency check failures in ConnectBlock/DisconnectBlock (#3044) * Do not count 0-fee txes for fee estimation (#3037) * Fix broken link in PrivateSend info dialog (#3031) * Merge pull request #3028 from PastaPastaPasta/backport-12588 * Add Dash Core Group codesign certificate (#3027) * Fix osslsigncode compile issue in gitian-build (#3026) * Backport #12783: macOS: disable AppNap during sync (and mixing) (#3024) * Remove support for InstantSend locked gobject collaterals (#3019) * Wed Jul 03 2019 marecAATTdetebe.org- Update to version 0.14.0.2: * [v0.14.0.x] Update release notes for 0.14.0.2 (#3012) * Use std::unique_ptr for mnList in CSimplifiedMNList (#3014) * Fix excessive memory use when flushing chainstate and EvoDB (#3008) * Fix 2 common Travis failures which happen when Travis has network issues (#3003) * Only load signingActiveQuorumCount + 1 quorums into cache (#3002) * Remove skipped denom from the list on tx commit (#2997) * Update manpages for 0.14.0.2 (#2999) * Bump version to 0.14.0.2 and copy release notes (#2991) * Use Travis stages instead of custom timeouts (#2948) * Back off for 1m when connecting to quorum masternodes (#2975) * Multiple speed optimizations for deterministic MN list handling (#2972) * Process/keep messages/connections from PoSe-banned MNs (#2967) * Fix UI masternode list (#2966) * Thu May 30 2019 marecAATTdetebe.org- Update to version 0.14.0.1: * Update release notes with latest commits (#2958) * Only require valid collaterals for votes and triggers (#2947) (#2957) * [v0.14.0.x] Fix off-by-one error in InstantSend mining info removal when disconnecting blocks (#2951) * [v0.14.0.x] bump version to 0.14.0.1 and prepare release notes (#2952) * Tue May 21 2019 marecAATTdetebe.org- Update to version 0.14.0.0: * Update release notes v14 (#2927) * Set CLIENT_VERSION_IS_RELEASE to true (#2926) * Update help text via gen-manpages.sh (#2929) * 0.14 release notes draft (#2896) * Fix duplicate `-instantsendnotify` invocation (#2925) * Add blocks conflicting with ChainLocks to block index (#2923) * Skip processing in SyncTransaction when chain is not synced yet (#2920) * Set DIP0008 mainnet activation params (#2915) * [0.14] Bump chainparams (#2910) * Fix db leaks in LLMQ db (#2914) * Fall back to ReadBlockFromDisk when blockTxs is not filled yet (#2908) * Bump \"keepOldConnections\" by one for all LLMQ types (#2909) * Print inputs on which we voted and quorums used for signing (#2907) * Implement integration tests for DKG error handling (#2905) * Implement zmq notifications for chainlocked blocks (#2899) * Properly handle conflicts between ChainLocks and InstantSend (#2904) * Fix a crash in `masternode winners` when `count` is too large (#2902) * Implement isolate_node/reconnect_isolated_node in tests (#2901) * Ask for locked TXs after removing conflicting TXs (#2898) * Fix PrivateSend log (#2892) * Remove code for QDEBUGSTATUS propagation (#2891) * Skip CheckCbTxMerkleRoots until assumeValid block (#2890) * Cache heavy parts of CalcCbTxMerkleRoot * (#2885) * Be more accurate with denom creation/consumption (#2853) * Translations v14 (#2638) * Bail out in few more places when blockchain is not synced yet (#2888) * Add proTxHash to masternode list rpc response (#2887) * More \"bench\" log for Dash specific parts (#2884) * A bunch of mostly trivial tweaks/fixes (#2889) * New LLMQ-based IS should have no legacy IS strings in UI and no legacy restrictions (#2883) * Accept non-spent LLMQ IS locked outpoints from mempool in PS mixing (#2878) * Use larger nPruneAfterSizeIn parameter for mapAlreadyAskedFor (#2882) * Harden DIP3 activation (#2881) * Add NotifyMasternodeListChanged signal to CClientUIInterface (#2880) * Report `instantlock: true` for transactions locked via ChainLocks (#2877) * Refactor IS-lock GUI notification and implement a similar one for ChainLocks (#2875) * Ensure wallet is available and unlocked for some `governance` and `evo` RPCs (#2874) * Refactor some Dash/mixing-specific wallet functions (#2850) * Archive islock hashes when removing confirmed islocks (#2872) * Wait longer until re-requesting recovered sigs and ISLOCKs from other peers (#2871) * Fix infinite loop in CDBTransactionIterator::SkipDeletedAndOverwritten (#2870) * Track which TXs are not locked yet and use this info in ProcessPendingRetryLockTxs (#2869) * Change `quorum list` behaviour to list active quorums by default (#2866) * Prefix all bls/quorum threads with `dash-` (#2865) * Bump mempool counter on each successful IS lock (#2864) * Don\'t disconnect peers on MNAUTH verification failure (#2868) * Fix race condition in sendheaders.py (#2862) * Retry locking of child TXs in batches instead of per locked parent (#2858) * Don\'t wake up select if it was already woken up (#2863) * Also invoke WriteInstantSendLockMined when IS lock comes after the mined block (#2861) * Use lazy BLS signatures more often and don\'t always verify self-recovered sigs (#2860) * Disable optimistic send in PushMessage by default (#2859) * Move processing of InstantSend locks into its own worker thread (#2857) * Add cache to CQuorumManager::ScanQuorums (#2856) * Collection of minor performance optimizations (#2855) * Allow testing ChainLocks enforcement with spork19 == 1 (#2854) * Clean up a few GUI related items (#2846) * Don\'t skip \"safe TX\" check when ChainLocks are not enforced yet (#2851) * Skip required services and port checks when outgoing connections is a MN (#2847) * Reimplement CMNAuth::NotifyMasternodeListChanged to work with new interface * Also call NotifyMasternodeListChanged when MNs have been updated * Pass oldList and diff instead of newList into NotifyMasternodeListChanged * Do not maintain CService in masternodeQuorumNodes * Connect to most recently updated address in ThreadOpenMasternodeConnections * Fix shadowing of \"addr\" * Add GetValidMNByService to CDeterministicMNList * Remove unused CConnman::ForEachQuorumMember * Various fixes for RemoveInvalidVotes() (#2845) * Call HandleFullyConfirmedBlock when ChainLocks are enabled but not enforced (#2844) * CBLSWrapper::SetHexStr() should not accept non-hex strings (#2843) * Add RPC for BLS secret to public key (#2841) * Ignore cache files on reindex (#2840) * Don\'t retry locks when new IS system is disabled (#2837) * Remove unused forward declaration (#2838) * Use big endian inversed height in CInstantSendDb * Use big endian inversed height in BuildInversedHeightKey * Compare CDataStream internal vector with unsigned comparison * Avoid unnecessary calls to parentIt->GetKey * Update wallet transactions when confirmed IS locks are removed * Remove the need for maintaining the last ChainLocked block in the DB * Use db.RemoveConfirmedISLocks() in NotifyChainLock to remove confirmed locks * Implement RemoveConfirmedInstantSendLocks to prune confirmed IS locks from DB * Keep track of when IS locks were mined * Wipe llmq db on reindex (#2835) * Remove netfulfilledman.h duplicate (#2834) * Re-introduce nInstantSendKeepLock check for LLMQ-based IS when spork19 is OFF (#2829) * Track best block to later know if a DB upgrade is needed * Apply suggestions from code review * Use version 2 CCbTx in create_coinbase to fix test failures * Implement quorum commitment merkle root tests in dip4-coinbasemerkleroots.py * Return the fresh quorum hash from mine_quorum * Mine SIGN_HEIGHT_OFFSET additional blocks after the quorum commitment * Implement support for CbTx version 2 (with quorum merkle root) * Fix a crash in mininode.py when inventory type is unknown * Don\'t use pindex->GetBlockHash() in ProcessCommitment * Track in which block a quorum commitment was mined * Add deletedQuorums and newQuorums to CSimplifiedMNListEntry * Implement and enforce quorum commitment merkle roots in coinbases * Implement GetMined(AndActive)CommitmentsUntilBlock and use it in ScanQuorums * Track at which height a quorum commitment was mined * Store the full commitment in CQuorum * Implement CDBTransactionIterator * Change CDBTransaction to compare keys by their serialized form * Support passing CDataStream as key into CDBWrapper/CDBBatch/CDBIterator * Update qa/rpc-tests/dip4-coinbasemerkleroots.py * Use FromHex to deserialize block header * Implement dip4-coinbasemerkleroots.py integration tests * Allow registering MNs without actually starting them * Implement support for GETMNLISTD and MNLISTDIFF P2P message in mininode.py * Make CBlock.get_merkle_root static * Implement CPartialMerkleTree and CMerkleBlock in mininode.py * Implement CService in mininode.py * Implement deser_dyn_bitset and ser_dyn_bitset in mininode.py * Do not skip pushing of vMatch and vHashes in CMerkleBlock (#2826) * Trivial: Fix a couple typos (#2818) * Specify DIP3 enforcement block height/hash for mainnet params * Update immer library to current master (0a718d2d76bab6ebdcf43de943bd6c7d2dbfe2f9) (#2821) * Fix blsWorker (#2820) * There can be no two votes which differ by the outcome only (#2819) * Keep the most recent gobject votes only (#2815) * Set fAllowMultiplePorts to true for testnet (#2817) * Remove watchdogs from existence (#2816) * Update getblock rpc help text (#2814) * Fix vote ratecheck (#2813) * Drop all kind of invalid votes from all types of gobjects (#2812) * Update \"listtransactions\" and \"listsinceblock\" RPC help (#2811) * Update \"debug\" rpc help text (#2810) * Refactor: fix layer violation for LLMQ based IS in UI (#2808) * Fix getgovernanceinfo rpc help text (#2809) * Show chainlocked txes as fully confirmed (#2807) * Fix qt tests and actually run them (#2801) * Fix potential deadlock in LoadWallet() (#2806) * Fix devnet genesis check in InitBlockIndex() (#2805) * Reset local/static cache in LogAcceptCategory when categories change (#2804) * Few trivial cleanups (#2803) * Drop DBG macros uses from governance modules (#2802) * Prepare Dash-related stuff before starting ThreadImport (#2800) * Split \"llmq\" debug category into \"llmq\", \"llmq-dkg\" and \"llmq-sigs\" (#2799) * Stop tracking interested/participating nodes and send/announce to MNAUTH peers (#2798) * Also handle MNAUTH on non-masternodes (#2797) * Implement MNAUTH and allow unlimited inbound MN connections (#2790) * Update log categories in help message and in decomposition of \"dash\" category (#2792) * Implement BIP9 style deployment for DIP8/ChainLocks and fix a bug with late headers (#2793) * Fix potential travis failures due to network failures (#2795) * Fix loop in CLLMQUtils::GetQuorumConnections to add at least 2 connections (#2796) * Bump MAX_OUTBOUND_MASTERNODE_CONNECTIONS to 250 on masternodes (#2791) * Fix bug in GetNextMasternodeForPayment (#2789) * Fix revoke reason check for ProUpRevTx (#2787) * Apply Bloom filters to DIP2 transactions extra payload (#2786) * Disable logging of libevent debug messages (#2794) * Introduce SENDDSQUEUE to indicate that a node is interested in DSQ messages (#2785) * Honor bloom filters when announcing LLMQ based IS locks (#2784) * Introduce \"qsendrecsigs\" to indicate that plain recovered sigs should be sent (#2783) * Skip mempool.dat when wallet is starting in \"zap\" mode (#2782) * Make LLMQ/InstantSend/ChainLocks code less spammy (#2781) * Bump proto version and only send LLMQ related messages to v14 nodes (#2780) * Implement retroactive IS locking of transactions first seen in blocks instead of mempool (#2770) * Disable in-wallet miner for win/macos Travis/Gitian builds (#2778) * Multiple refactorings/fixes for LLMQ bases InstantSend and ChainLocks (#2779) * Relay spork after updating internal spork maps (#2777) * Refactor and fix instantsend tests/utils (#2776) * RPC - Remove P2PKH message from protx help (#2773) * Use smaller (3 out of 5) quorums for regtest/Travis (#2774) * Fix tests after 2768 (#2772) * Merge bitcoin#9602: Remove coin age priority and free transactions - implementation (#2768) * Slightly refactor ProcessInstantSendLock (#2767) * Multiple fixes/refactorings for ChainLocks (#2765) * Add compatibility code to P2PFingerprintTest until we catch up with backports * Fix CreateNewBlock_validity by not holding cs_main when calling createAndProcessEmptyBlock * Require no cs_main lock for ProcessNewBlock/ActivateBestChain * Avoid cs_main in net_processing ActivateBestChain calls * Refactor ProcessGetData in anticipation of avoiding cs_main for ABC * Create new mutex for orphans, no cs_main in PLV::BlockConnected * Add ability to assert a lock is not held in DEBUG_LOCKORDER * Merge #11580: Do not send (potentially) invalid headers in response to getheaders * Merge #11113: [net] Ignore getheaders requests for very old side blocks * Merge #9665: Use cached [compact] blocks to respond to getdata messages * Actually use cached most recent compact block * Give wait_for_quorum_phase more time * Remove size check in CDKGSessionManager::GetVerifiedContributions * Move simple PoSe tests into llmq-simplepose.py * Track index into self.nodes in mninfo * Replace BITCOIN_UNORDERED_LRU_CACHE_H with DASH_UNORDERED_LRU_CACHE_H * Add missing LOCK(cs_main) * Do not hold cs_vNodes in CSigSharesManager::SendMessages() for too long (#2758) * Various small cleanups (#2761) * Fix deadlock in CSigSharesManager::SendMessages (#2757) * Drop --c++11 brew flag in build-osx.md (#2755) * Make InstantSend locks persistent * Use unordered_lru_cache in CRecoveredSigsDb * Implement unordered_lru_cache * Code review: re-add string cast in mininode.py * drop `swap_outputs_in_rawtx` and `DecimalEncoder` in smartfees.py * Revert \"Fix use of missing self.log in blockchain.py\" * Use logging framework in Dash specific tests * Update dnsseed-policy.md (#2751) * Use GetVoteForId instead of maintaining votes on inputs * Add HasVotedOnId/GetVoteForId to CSigningManager * Add key prefix to \"rs_\" for CRecoveredSigsDb keys * Use llmqDb for CRecoveredSigsDb * Don\'t use CEvoDB in CDKGSessionManager and instead use llmqDb * Introduce global llmq::llmqDb instance of CDBWrapper * Don\'t pass CEvoDB to CDKGSessionHandler and CDKGSession * Actually remove from finalInstantSendLocks in CInstantSendManager::RemoveFinalISLock * Move safe TX checks into TestForBlock and TestPackageTransactions * Completely disable InstantSend while filling mempool in autoix-mempool.py * Let ProcessPendingReconstructedRecoveredSigs return void instead of bool * Sync blocks after generating in mine_quorum() * Adjust LLMQ based InstantSend tests for new spork20 * update autoix-mempool.py to test both \"old\" and \"new\" InstantSend (and fix CheckCanLock to respect mempool limits) * update p2p-autoinstantsend.py to test both \"old\" and \"new\" InstantSend * update p2p-instantsend.py to test both \"old\" and \"new\" InstantSend * Move IS block filtering into ConnectBlock * Rename IXLOCK to ISLOCK and InstantX to InstantSend * Introduce spork SPORK_20_INSTANTSEND_LLMQ_BASED to switch between new/old system * Combine loops in CChainLocksHandler::NewPoWValidBlock * Add override keywork to CDSNotificationInterface::NotifyChainLock * Set llmqForInstantSend for mainnet and testnet * Use scheduleFromNow instead of schedule+boost::chrono * Fix crash in BlockAssembler::addPackageTxs * Fix no-wallet build * Only sign ChainLocks when all included TXs are \"safe\" * Cheaper/Faster bailout from TrySignChainTip when already signed before * Move ChainLock signing into TrySignChainTip and call it periodically * Track txids of new blocks and first-seen time of TXs in CChainLocksHandler * Enforce IX locks from the new system * Disable explicit lock requests when the new IX system is active * Also call ProcessTx from sendrawtransaction and RelayWalletTransaction * Whenever we check for locked TXs, also check for the new system having a lock * Show \"verified via LLMQ based InstantSend\" in GUI TX status * Disable old IX code when the new system is active * Downgrade TXLOCKREQUEST to TX when new IX system is active * Handle incoming TXs by calling CInstantXManager::ProcessTx * Implement CInstantSendManager and related P2P messages * Implement PushReconstructedRecoveredSig in CSigningManager * Introduce NotifyChainLock signal and invoke it when CLSIGs get processed * Fix \"chainlock\" in WalletTxToJSON (#2748) * Fix error message for invalid voting addresses (#2747) * Make -masternodeblsprivkey mandatory when -masternode is given (#2745) * Implement 2-stage commit for CEvoDB to avoid inconsistencies after crashes (#2744) * Add a button/context menu items to show QR codes for addresses (#2741) * Add collateraladdress into masternode/protx list rpc output (#2740) * Add \"chainlock\" field to more rpcs (#2743) * Don\'t be too harsh for invalid CLSIGs (#2742) * Fix banning when local node doesn\'t have the vvec (#2739) * Only include selected TX types into CMerkleBlock (#2737) * code review and reset file perms * Stop g_connman first before deleting it (#2734) * Ignore sig share inv messages when we don\'t have the quorum vvec (#2733) * Backport bitcoin#14385: qt: avoid system harfbuzz and bz2 (#2732) * On timeout, print members proTxHashes from members which did not send a share (#2731) * Actually start the timers for sig share and recSig verification (#2730) * Send/Receive multiple messages as part of one P2P message in CSigSharesManager (#2729) * Only return from wait_for_chainlock when the block is actually processed (#2728) * Send QSIGSESANN messages when sending first message for a session * Remove MarkXXX methods from CSigSharesNodeState * Use new sessionId based session management in CSigSharesManager * Implement session management based on session ids and announcements * Move RebuildSigShare from CBatchedSigShares to CSigSharesManager * Introduce QSIGSESANN/CSigSesAnn P2P message * Change CSigSharesInv and CBatchedSigShares to be sessionId based * Use salted hashing for keys for unordered maps/sets in LLMQ code * Implement std::unordered_map/set compatible hasher classes for salted hashes * Remove now obsolete TODO comment above CRecoveredSigsDb * Add in-memory cache for CRecoveredSigsDb::HasRecoveredSigForHash * Add in-memory cache to CQuorumBlockProcessor::HasMinedCommitment * Multiple fixes and optimizations for LLMQs and ChainLocks (#2724) * reset file perms * Merge #9970: Improve readability of segwit.py, smartfees.py * Merge #9505: Prevector Quick Destruct * Merge #8665: Assert all the things! * Merge #9977: QA: getblocktemplate_longpoll.py should always use >0 fee tx * Merge #9984: devtools: Make github-merge compute SHA512 from git, instead of worktree * Merge #9940: Fix verify-commits on OSX, update for new bad Tree-SHA512, point travis to different keyservers * Merge #9514: release: Windows signing script * Merge #9830: Add safe flag to listunspent result * Merge #9972: Fix extended rpc tests broken by #9768 * Merge #9768: [qa] Add logging to test_framework.py * Merge #9962: [trivial] Fix typo in rpc/protocol.h * Merge #9538: [util] Remove redundant call to get() on smart pointer (thread_specific_ptr) * Merge #9916: Fix msvc compiler error C4146 (minus operator applied to unsigned type) * Disallow new proposals using legacy serialization (#2722) * Fix stacktraces compilation issues (#2721) * Don\'t build docker image when running Travis job on some another repo (#2718) * Implement optional pretty printed stacktraces (#2420) * Fix file permissions broken in 2682 (#2717) * Add link to bugcrowd in issue template (#2716) * Implement new algo for quorum connections (#2710) * Cleanup successful sessions before doing timeout check (#2712) * Separate init/destroy and start/stop steps in LLMQ flow (#2709) * Avoid using ordered maps in LLMQ signing code (#2708) * backports-0.15-pr6 code review * Optimize sleeping behavior in CSigSharesManager::WorkThreadMain (#2707) * Use pipe() together with fcntl instead of pipe2() * Implement caching in CRecoveredSigsDb * Use CBLSLazySignature in CBatchedSigShares * Implement CBLSLazySignature for lazy serialization/deserialization * Faster default-initialization of BLS primitives by re-using the null-hash * Disable optimistic sending when pushing sig share related messages * Implement WakeupSelect() to allow preliminary wakeup after message push * Allow to disable optimistic send in PushMessage() * Rework handling of CSigSharesManager worker thread (#2703) * Less cs_main locks in quorums (#2702) * Reintroduce spork15 so that it\'s relayed by 0.14 nodes (#2701) * Remove not used and not implemented methods from net.h (#2700) * Fix incorrect usage of begin() when genesis block is requested in \"protx diff\" (#2699) * Do not process blocks in CDeterministicMNManager before dip3 activation (#2698) * Drop no longer used code and bump min protos (#2697) * A small overhaul of the way MN list/stats UI and data are tied together (#2696) * Backport #14701: build: Add CLIENT_VERSION_BUILD to CFBundleGetInfoString (#2687) * Change the way invalid ProTxes are handled in `addUnchecked` and `existsProviderTxConflict` (#2691) * Call existsProviderTxConflict after CheckSpecialTx (#2690) * Merge #9853: Fix error codes from various RPCs * Merge #9575: Remove unused, non-working RPC PostCommand signal * Merge #9936: [trivial] Fix three typos introduced into walletdb.h in commit 7184e25 * Merge #9945: Improve logging in bctest.py if there is a formatting mismatch * Merge #9548: Remove min reasonable fee * Merge #9369: Factor out CWallet::nTimeSmart computation into a method. * fix compile error caused by #9605 * Allow to override llmqChainLocks with \"-llmqchainlocks\" on devnet (#2683) * Stop checking MN protocol version before signalling DIP3 (#2684) * Merge #9605: Use CScheduler for wallet flushing, remove ThreadFlushWalletDB * devtools: Fix a syntax error typo * Merge #9932: Fix verify-commits on travis and always check top commit\'s tree * Merge #9555: [test] Avoid reading a potentially uninitialized variable in tx_invalid-test (transaction_tests.cpp) * Merge #9906: Disallow copy constructor CReserveKeys * Merge #9929: tests: Delete unused function _rpchost_to_args * Merge #9880: Verify Tree-SHA512s in merge commits, enforce sigs are not SHA1 * Merge #8574: [Wallet] refactor CWallet/CWalletDB/CDB * Implement and use secure BLS batch verification (#2681) * Update misspelled Synchronizing in GetSyncStatus (#2680) * Add missing help text for `operatorPayoutAddress` (#2679) * Do not send excessive messages in governance sync (#2124) * Fix bench log for payee and special txes (#2678) * Speed up CQuorumManager::ScanQuorums (#2677) * Apply code review suggestions #2647 * Merge #9333: Document CWalletTx::mapValue entries and remove erase of nonexistent \"version\" entry. * Merge #9547: bench: Assert that division by zero is unreachable * Merge #9739: Fix BIP68 activation test * Merge #9832: [qa] assert_start_raises_init_error * Missing `=` characters (#2676) * Multiple fixes for LLMQs and BLS batch verification (#2674) * Fix negative \"keys left since backup\" (#2671) * Fix endless wait in RenameThreadPool (#2675) * Invoke CheckSpecialTx after all normal TX checks have passed (#2673) * Optimize DKG debug message processing for performance and lower bandwidth (#2672) * Merge #9576: [wallet] Remove redundant initialization * Merge #9905: [contrib] gh-merge: Move second sha512 check to the end * Merge #9910: Docs: correct and elaborate -rpcbind doc * Merge #9774: Enable host lookups for -proxy and -onion parameters * Merge #9828: Avoid -Wshadow warnings in wallet_tests * Merge #8808: Do not shadow variables (gcc set) * Merge #9903: Docs: add details to -rpcclienttimeout doc * Add getspecialtxes rpc (#2668) * Add missing default value for SPORK_19_CHAINLOCKS_ENABLED (#2670) * Use smaller LLMQs for ChainLocks on testnet and devnet (#2669) * Fix LLMQ related test failures on Travis (#2666) * Don\'t leak skShare in logs (#2662) * ProcessSpecialTxsInBlock should respect fJustCheck (#2653) * Drop cs_main from UpdatedBlockTip in CDKGSessionManager/CDKGSessionHandler (#2655) * Bump block stats when adding commitment tx into block (#2654) * Fix confusion between dip3 activation and enforcement (#2651) * drop dash-docs folder and instead link to dash-docs.github.io in README (#2650) * Use helper function to produce help text for params of `protx` rpcs (#2649) * update copyright (#2648) * reverse order from jsonRequest, strSubCommand * Instead of asserting signatures once, wait for them to change to the expected state * Rename inInvalidate->inEnforceBestChainLock and make it atomic * Don\'t check for conflicting ChainLocks when phashBlock is not set * Increase waiting time in LLMQ signing tests * Implement llmq-chainlocks.py integration tests * Add info about ChainLocks to block and transaction RPCs * Add SPORK_19_CHAINLOCKS_ENABLED * Implement and enforce ChainLocks * Track parent->child relations for blocks * Use a block that is 8 blocks in the past for SelectQuorumForSigning * Move SelectQuorumForSigning into CSigningManager and make it height based * Implement VerifyRecoveredSig to allow verifcation of sigs found in P2P messages * Add listener interface to listen for recovered sigs * Don\'t pass poolSize to SelectQuorum and instead use consensus params * Add missing new-line character in log output * Wait for script checks to finish before messing with txes in Dash-specific way (#2652) * Fix no_wallet for rpcmasternode/rpcevo * add import to rpcevo fixing backport 8775 * Apply suggestions from code review #2646 * change #8775 to keep dash codebase improvement, but still backport #9908 * Merge #9908: Define 7200 second timestamp window constant * fix #8775 backport * remove other rpc references to pwalletMain * remove all references to pwalletMain in rpc folder * Merge #8775: RPC refactoring: Access wallet using new GetWalletForJSONRPCRequest * stop test failures * Update src/miner.cpp * fix 9868 * Speed up integration tests with masternodes (#2642) * Fix off-by-1 in phase calculations and the rest of llmq-signing.py issues (#2641) * Fix LLMQ signing integration tests (#2640) * Bring back ResetLocalSessionStatus call (#2639) * Merge #9904: test: Fail if InitBlockIndex fails * Merge #9359: Add test for CWalletTx::GetImmatureCredit() returning stale values. * fix #9143 backport * Merge #9143: Refactor ZapWalletTxes to avoid layer violations * fix #9894 backport * Merge #9894: remove \'label\' filter for rpc command help * remove removed argument from #9834 * Merge #9834: qt: clean up initialize/shutdown signals * fix merge error from #9821 * Merge #9821: util: Specific GetOSRandom for Linux/FreeBSD/OpenBSD * manual fixes on #9868 * Merge #9868: Abstract out the command line options for block assembly * Merge #9861: Trivial: Debug log ambiguity fix for peer addrs * Merge #9871: Add a tree sha512 hash to merge commits * Merge #9822: Remove block file location upgrade code * Merge #9732: [Trivial] Remove nonsense #undef foreach * Merge #9867: Replace remaining sprintf with snprintf * Merge #9350: [Trivial] Adding label for amount inside of tx_valid/tx_invalid.json * A couple of fixes/refactorings for CDKGSessionHandler (#2637) * Fix some strings, docs and cmd-line/rpc help messages (#2632) * Remove fLLMQAllowDummyCommitments from consensus params (#2636) * Fix missing lupdate in depends (#2633) * Review fixes (mostly if/else related but no change in logic) * Initialize g_connman before initializing the LLMQ system * fix/cleanup qt rpcnestedtests * Avoid using immature coinbase UTXOs for dummy TXins * Add llmq-signing.py tests * Add wait_for_sporks_same and mine_quorum to DashTestFramework * Add receivedFinalCommitment flag to CDKGDebugSessionStatus * Implement \"quorum sign/hasrecsig/isconflicting\" RPCs * Faster re-requesting of recovered sigs * Implement processing, verifcation and propagation of signature shares * Implement CSigningManager to process and propagage recovered signatures * Add ReadDataStream to CDBWrapper to allow manual deserialization * Implement CBLSInsecureBatchVerifier for convenient batch verification * Implement IsBanned to allow checking for banned nodes outside of net_processing.cpp * Implement CFixedVarIntsBitSet and CAutoBitSet * Add src/bls/ *.h and .cpp to CMakeLists.txt * Use void as return type for WriteContributions * Fix \"quorum\" RPCs help and unify logic in the sub-commands RPC entry point * Skip starting of cache populator thread in case we don\'t have a valid vvec * Add comments about why it\'s ok to ignore some failures * Implement CQuorum and CQuorumManager * [PrivateSend] Fallback to less participants if possible, fix too long timeouts on server side (#2616) * Add checkbox to show only masternodes the wallet has keys for (#2627) * Revert \"Set CLIENT_VERSION_IS_RELEASE to true (#2591)\" * Remove support for \"0\" as an alternative to \"\" when the default is requested (#2622) * Add some `const`s * Pass self-created message to CDKGPendingMessages instead of processing them * Add owner and voting addresses to rpc output, unify it across different methods (#2618) * Fix help for optional parameters in \"quorum dkgstatus\" * Fix help for \"quorum dkgstatus\" and remove support for \"0\" proTxHash * Apply review suggestions to rpcquorums.cpp * Drop unused overload of GetMasternodeQuorums * Batched logger should not break log parsing * Give nodes more time per phase when doing PoSe tests * Remove dkgRndSleepTime from consensus params and make sleeping it non-random * Move RandBool() into random.h/cpp * Handle review suggestions * Introduce SPORK_18_QUORUM_DEBUG_ENABLED to enable/disable LLMQ debug messages * Implement debugging messages and RPC for LLMQ DKGs * Pass scheduler to InitLLMQSystem * Use LLMQ DKGs for PoSe testing in DIP3 tests * Implement LLMQ DKG * Prepare inter-quorum masternode connections * Add cxxtimer header only libraries * Allow to skip malleability check when deserializing BLS primitives * Add batched logger * Remove dummy DKG * A couple of fixes for `masternode list` rpc (#2615) * More fixes for PrivateSend after 2612 (#2614) * Fix 2612 (#2613) * [PrivateSend] Allow more than 3 mixing participants (#2612) * Gracefully shutdown on evodb inconsistency instead of crashing (#2611) * Backports 0.15 pr2 (#2597) * armv7l build support (#2601) * Remove a few sporks which are not used anymore (#2607) * Refactor remains of CMasternode/-Man into CMasternodeMeta/-Man (#2606) * Don\'t hold CDeterministicMNManager::cs while calling signals (#2608) * Add real timestamp to log output when mock time is enabled (#2604) * Fix flaky p2p-fullblocktest (#2605) * Try to fix flaky IX tests in DIP3 tests (#2602) * Dashify copyright_header.py (#2598) * De-dashify env vars and dashify help text in tests instead (#2603) * Backports 0.15 pr1 (#2590) * Remove all legacy/compatibility MN code (#2600) * Fix flaky autoix tests by disabling autoix while filling mempool (#2595) * Multiple fixes for \"masternode list\" * Use ban score of 10 for invalid DSQ sigs * Apply suggestions from code review * Merge #10365: [tests] increase timeouts in sendheaders test * Remove non-DIP3 code path in CMasternodePayments::IsScheduled * Directly use deterministicMNManager in \"masternode list\" * Remove support for \"masternode list rank\" * Remove unsupported types/fields from \"masternode list\" * Directly use deterministicMNManager instead of mnodeman.CountXXX * Remove call to mnodeman.PoSeBan * Remove code that is incompatible now due to GetMasternodeRanks returning DMNs now * Change GetMasternodeScores and GetMasternodeRank/s to use CDeterministicMNCPtr * Remove MN upgrade check in ComputeBlockVersion * Move logic from FindRandomNotInVec into GetRandomNotUsedMasternode * Replace uses of mnodeman in PS code when deterministicMNManager can be used directly * Remove use of mnodeman.GetMasternodeInfo from IX code * Remove support for legacy operator keys in CPrivateSendBroadcastTx * Remove legacy signatures support in CPrivateSendQueue * Remove support for legacy signatures in CTxLockVote * Remove a few uses of mnodeman from governance code * Don\'t use GetMasternodeInfo in CTxLockVote::IsValid * Directly use deterministicMNManager in some places * Implement HasValidMN, HasValidMNByCollateral and GetValidMNByCollateral * Remove compatibility code from governance RPCs and directly use deterministicMNManager * Directly use deterministicMNManager when processing DSTX * Directly use deterministicMNManager in CGovernanceManager::GetCurrentVotes * Let \"masternode winner/current\" directly use deterministicMNManager * Use DIP3 MNs in auto-IX tests (#2588) * Speed up stopping of nodes in tests by splitting up stop and wait (#2587) * Harden spork15 on testnet (#2586) * Bump version to 0.14 (#2589) * Thu Apr 04 2019 marecAATTdetebe.org- Update to version 0.13.3.0: * Update doc/release-notes.md * Add release notes for 0.13.3.0 * Bump version to 0.13.3.0 * Harden spork15 value to 1047200 when on mainnet (#2830) * Do not skip pushing of vMatch and vHashes in CMerkleBlock (#2826) * There can be no two votes which differ by the outcome only (#2819) * Fix vote ratecheck (#2813) * Fix revoke reason check for ProUpRevTx (#2787) * Skip mempool.dat when wallet is starting in \"zap\" mode (#2782) * Disable in-wallet miner for win/macos Travis/Gitian builds (#2778) * Sat Mar 16 2019 marec - Update to version 0.13.2.0: * Add missing entry to changelog (#2769) * Move IS block filtering into ConnectBlock (#2766) * [0.13.x] Bump version to 0.13.2 and add release notes (#2749) * Bump minChainWork and AssumeValid to block #1033120 (#2750) * Fix error message for invalid voting addresses (#2747) * Make -masternodeblsprivkey mandatory when -masternode is given (#2745) * Implement 2-stage commit for CEvoDB to avoid inconsistencies after crashes (#2744) * Add collateraladdress into masternode/protx list rpc output (#2740) * Only include selected TX types into CMerkleBlock (#2737) * Stop g_connman first before deleting it (#2734) * Thu Feb 07 2019 marecAATTdetebe.org- Update to version 0.13.1.0: * Release notes v0.13.1.0 (#2689) * Change the way invalid ProTxes are handled in `addUnchecked` and `existsProviderTxConflict` (#2691) * Call existsProviderTxConflict after CheckSpecialTx (#2690) * Add getspecialtxes rpc (#2668) * Bump version to 0.13.1 (#2686) * Fix bench log for payee and special txes (#2678) * Stop checking MN protocol version before signalling DIP3 (#2684) * Add missing help text for `operatorPayoutAddress` (#2679) * Invoke CheckSpecialTx after all normal TX checks have passed (#2673) * Mon Jan 14 2019 marecAATTdetebe.org- Update to version 0.13.0.0: * [0.13.0.x] Add notes about changes in mining (#2628) * Update 0.13.0.0 release notes (#2621) * Set CLIENT_VERSION_IS_RELEASE to true (#2591) * Update immer to c89819df92191d6969a6a22c88c72943b8e25016 (#2626) * Remove support for \"0\" as an alternative to \"\" when the default is requested (#2622) (#2624) * [0.13.0.x] Translations201901 (#2592) * Backport 2618 to v0.13.0.x (#2619) * Gracefully shutdown on evodb inconsistency instead of crashing (#2611) (#2620) * Release notes 0.13.0.0 draft (#2583) * Add BIP9 deployment for DIP3 on mainnet (#2585) * Fri Dec 14 2018 marecAATTdetebe.org- Update to version 0.12.3.4: * Remove temporary fork handling for emergency difficulty reduction on testnet * Don\'t check for nSuperblockStartHash on testnet * Update release-notes.md and copy 0.12.3.3 release-notes * Bump to 0.12.3.4 * Remove checkpoints above block 4000 * Update nMinimumChainWork and defaultAssumeValid for block 4000 * Change CSV, DIP0001 and BIP147 deployments to start today * Bump nPowKGWHeight for testnet and cause a fork at height 4001 * Release notes 0.12.3.3 * Remove redundant parameter fCheckDuplicateInputs from CheckTransaction * Wed Sep 19 2018 marecAATTdetebe.org- Update to version 0.12.3.3: * Release notes 0.12.3.3 * Remove redundant parameter fCheckDuplicateInputs from CheckTransaction * Fix crash bug with duplicate inputs within a transaction * Bump to 0.12.3.3 * Release notes 0.12.3.2 (#2174) * Add tests for special rules for slow blocks on devnet/testnet (#2176) * Allow mining min diff for very slow (2h+) blocks (#2175) * Fix issues with selections on Masternode tab (#2170) * Sync mn list and mnw list from 3 peers max (#2169) * A few devnet related fixes (#2168) * Mon Jul 09 2018 marecAATTdetebe.org- Update to version 0.12.3.2: * Release notes 0.12.3.2 (#2174) * Add tests for special rules for slow blocks on devnet/testnet (#2176) * Allow mining min diff for very slow (2h+) blocks (#2175) * Fix issues with selections on Masternode tab (#2170) * Sync mn list and mnw list from 3 peers max (#2169) * A few devnet related fixes (#2168) * Adjust diff for slow testnet/devnet blocks a bit smoother (#2161) * Make PS Buttons not react to spacebar (#2154) * Bump to 0.12.3.2 (#2173) * Bump to 0.12.3.1 (#2158) * Sun Jul 01 2018 marecAATTdetebe.org- Update to version 0.12.3.1: * Bump to 0.12.3.1 (#2158) * Update release notes (#2155) * Use correct protocol when serializing messages in reply to `getdata` (#2157) * Fix p2pkh tests asserts (#2153) * Fix block value/payee validation in lite mode (#2148) * Update/optimize images (#2147) * Update release notes (#2142) * Release 0.12.3 (#2145) * Fix an edge case in PrepareDenominate (#2138) * Bump SERIALIZATION_VERSION_STRINGs (#2136) * Mon Jun 25 2018 marecAATTdetebe.org- Update to version 0.12.3: * Remove temporary fork handling for emergency difficulty reduction on testnet * Don\'t check for nSuperblockStartHash on testnet * Update release-notes.md and copy 0.12.3.3 release-notes * Bump to 0.12.3.4 * Remove checkpoints above block 4000 * Update nMinimumChainWork and defaultAssumeValid for block 4000 * Change CSV, DIP0001 and BIP147 deployments to start today * Bump nPowKGWHeight for testnet and cause a fork at height 4001 * Release notes 0.12.3.3 * Remove redundant parameter fCheckDuplicateInputs from CheckTransaction * Fri Jan 12 2018 marecAATTdetebe.org- Update to version 0.12.2.3: * Prepare 0.12.2.3 release notes (#1846) * Avoid reference leakage in CKeyHolderStorage::AddKey (#1840) * Protect CKeyHolderStorage via mutex (#1834) * Skip existing masternode conections on mixing (#1833) * Merge pull request #1836 from lodgepole/feature/backport-11847 * Fix -liquidityprovider option (#1829) * Vote on IS only if it was accepted to mempool (#1826) * bump version to 0.12.2.3 (#1827) * Merge #8256: BUG: bitcoin-qt crash * Wed Dec 20 2017 marecAATTdetebe.org- Update to version 0.12.2.2: * Prepare v0.12.2.2 release notes (#1769) * Force rcc to use resource format version 1. (#1784) * Fix CMasternodeMan::ProcessVerify * logs (#1782) * Improve sync (#1779) * Fix ProcessVerifyBroadcast (#1780) * Clarify usage of pointers and references in code (#1778) * InstantSend txes should never qualify to be a 0-fee txes (#1777) * Fix mnp and mnv invs (#1775) * Bump version in README.md to 0.12.2 (#1774) * Make sure additional indexes are recalculated correctly in VerifyDB (#1773) * Sat Nov 11 2017 marecAATTdetebe.org- Update to version 0.12.2.1: * bump to 0.12.2.1 (#1721) * check validity only for missing votes (#1720) * update 12.2 release notes with latest commits (#1715) * fix bug introduced in #1695 (#1714) * Add hires version of `light` theme for Hi-DPI screens (#1712) * update setAskFor on TXLOCKVOTE (#1713) * 12.2 release notes (#1675) * partially revert \"[Trivial] RPC help formatting updates #1670\" (#1711) * start_epoch, end_epoch and payment_amount should be numbers, not strings (#1707) * Merge #10231: [Qt] Reduce a significant cs_main lock freeze (#1704) * Wed Nov 08 2017 marecAATTdetebe.org- Update to version 0.12.2.0: * update 12.2 release notes with latest commits (#1715) * fix bug introduced in #1695 (#1714) * Add hires version of `light` theme for Hi-DPI screens (#1712) * update setAskFor on TXLOCKVOTE (#1713) * 12.2 release notes (#1675) * partially revert \"[Trivial] RPC help formatting updates #1670\" (#1711) * start_epoch, end_epoch and payment_amount should be numbers, not strings (#1707) * Merge #10231: [Qt] Reduce a significant cs_main lock freeze (#1704) * Translations 201710 part2 (#1676) * remove InstantSend votes for failed lock attemts after some timeout (#1705) * Tue Apr 11 2017 marecAATTdetebe.org- Update to version 0.12.1.5: * V0.12.1.x multiple wd rate check (#1426) * V0.12.1.x multiple vote fix (#1425) * Fix potential race condition in vote processing (#1424) * Fix ProcessVerifyBroadcast (#1423) * Reject payment vote if masternode rank can\'t be calculated (#1422) * bump to 0.12.1.5 (#1418) * Don\'t add non-current wd\'s to seen map (#1417) * fix docs (#1404) * fix unsafe vNodes access (#1403) * Fix mn list sync (#1401) * Wed Mar 22 2017 marecAATTdetebe.org- Update to version 0.12.1.4: * fix docs (#1404) * fix unsafe vNodes access (#1403) * Fix mn list sync (#1401) * Translations201703 (#1384) * [depends] Fixing download path and sha256 hash (#1398) * bump libevent to 2.1.8 (stable) (#1397) * Fix alerts (#1326) * Disable salvagewallet in GUI (#1390) * replace legacy dnsseed (#1395) * Drop support for pre-12.1 nodes (#1394) * Thu Mar 02 2017 marecAATTdetebe.org- Update to version 0.12.1.3: * Do not send outdated MNs on sync (#1373) * Do not force disconnect for stalled nodes on sync (#1374) * fix recently observed crash on IsValid (#1375) * bump to 0.12.1.3 (#1371) * fixed protobuf 3.0 (byteswap) issue on macOS (#1370) * make sendrawtransaction to accept 2nd optional (#1369) * Splashscreen now displays correctly (Fully) (#1367) * only consider higher hashes if they don\'t exceed nExpirationDelay (#1361) * Define current votes by creation time instead of arrival time (#1360) * implement sentinel-like wd selection logic (#1359) * Fri Feb 24 2017 marecAATTdetebe.org- Update to version 0.12.1.2: * only consider higher hashes if they don\'t exceed nExpirationDelay (#1361) * Define current votes by creation time instead of arrival time (#1360) * implement sentinel-like wd selection logic (#1359) * bump to 0.12.1.2 (#1355) * fixing strings and docs + instantsend.md (#1354) * [RFC] add ObjectType to first-level JSON result (#1352) * fix gov list filtering bug (#1353) * Add \"enough data\" stop conditions for gov sync (#1350) * fix verification network behaviour: (#1348) * Update sendcoinsentry.ui (#1343) (#1349) * Mon Feb 20 2017 marecAATTdetebe.org- Update to version 0.12.1.1: * fixing strings and docs + instantsend.md (#1354) * [RFC] add ObjectType to first-level JSON result (#1352) * fix gov list filtering bug (#1353) * Add \"enough data\" stop conditions for gov sync (#1350) * fix verification network behaviour: (#1348) * Update sendcoinsentry.ui (#1343) (#1349) * fix watchdogs (#1346) * a bit more granular sync checks for mnpayment (#1344) * Gracefully not accept incoming connection (#1342) * Few networking fixes (#1341) * Mon Feb 06 2017 marecAATTdetebe.org- Update to version 0.12.1.0: * Fix CMasternodeConfig::read (#1322) * Add a mutex lock to protect CNode::nRefCount (#1321) * Masternode index rebuild bug fix (#1318) * assert on Release (#1317) * Fix IS vote expiration/cleanup: (#1316) * put some reasonable limits on SPORK_12_RECONSIDER_BLOCKS (#1312) * fix off-by-1 bug in DisconnectBlocks (#1313) * shift CSV deployment window on mainnet to \"Feb 5th, 2017 - Feb 5th, 2018\" (#1314) * Adjust start of 12.1 superblocks (#1311) * Fix division by zero (#1310) * Mon Aug 22 2016 marecAATTdetebe.org- Update to version 0.12.0.59: * merge #955: prepare Release v0.12.0.59 * Merge #954: Update checkpoints * Merge #907: Backport `masternodebroadcast` to v0.12.0.x * Merge #877: Revert \"V0.12.0.x fix budget submission\" * Merge #860: More compatibility for old ipv6 format * merge #858: backport #855: Fix bad mn sig ipv6 * update splash screen (#849) * Merge #852: update copyright year (2) * update COPYRIGHT_YEAR (#851) * Prepare for migration to 12.1 (#848) * Thu Jun 09 2016 marecAATTdetebe.org- Update to version 0.12.0.58: * Merge #877: Revert \"V0.12.0.x fix budget submission\" * Merge #860: More compatibility for old ipv6 format * merge #858: backport #855: Fix bad mn sig ipv6 * update splash screen (#849) * Merge #852: update copyright year (2) * update COPYRIGHT_YEAR (#851) * Prepare for migration to 12.1 (#848) * There is a bug in MN signatures, ignore such MN but do not ban the peer we got this signature from (#847) * developement process updated in correspondence with .12.1 branch (#840) * [gitian] Set reference date to something more recent (#835) * Fri Jun 03 2016 marecAATTdetebe.org- Update to version 0.12.0.57: * Merge #860: More compatibility for old ipv6 format * merge #858: backport #855: Fix bad mn sig ipv6 * update splash screen (#849) * Merge #852: update copyright year (2) * update COPYRIGHT_YEAR (#851) * Prepare for migration to 12.1 (#848) * There is a bug in MN signatures, ignore such MN but do not ban the peer we got this signature from (#847) * developement process updated in correspondence with .12.1 branch (#840) * [gitian] Set reference date to something more recent (#835) * fix README.md (#834) * Sun Jan 24 2016 marecAATTdetebe.org- Update to version 0.12.0.56: * checkpoint * Transaction View: LastMonth calculation fixed * typo in translation config * travis: for travis generating an extra build * Fix Misbehaving counting during Masternode Sync. * add missing maps cleaning in CMasternodeMan::Clear() * fix #629 * bumping to v56 for next dev iteration * Sun Jan 10 2016 marecAATTdetebe.org- Update to version 0.13.0.0: * [0.13.0.x] Add notes about changes in mining (#2628) * Update 0.13.0.0 release notes (#2621) * Set CLIENT_VERSION_IS_RELEASE to true (#2591) * Update immer to c89819df92191d6969a6a22c88c72943b8e25016 (#2626) * Remove support for \"0\" as an alternative to \"\" when the default is requested (#2622) (#2624) * [0.13.0.x] Translations201901 (#2592) * Backport 2618 to v0.13.0.x (#2619) * Gracefully shutdown on evodb inconsistency instead of crashing (#2611) (#2620) * Release notes 0.13.0.0 draft (#2583) * Add BIP9 deployment for DIP3 on mainnet (#2585) * Tue Sep 29 2015 marecAATTdetebe.org- Update to version 0.12.0.55: * Revert \"More liberal block creation\" * huge update for Chinese and Japanese(include it in the list now) * Fixed IX confirmation bug for gettransaction * More liberal block creation * v55 * fix LP inter-mixing by not initiating new queues by them * add mnbudgetvoteraw Closes: #621 * huge update to sk translation (thanks xsedivy!) fix qrc * Fri Sep 04 2015 marecAATTdetebe.org- Update to version 0.12.0.53: * bump version * fix mnw limits * translations 20150902 * fixed compile err * reduce memory usage * reduce memory usage * Revert \"fix - ds can leak info by number of inputs\" * v52 bump * Fixes for sync: - lower MASTERNODE_SYNC_THRESHOLD (4->2) - higher wait MASTERNODE_SYNC_TIMEOUT *2 and fail MASTERNODE_SYNC_TIMEOUT *5 timeouts for each step - ask at most MASTERNODE_SYNC_THRESHOLD *3 nodes for sync data - sync again 1 minute after last fail * fix - ds can leak info by number of inputs * Sun Aug 30 2015 marecAATTdetebe.org- Update to version 0.12.0.51: * mnbudget nextblock * v51 bump * revert c5d6b reduced mnw bandwidth * finbudget old vote check removed * enable cache files / remove old vote check * Update Makefile.qt.include * version bump * restored mnb cleanup * Few cleanups: - compiling errors - output - CBitcoinAddress usage cleanup - refresh qt project file - fix typo in `masternode` debug category * (possible) fix for idle mn freeze * Sat Aug 29 2015 marecAATTdetebe.org- Update to version 0.12.0.50: * Update Makefile.qt.include * version bump * restored mnb cleanup * Drastically reduce bandwidth/cpu usage for syncing - Only send 1 winner per block for the previous 4500 blocks (was 10 items per block for 6000 blocks) - Send full sync for last 5 blocks and next 20 blocks - Turn off mnb cleaning, there aren\'t that many broadcasts on the network and this could cause problems in some cases - Fix budget submission collateral check * Few cleanups: - compiling errors - output - CBitcoinAddress usage cleanup - refresh qt project file - fix typo in `masternode` debug category * UI: Coding and CSS changes for sum of selected transactions * fixes for mapSeenMasternodeBroadcast: - active masternode ping should update mapSeenMasternodeBroadcast\'s lastPing too - dseg should fill mapSeenMasternodeBroadcast to be able to serve it later on getdata with MSG_MASTERNODE_ANNOUNCE inv * Window positions not reset * (possible) fix for idle mn freeze * update translations * fix update-translations.py to work correctly with % at the end of a string * Tue Aug 25 2015 marecAATTdetebe.org- Update to version 0.12.0.49: * version bump * more mem fixes: - clean mapMasternodeBlocks and mapSeenSyncMNB too - clean mapSeenMasternodeBroadcast by lastPing sigTime nad fix clean threshold * Fix memory leak / reduce mnw memory - mapSeenMasternodePing & mapSeenMasternodeBroadcast were not getting cleaned, so the pinging of 3000 masternode was accumulating over time. This patch has the clean clean the lists every few minutes and removes anything older than 20 minutes for pings and 2.5 hours for broadcasts. - v48 * Disable mnw messages for litemode * Fix remote-activation hanging issue - Clients that were waiting for remote activation were repeatidly checking their wallet and external address. This will make them skip that check if the wallet is empty, then be remotely activated by mnb. * fix ds bugs * Cleanup nCount for qualifying nodes * nCount >= nTenthNetwork should be nCountTenth * Fix payment cycle when network is in the process of updating * version bump - v46 * Thu Aug 20 2015 marecAATTdetebe.org- Update to version 0.12.0.47: * Cleanup nCount for qualifying nodes * nCount >= nTenthNetwork should be nCountTenth * Fix payment cycle when network is in the process of updating * version bump - v46 * it’s ok to be banned for dseg, you’ll just find another peers * replace absolute sleep with conditional wait * fix sync progressbar text * Fix Masternode Payments rank calculation * Update masternode-budget.md * Wed Aug 19 2015 marecAATTdetebe.org- Update to version 0.12.0.46: * version bump - v46 * it’s ok to be banned for dseg, you’ll just find another peers * replace absolute sleep with conditional wait * fix sync progressbar text * Fix Masternode Payments rank calculation * Update masternode-budget.md * v0.12.0.45 * chinese tw * fix DS bug - endless collateral creation until one of them confirms * Sun Aug 16 2015 marecAATTdetebe.org- Update to version 0.12.0.45: * v0.12.0.45 * chinese tw * fix DS bug - endless collateral creation until one of them confirms * refactor names and select logic for `ONLY_` coins enum members * add masternodeSync.GetSyncStatus() / refactor mn sync status UI updates * let translations mix qt and printf * fixes for masternrode rpc * fix GetSporkValue * add mn list and mnw timeouts / use gettime / lower base timeout * lock wallet for select * check mnw peer version * fix GetSporkValue return * Thu Aug 13 2015 marecAATTdetebe.org- Update to version 0.12.0.44: * Fix dseg message * nBlockEnd/nAmount budget item check - Make sure nBlockEnd > nBlockStart+Cycle - Make sure nAmount is more than 1DASH * more fixes - dsee updated entry * add budget timeout * more fixes - misbehave / rpc * fix dseep flood / log output * hide \"out of sync\" warning on blockchain sync * Thu May 07 2015 marecAATTdetebe.org- Update to version 0.11.2.23: * update github url * make masternode votes last 30 days * Only show most common transaction types by default * Fix for addressbook label problem on Windows * Enable dynamic CSS temporarily for debugging * samba.org redirects to www.samba.org now. Gitian does not like that. * Autobackup: keep n-backups per wallet-name * Missing resources add to Qt-makefile * QScrollBar Arrow Enhancement * QScrollBar Fix Horizontal * QScrollBar Fix * Fri Apr 10 2015 marecAATTdetebe.org- Update to version 0.11.2.22: * fixed masternode find bug * version bump * Ref-node : Always fill vecLastPayments * should set nMaxToAnonymize equal to denominatedBalance only if it\'s greater then it was possible to denominate * version bump / reduce max rounds options in conf * fixed issues * added debugging * DS: Adjust Target Balance * masternode stop should disable MN and remove it from MN list * Thu Apr 09 2015 marecAATTdetebe.org- Update to version 0.11.2.21: * version bump * Ref-node : Always fill vecLastPayments * should set nMaxToAnonymize equal to denominatedBalance only if it\'s greater then it was possible to denominate * version bump / reduce max rounds options in conf * fixed issues * added debugging * DS: Adjust Target Balance * masternode stop should disable MN and remove it from MN list * updated chinese translations * Tue Apr 07 2015 marecAATTdetebe.org- Update to version 0.11.2.19: * updated chinese translations * fixed vote crashes * fix filtering for masternode list votes rpc * updated translatios * fixed vote-many * updated chinese translations * check collateral before submitting * remove donations to multisig addresses * Transaction type column width adjusted * \"Recent Transactions\" font-size reduced by 1 * Disable \"Try Mix\" and \"Reset\" buttons in Masternode mode * Centered in/out TX icons for a more harmonic look * Off-centered vertical \"About\" image fixed * fix possible MN breakage during mixing * Thu Apr 02 2015 marecAATTdetebe.org- Update to version 0.11.2.17: * remove donations to multisig addresses * \"Recent Transactions\" font-size reduced by 1 * Disable \"Try Mix\" and \"Reset\" buttons in Masternode mode * Centered in/out TX icons for a more harmonic look * Off-centered vertical \"About\" image fixed * fix possible MN breakage during mixing * version bump * Fixes for \"masternode list\" - fix descriptions and filtering in masternode list rpc, sort modes - rename \"active\" to \"status\" - move MN status string compilation to masternode.h - \"full\" mode will use Status instead of IsEnabled now * Fix UI in masternode and lite modes: - disable entire DS frame in masternode mode and do not run timer - hide DS and IX checkboxes in litemode * Sat Mar 28 2015 marecAATTdetebe.org- Update to version 0.11.2.16: * updated minimum for reference node * updated chinese translations * Black border of Windows icons removed * version bump * translation updates * Update rpcdarksend.cpp * Create empty dash.conf during startup if it doesn\'t exist * version bump * version bump * Fri Feb 13 2015 marecAATTdetebe.org- Update to version 0.11.1.25: * fixed log message * remove safemode checks for masternode payments & IX block enforce * blockheight should default to current height * fixed sync message * sign payee for masternode payments * Pull translations >60% from transifex. * Pull translations from transifex. * only include translations >80% (now really\\!) * Pull translations from transifex. * only include translations >90% * Fri Feb 13 2015 marecAATTdetebe.org- Update to version 0.11.1.24: * blockheight should default to current height * fixed sync message * sign payee for masternode payments * Pull translations >60% from transifex. * Pull translations from transifex. * only include translations >80% (now really\\!) * Pull translations from transifex. * only include translations >90% * Revert \"Fix coinbase maturity\" * Pull translations from transifex. * Thu Feb 12 2015 marecAATTdetebe.org- Update to version 0.11.1.22: * added spork for resolving forks * fix propagation of spork messages * Add maximum out value for IX via spork * fixed log message and added checkpoint * min proto / version * updated release notes * added unknown inv messages * remove debug message * fixed attribution * added spork files * Wed Feb 11 2015 marecAATTdetebe.org- Update to version 0.11.1.20: * Add maximum out value for IX via spork * fixed log message and added checkpoint * min proto / version * updated release notes * added unknown inv messages * remove debug message * fixed attribution * added spork files * version bump/ proto bump * fixed caching * Tue Feb 10 2015 marecAATTdetebe.org- Update to version 0.11.1.19: * fixed log message and added checkpoint * min proto / version * updated release notes * added unknown inv messages * remove debug message * fixed attribution * added spork files * version bump/ proto bump * fixed caching * use inventory system for masternode winners * Wed Jan 28 2015 marecAATTdetebe.org- Update to version 0.11.0.14: * revert changes to WalletModel::getAnonymizedBalance() * version bump * Much faster block processing * fix overpaying for DSTX * Update darkcoin-qt.desktop * make collateral inputs from all available inputs but not from mn-like * don\'t use collateral amounts on CreateDenominated / make collateral inputs from all available coins and not only from non-denominated / IsCollateralAmount function * more fixes/cleanup/debug output to DS mixing * Added note making it clear that a masternode private key needs to be created for each MN. * Moved the note about masternode private keys. * Made the distinction between masternode private key and wallet private key more clear. * fixing pre-mix process of creation denominated amounts * ported from https://github.com/bitcoin/bitcoin/commit/13cdce4336818d0f6cefe6b3e61c45762d97d7c6 * Guide to help people setup a start-many capable wallet * Sat Jan 24 2015 marecAATTdetebe.org- Update to version 0.11.0.13: * Check pindexBestForkBase/phashBlock both for null * version bump * Fixed segfault causes by coins view * fix mn payment comment - blocknumbers / new dates according to stats from last 50k blocks * Check pindexBestForkBase->phashBlock for NULL reference * allow masternode commands execution while client is in safe mode * fixed * fixed \"masternode start\" for remote masternodes after start * Wed Jan 21 2015 marecAATTdetebe.org- Update to version 0.11.0.11: * version & protocol bump * Implemented DarkSend convertability * fix unlocking wallet on ds toggle - should just check for passphrase here and then use the same conditions as unencrypted * fix ds incorrect txes issue / lowestDenom logic / styling * Collateral issues / Exact denoms / Disabled denoms * replaced IsInitialBlockDownload with more basic/faster check * Creat a tools menu with info, console and network items. * Mon Jan 19 2015 marecAATTdetebe.org- Update to version 0.11.0.8: * version bump * add keepass integration simple description to docs * corrected getblocktemplate coinbasevalue output * Added LiteMode * Cleaned up debug log and set curly braces according to coding conventions * another attempt to simplify ds and fix some issues * Update release-process.md * Sat Jan 17 2015 marecAATTdetebe.org- Update to version 0.11.0.7: * fix low res of icns * fix Info.plst * version bump * merge duplicate desktop files * more fixes for mac deploy * Fix mac osx deploy scripts. * Reset overviewpage frame size. * Fix icons and debian install shortcuts. * Thu Jan 15 2015 marecAATTdetebe.org- Update to version 0.11.0.6: * Fix mac osx deploy scripts. * Reset overviewpage frame size. * Fix icons and debian install shortcuts. * Mix 8 rounds default. * Fix typos. * Adapt BIP44 coin type 5 for Darkcoin (placeholder). * Use display unit instead of hardcoded DRK for darksend settings and set max to 16 rounds * Use display unit instead of hardcoded DRK for darksend hint * Fixed UI update bug * Rounds calculation stopped at 8 * Rounds calculation stopped at 8 * Fixed performance issues with --reindex * Update release-notes-0.11.0.md * updated mac icons * updated darkcoin logo * Coinbase Maturity / cleanup * Update release-notes-0.11.0.md * windows compilation fix * Update release-notes-0.11.0.md * changed max rounds to 16 * Fixed masternode payments issue * Various fixes for 11.0.5 * Fixed darksend balance update on click * Fix for random segfaultfrom Masternode::Check * update docs and release notes * 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 * no need to get conf file in function call * Implemented KeePass Integration * Mon Jan 12 2015 marecAATTdetebe.org- Update to version 0.11.0.5: * windows compilation fix * changed max rounds to 16 * Fixed masternode payments issue * Various fixes for 11.0.5 * Fixed darksend balance update on click * Fix for random segfaultfrom Masternode::Check * no need to get conf file in function call * Implemented KeePass Integration * Sat Jan 10 2015 marecAATTdetebe.org- Update to version 0.11.0.4: * version bump - 11.4 * fixed display issues for Darksend transaction * Unlock coins when using Darksend reset button * schedule masternode payments to turn on 1/9/2015 * Updated getblocktemplate for mining support * Fixed start-many issue with multiple output tx * Non-void function should always return something. * Fixed progress bar / Improve GetDenominatedBalance * Fri Jan 02 2015 marecAATTdetebe.org- Update to version 0.11.0.3: * Fixed progress bar / Improve GetDenominatedBalance * configure.ac version bump and documentation * gitian changes, tooltips and version bump * typo * revert hotfix * updated to v2 * fixed gitian build * fixed gitian builds * Fri Jan 02 2015 marecAATTdetebe.org- Update to version 0.11.0.1: * revert changes to WalletModel::getAnonymizedBalance() * version bump * Much faster block processing * fix overpaying for DSTX * Update darkcoin-qt.desktop * make collateral inputs from all available inputs but not from mn-like * don\'t use collateral amounts on CreateDenominated / make collateral inputs from all available coins and not only from non-denominated / IsCollateralAmount function * more fixes/cleanup/debug output to DS mixing * Added note making it clear that a masternode private key needs to be created for each MN. * Moved the note about masternode private keys. * Made the distinction between masternode private key and wallet private key more clear. * fixing pre-mix process of creation denominated amounts * ported from https://github.com/bitcoin/bitcoin/commit/13cdce4336818d0f6cefe6b3e61c45762d97d7c6 * Guide to help people setup a start-many capable wallet * Wed Dec 31 2014 marecAATTdetebe.org- Update to version 0.11.0.0: * Fixed windows crashing issues * Gitian updates * Exclude localnet addresses * Change minversion to 70046 * Hotfix for version.h * Change minversion to 70046 * Fix for gitian windows compiling * Update release notes for darkcoin 0.11 * Add release notes for darkcoin 0.11 * Update BIP32 base58 address prefixes to darkcoin uniques. * Update darkcoin units to tDRK if TestNet(). * Fri Dec 12 2014 marecAATTdetebe.org- Update to version 0.10.17.24: * Better support for non-specific masternode payments * fixed possible masternode payment exploit * version bump * comments * revert _debug.log * fix wallet locking after sending coins * Improve support for start-many: - refactored CActiveMasternode - added masternodeconfig to handle remote masternode configuration - read masternodeconfig upon init - new masternode rpc commands: stop-many, start-alias, stop-alias, list-conf - added notCapableReason field for better handling not capable issues * use separate _debug.log with -wallet option - fix comments * use separate _debug.log with -wallet option * Revert 25a07f10 -- makefile.unix STATIC=1 not cleanly implemented * Sat Dec 06 2014 marecAATTdetebe.org- Update to version 0.10.17.21: * Revert 25a07f10 -- makefile.unix STATIC=1 not cleanly implemented * fixed dsee fake-signing vulnerability & reduced spam logging * reduced spam / better filter for asking for masternodes * updated min protocol * when minRounds>=0 use exact denoms * added max rounds * added better stopping conditions * removed split up case * allow .1 denom into pool * moved new split up condition * Fri Nov 21 2014 marecAATTdetebe.org- Update to version 0.10.16.16: * Fixed \"last darksend session too recent\" issue * change ping sends to 5m * fixed dsee duplicates * charge offenders randomly * added collateral charging checks * fixed dsee sync timestamps / dont charge collateral for every offence * fix log messages for masternode/activemasternode (and trim trailing spaces) * fixed dsa/dsq restriction issue * fixed definitions * Mon Nov 17 2014 marecAATTdetebe.org- Update to version 0.10.16.12: * fixed dsa/dsq restriction issue * fixed definitions * fixed remote masternodes * broadcast dseep to all * minor fixes * fixed memory issues * zero-fee Darksend using special signed masternode transactions * added queue gaming protection / dseep fixes / asked for mn list clearing * added bloom filters for dsee/dseep broadcasts, moved expensive dsee search, masternode vote caching * check for empty payee & debugging improvements * Sun Nov 16 2014 marecAATTdetebe.org- Update to version 0.10.16.11: * fixed definitions * fixed remote masternodes * broadcast dseep to all * minor fixes * fixed memory issues * zero-fee Darksend using special signed masternode transactions * added queue gaming protection / dseep fixes / asked for mn list clearing * added bloom filters for dsee/dseep broadcasts, moved expensive dsee search, masternode vote caching * check for empty payee & debugging improvements * Fixed masternode payment check for out-of-order blocks * Fri Nov 14 2014 marecAATTdetebe.org- Update to version 0.10.16.6: * fixed memory issues * zero-fee Darksend using special signed masternode transactions * added queue gaming protection / dseep fixes / asked for mn list clearing * added bloom filters for dsee/dseep broadcasts, moved expensive dsee search, masternode vote caching * check for empty payee & debugging improvements * Fixed masternode payment check for out-of-order blocks * fixed GetBlockPayee * fixed fragmentation issue, allow masternodes to update pubkey2 * fixed dsee duplication issue and added better cleanup for inactive masternodes * fixed sendmany * patched hole allowing attacker to enter masternode list without valid input * patched hole allowing attacker to enter masternode list with valid input * Thu Nov 06 2014 marecAATTdetebe.org- Update to version 0.10.15.21: * added bloom filters for dsee/dseep broadcasts, moved expensive dsee search, masternode vote caching * check for empty payee & debugging improvements * Fixed masternode payment check for out-of-order blocks * fixed GetBlockPayee * fixed fragmentation issue, allow masternodes to update pubkey2 * fixed dsee duplication issue and added better cleanup for inactive masternodes * min client version * version bump * v12 * fixed sendmany * patched hole allowing attacker to enter masternode list without valid input * patched hole allowing attacker to enter masternode list with valid input * Tue Nov 04 2014 marecAATTdetebe.org- Update to version 0.10.15.18: * Fixed masternode payment check for out-of-order blocks * fixed GetBlockPayee * fixed fragmentation issue, allow masternodes to update pubkey2 * fixed dsee duplication issue and added better cleanup for inactive masternodes * min client version * version bump * v12 * added some debugging * fixed 2 more collateral charge causes * fixed sendmany * patched hole allowing attacker to enter masternode list without valid input * patched hole allowing attacker to enter masternode list with valid input * Mon Nov 03 2014 marecAATTdetebe.org- initial package build
|
|
|