aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-06-09doc: add `desig` to ignore-wordsbrunoerg
2022-06-08doc: fix typo in kernel/context.hbrunoerg
2022-06-04Merge bitcoin/bitcoin#24860: Miniscript integration follow-upsfanquake
f3a50c9dfe645c548713e44e0eaf26ea9917a379 miniscript: rename IsSane and IsSaneSubexpression to prevent misuse (Antoine Poinsot) c5fe5163dc31db939c44129f2ff8283b290a9330 miniscript: nit: don't return after assert(false) (Antoine Poinsot) 7bbaca9d8d355a17348a8d01e3e2521c5de466b0 miniscript: explicit the threshold size computation in multi() (Antoine Poinsot) 8323e4249db50d46ae4f43c1d8a50666549ae938 miniscript: add an OpCode typedef for readability (Antoine Poinsot) 7a549c6c59e6babbae76af008433426c6fa38fe2 miniscript: mark nodes with duplicate keys as insane (Antoine Poinsot) 8c0f8bf7bc3750fad648af1a548517a272114bca fuzz: add a Miniscript target for string representation roundtripping (Antoine Poinsot) be34d5077b2fede7404de7706362f5858c443525 fuzz: rename and improve the Miniscript Script roundtrip target (Antoine Poinsot) 7eb70f0ac0a54adabc566e2b93bbf6b2beb54a79 miniscript: tiny doc fixups (Antoine Poinsot) 5cea85f12cba5dcfe3a298eddfa711f582adffac miniscript: split ValidSatisfactions from IsSane (Antoine Poinsot) a0f064dc1474a048e236bfff12f4def3aa11daf3 miniscript: introduce a CheckTimeLocksMix helper (Antoine Poinsot) ed45ee3882e69266d550b56ff69388e071f0ad1b miniscript: use optional instead of bool/outarg (Antoine Poinsot) 1ab8d89fd1bdb3c0f2a506b4a10df6c23ba21c48 miniscript: make equality operator non-recursive (Antoine Poinsot) 5922c662c08a061b3b3d5ac34a31f9f9d4640d47 scripted-diff: miniscript: rename 'nodetype' variables to 'fragment' (Antoine Poinsot) c5f65db0f03b52bc4525acae944173829290ce6f miniscript: remove a workaround for a GCC 4.8 bug (Antoine Poinsot) Pull request description: The Miniscript repository and the Miniscript integration PR here have been a moving target for the past months, and some final cleanups were done there that were not included here. I initially intended to add some small followup commits to #24148 but i think there are enough of them to be worth a followup PR on its own. Some parts of the code did not change since it was initially written in 2019, and the code could use some modernization. (Use std::optional instead of out args, remove old compiler workarounds). We refactored the helpers to be more meaningful, and also did some renaming. A new fuzz target was also added and both were merged in a single file. 2 more will be added in #24149 that will be contained in this file too. The only behaviour change in this PR is to rule out Miniscript with duplicate keys from sane Miniscripts. In a P2WSH context, signatures can be rebounded (Miniscript does not use CODESEPARATOR) and it's reasonable to assume that reusing keys across the Script drops the malleability guarantees. It was previously assumed such Miniscript would never exist in the first place since a compiler should never create them. We finally agreed that if one were to exist (say, written by hand or from a buggy compiler) it would be very confusing if an imported Miniscript descriptor (after #24148) with duplicate keys was deemed sane (ie, "safe to use") by Bitcoin Core. We now check for duplicate keys in the constructor. This is (still) joint work with Pieter Wuille. (Actually he entirely authored the cleanups and code modernization.) ACKs for top commit: sipa: utACK f3a50c9dfe645c548713e44e0eaf26ea9917a379 (with the caveat that a lot of it is my own code) sanket1729: code review ACK f3a50c9dfe645c548713e44e0eaf26ea9917a379. Did not review the fuzz tests. Tree-SHA512: c043325e4936fe25e8ece4266b46119e000c6745f88cea530fed1edf01c80f03ee6f9edc83b6e9d42ca01688d184bad16bfd967c5bb8037744e726993adf3deb
2022-06-04Merge bitcoin/bitcoin#25065: [kernel 2c/n] Introduce `kernel::Context`, ↵fanquake
encapsulate global init/teardown d87784ac87364fc977bbf9769c8bdb72dea8cbf9 kernel: SanityChecks: Return an error struct (Carl Dong) 265d6393bf9ef52e7ef7de97ca9c031da82a5ad1 Move init::SanityCheck to kernel::SanityCheck (Carl Dong) fed085a1a4cd2787202752b6a0d98e42dce97f09 init: Initialize globals with kernel::Context's life (Carl Dong) 7d03feef8156ef37a4efa01dc591467bc7d957bf kernel: Introduce empty and unused kernel::Context (Carl Dong) eeb4fc20c578b1e428a92d64cc9f8f903a677580 test: Use Set/UnsetGlobals in BasicTestingSetup (Carl Dong) Pull request description: The full `init/common.cpp` is dependent on things like ArgsManager (which we wish to remove from libbitcoinkernel in the future) and sanity checks. These aren't necessary for libbitcoinkernel so we only extract the portion that is necessary (namely `init::{Set,Unset}Globals()`. ACKs for top commit: theuni: ACK d87784ac87364fc977bbf9769c8bdb72dea8cbf9 vasild: ACK d87784ac87364fc977bbf9769c8bdb72dea8cbf9 Tree-SHA512: cd6b4923ea1865001b5f0caed9a4ff99c198d22bf74154d935dc09a47fda22ebe585ec912398cea69f722454ed1dbb4898faab5a2d02fb4c5e719c5c8d71a3f9
2022-06-03Merge bitcoin/bitcoin#25256: logging: fix logging empty thread nameMacroFake
3a171f742c31addf5a343e8a6905054a1fbb12aa logging: fix logging empty threadname (klementtan) Pull request description: Currently, `leveldb` background thread does not have a thread name and as a result, an empty thread name is logged. This PR fixes this by logging thread name as `"unknown"` if the thread name is empty On master: ```txt 2022-06-02T14:30:38Z [] [leveldb:debug] Generated table #281@0: 1862 keys, 138303 bytes ``` On this PR: ```txt 2022-06-02T14:30:38Z [unknown] [leveldb:debug] Generated table #281@0: 1862 keys, 138303 bytes ``` ACKs for top commit: laanwj: Code review ACK 3a171f742c31addf5a343e8a6905054a1fbb12aa hebasto: ACK 3a171f742c31addf5a343e8a6905054a1fbb12aa Tree-SHA512: 0af0fa5c4ddd3640c6dab9595fe9d97f74d0e0f4b41287a6630cf8ac5a21240250e0659ec4ac5a561e888d522f5304bf627104de2aba0fd0a86c1222de0897c2
2022-06-02Merge bitcoin/bitcoin#24171: p2p: Sync chain more readily from inbound peers ↵laanwj
during IBD 48262a00f58489d705314ee3c31136133040bb0e Add functional test for block sync from inbound peers (Suhas Daftuar) 0569b5c4bbf8f725e3969d76f7cb081cdf1e4195 Sync chain more readily from inbound peers during IBD (Suhas Daftuar) Pull request description: When in IBD, if the honest chain is only known by inbound peers, then we must eventually sync from them in order to learn it. This change allows us to perform initial headers sync and fetch blocks from inbound peers, if we have no blocks in flight. The restriction on having no blocks in flight means that we will naturally throttle our block downloads to any such inbound peers that we may be downloading from, until we leave IBD. This is a tradeoff between preferring outbound peers for most of our block download, versus making sure we always eventually will get blocks we need that are only known by inbound peers even during IBD, as otherwise we may be stuck in IBD indefinitely (which could have cascading failure on the network, if a large fraction of the network managed to get stuck in IBD). Note that the test in the second commit fails on master, without the first commit. ACKs for top commit: ajtowns: ACK 48262a00f58489d705314ee3c31136133040bb0e sipa: ACK 48262a00f58489d705314ee3c31136133040bb0e Tree-SHA512: ffad3a05fa9a32a92226843c9128f52c275e8d51930fde7368badc340227f2ed680561c4c9f2937b4e3bd722474464849ec9b624f912f5e380ce98d71b55764d
2022-06-02Merge bitcoin/bitcoin#25267: test: check `replaceable` mismatch error in ↵laanwj
`createrawtransaction` RPC 1bace0cfeef35c4413769474173a692093a046f3 test: check `replaceable` mismatch error in `createrawtransaction` RPC (Sebastian Falbesoner) Pull request description: This PR adds missing test coverage for the createrawtransaction RPC, in the case that the `replaceable` parameter is set, but the passed transaction doesn't signal RBF (i.e. no input's nSequence is < 0xffffffe): https://github.com/bitcoin/bitcoin/blob/1c7ef0abd11f35a27cc860ceb7e075b78f53cecf/src/rpc/rawtransaction_util.cpp#L135-L137 ACKs for top commit: laanwj: Code review ACK 1bace0cfeef35c4413769474173a692093a046f3 brunoerg: crACK 1bace0cfeef35c4413769474173a692093a046f3 furszy: Code review ACK 1bace0cf Tree-SHA512: e6390401c8026c782643e3de7be56ea1745736b7e4c8886186d75c353c301b57afdabb631b9d8e2770386e4d7a59ac5fba1f380b9a5a21296512ca4515b35baa
2022-06-02Merge bitcoin-core/gui#583: Add translator comments to ↵Hennadii Stepanov
`TransactionDesc::FormatTxStatus` 8cfb5627d51ecaa1d1e92ec21e2ac56a380c77e6 qt, refactor: add translator comments in `TransactionDesc::FormatTxStatus()` (w0xlt) Pull request description: This PR adds translator comments to `TransactionDesc::FormatTxStatus` as suggested in https://github.com/bitcoin-core/gui/pull/552#discussion_r812602741 and https://github.com/bitcoin-core/gui/pull/552#issuecomment-1097294710. ACKs for top commit: hebasto: ACK 8cfb5627d51ecaa1d1e92ec21e2ac56a380c77e6 Tree-SHA512: 2c44b915e6309508f34fc22bb90e3d88ad32ed82fdb3a395f7c6716941edc1b311991140d28e838ad622a7484ed86aedd25e55674857fec8716d9575aed25fa0
2022-06-02Merge bitcoin-core/gui#613: Remove unnecessary wallet includes from ↵Hennadii Stepanov
rpcconsole.cpp 09942736495502cedcef4b097dde6abd9327fbdb qt: Remove unnecessary wallet includes from rpcconsole.cpp (laanwj) Pull request description: Fixes bitcoin/bitcoin#25266 ACKs for top commit: MarcoFalke: cr ACK 09942736495502cedcef4b097dde6abd9327fbdb hebasto: ACK 09942736495502cedcef4b097dde6abd9327fbdb. Tree-SHA512: 02cef4a1f3522c4cd662853eb930dfdf0866a5bd959a00f4c42d8c741b0751df4cf2e14c304b93ca3ce699c0e9730caf3d6fa2053009af312c60e861b0f79179
2022-06-02Merge bitcoin/bitcoin#24927: Add test util to populate mempool with random ↵laanwj
transactions, fix #24634 bug d2f8f1b307b056d1a54fb02a99da2cb664570904 use testing setup mempool in ComplexMemPool bench (glozow) aecc332a71037812b7334a0ea72d0bcf8160c12f create and use mempool transactions using real coins in MempoolCheck (glozow) 21187506311d1703d2bca21ccc17c3a921454b70 [test util] to populate mempool with random transactions/packages (glozow) 5374dfc4e3da0e6a76f33b42966b4acf446233dc [test util] use -checkmempool for TestingSetup mempool check ratio (glozow) d7d9c7b2661d7f4292bfcdc389a806028fa2207d [test util] add chain name to TestChain100Setup ctor (glozow) Pull request description: Fixes #24634 by using the `testing_setup`'s actual mempool rather than a locally-declared mempool for running `check()`. Also creates a test utility for populating the mempool with a bunch of random transactions. I imagine this could be useful in other places as well; it was necessary here because we needed the mempool to contain transactions *spending coins available in the current chainstate*. The existing `CreateOrderedCoins()` is insufficient because it creates coins out of thin air. Also implements the separate suggestion to use the `TestingSetup` mempool in `ComplexMemPool` bench. ACKs for top commit: laanwj: Code review ACK d2f8f1b307b056d1a54fb02a99da2cb664570904 Tree-SHA512: 44ab5a9e55b126b5a5bc33f05fbad1380b9c43c84736c7cf487be025e0e3f5d75216ccf5a3088b0935da817e3dacfba99d2885f75bcb6e7eaa24cd20a82c24c8
2022-06-02Merge bitcoin/bitcoin#25264: kernel: pass params to BlockManager rather than ↵laanwj
using a global a4741bd8d4b90b451d982d98eabd0dc5572baa29 kernel: pass params to BlockManager rather than using a global (Cory Fields) Pull request description: In a discussion today, dongcarl and I realized that is the only usage of the global `Params()` left in the kernel code. We can use the readily available reference in `ChainstateManager` instead. Note: There are still some uses of `BaseParams` in the kernel, so it doesn't make sense to rearrange the definitions quite yet. Once those are gone we can split the globals into new files. ACKs for top commit: MarcoFalke: cr ACK a4741bd8d4b90b451d982d98eabd0dc5572baa29 laanwj: Code review ACK a4741bd8d4b90b451d982d98eabd0dc5572baa29 Tree-SHA512: bfcc0c35e6c23689e968ccc96ceda39dd5a47fe94fbe617902110fe5865c30a40ea614bcfd4b4a2c846d2e84340aa8973e70b0938786af0fecfa3e6016d7fcad
2022-06-02qt, refactor: add translator comments in `TransactionDesc::FormatTxStatus()`w0xlt
2022-06-02kernel: SanityChecks: Return an error structCarl Dong
This reduces libbitcoinkernel's coupling with ui_interface and translation.
2022-06-02qt: Remove unnecessary wallet includes from rpcconsole.cpplaanwj
2022-06-02Move init::SanityCheck to kernel::SanityCheckCarl Dong
2022-06-02init: Initialize globals with kernel::Context's lifeCarl Dong
...instead of explicitly calling init::{Set,Unset}Globals. Cool thing about this is that in both the testing and bitcoin-chainstate codepaths, we no longer need to explicitly unset globals. The kernel::Context goes out of scope and the globals are unset "automatically". Also construct kernel::Context outside of AppInitSanityChecks()
2022-06-02kernel: pass params to BlockManager rather than using a globalCory Fields
2022-06-02logging: fix logging empty threadnameklementtan
2022-06-02Merge bitcoin/bitcoin#24531: Use designated initializersMacroFake
fa72e0ba15c6382e9068be221ab4872bef000cbc Use designated initializers (MarcoFalke) Pull request description: Designated initializers are supported since gcc 4.7 (Our minimum required is 8) and clang 3 (Our minimum required is 7). They work out of the box with C++17, and only msvc requires the C++20 flag to be set. I don't expect any of our msvc users will run into issues due to this. See also https://bitcoin.jonasschnelli.ch/ircmeetings/logs/bitcoin-core-dev/2022/bitcoin-core-dev.2022-03-10-19.00.log.html#l-114 ACKs for top commit: kristapsk: ACK fa72e0ba15c6382e9068be221ab4872bef000cbc hebasto: ACK fa72e0ba15c6382e9068be221ab4872bef000cbc Tree-SHA512: a198e9addd9af69262a7e79ae4377b55697c8dfe768b8b3d444526544b1d1f85df46f0ae81b7541bf2f73e5868fb944b159e5bf234303c7b8b9d778afb0b2840
2022-06-02test: check `replaceable` mismatch error in `createrawtransaction` RPCSebastian Falbesoner
2022-06-01Merge bitcoin/bitcoin#25262: test: Set maxfeerate=0 in MiniWallet ↵MacroFake
sendrawtransaction() fafaad98f785d763848c546d096e6738d507709e test: Set maxfeerate=0 in MiniWallet sendrawtransaction() (MacroFake) Pull request description: It should be safe to set, because MiniWallet will only ever deal with test transactions, so loss-of-funds is not a reason to keep the feerate check. It is beneficial to set, as it makes tests less verbose to write. Also, it may speed up tests, as the fee-check can be skipped: https://github.com/bitcoin/bitcoin/pull/25087#discussion_r877246529 ACKs for top commit: michaelfolkson: ACK fafaad98f785d763848c546d096e6738d507709e theStack: Code-review ACK fafaad98f785d763848c546d096e6738d507709e Tree-SHA512: 94c5c163595207a295c7b21f0127d669a9307f6f8b1de5e043d43c52a6714076e2fdce65f2644308a2b90c679642c94f771dab1ff8bc5c0c8b1f5013324b3902
2022-06-01Merge bitcoin/bitcoin#25249: Bump univalue subtreefanquake
025c6ca509f9e3975505d9fd786a4ca73a3a3a2d Squashed 'src/univalue/' changes from 6c19d050a9..de4f73ddca (MacroFake) 9b50a309ff21b0d5d85ded8b67cb08ae2e75fe84 refactor: Replace get_int by getInt<int> alias (MacroFake) e4e8186ab41c897b8a849dba25ae44475fe60550 refactor: Explicitly convert atomic<int> to int (João Barbosa) Pull request description: This bumps the univalue subtree and changes two lines of our code. Apart from the get_int -> getInt change, this is mostly a rebase of https://github.com/bitcoin/bitcoin/pull/15975, which was closed back then. However, given the numerous UniValue copy bugs and performance regressions in the past years, I think it makes sense to finally go through with the changes and disable potentially expensive implicit UniValue copies, which may cause OOM. The changes here are not strictly required for that, but make future changes less verbose and easier to review. ACKs for top commit: laanwj: Code review ACK fa0cc61b7f79b1844ac0fb3831e606a1ba861c15 fanquake: ACK fa0cc61b7f79b1844ac0fb3831e606a1ba861c15 Tree-SHA512: 9ab9e371e6a745a80c441e99fb9cd407602a8066df883135e0ea7eced7b0c6ef0e9bc88f1d99a2b4804128d636727229f44d72b5615dbf2d70da4af63fa6adec
2022-06-01Use designated initializersMarcoFalke
2022-06-01test: Set maxfeerate=0 in MiniWallet sendrawtransaction()MacroFake
2022-06-01Merge bitcoin/bitcoin#25244: build: pass bdb cppflags only where neededfanquake
46a890960e4b07e5aec479aa8e07e9c34ce68aee build: pass bdb cppflags only where needed (fanquake) Pull request description: Move bdb cppflags out of the catch-all `BITCOIN_INCLUDES`, and pass them only where they are needed, which is in libbitcoin_node/wallet and the tests. ACKs for top commit: hebasto: ACK 46a890960e4b07e5aec479aa8e07e9c34ce68aee Tree-SHA512: ac639bf88be1c21c5205bb14c983330c72c37f17ec4c15a746a86c54dd83853e3d75802eff48c4647484b07c1bae943ca2c3d61d2a8b0bed07d9c5b4a71dcec4
2022-06-01Merge bitcoin/bitcoin#25087: test: use MiniWallet for feature_dbcrash.pyMacroFake
1da5e45725a49a867f7ce16fb37b138ad329d132 test: use MiniWallet for feature_dbcrash.py (Sebastian Falbesoner) Pull request description: This PR enables one more of the non-wallet functional tests (feature_dbcrash.py) to be run even with the Bitcoin Code wallet by using the MiniWallet instead, as proposed in https://github.com/bitcoin/bitcoin/issues/20078. ACKs for top commit: laanwj: Code review ACK 1da5e45725a49a867f7ce16fb37b138ad329d132 brunoerg: crACK 1da5e45725a49a867f7ce16fb37b138ad329d132 Tree-SHA512: 75ee9a32fd1451254004797d695d18032bd0fcb66ebd88cf737e147e43812525f6e884ec05fcc4f76f566dc71174c8ed7347bcdce16567db6511746ae64cead0
2022-06-01Merge bitcoin/bitcoin#24416: doc: Avoid ADL for function callslaanwj
52a797bfe5ced4329f2272be417c35730ec8839f doc: Avoid ADL for function calls (Hennadii Stepanov) Pull request description: It happened two times recently, when [ADL](https://en.cppreference.com/w/cpp/language/adl) popped up unexpectedly and brought some confusion: - https://github.com/bitcoin/bitcoin/pull/24338/files#r805989994 > Any idea why this even compiles? - https://www.erisian.com.au/bitcoin-core-dev/log-2022-02-18.html#l-51: > 2022-02-18T03:24:14 \<dongcarl\> Does anyone know why this compiles? https://github.com/dongcarl/bitcoin/commit/6d3d2caa3751f968f72d19fa84f001472fb26749 > 2022-02-18T03:24:14 \<dongcarl\> GetUTXOStatsWithHasher and MakeUTXOHasher are both in the `kernel::` namespace and I never added a `using` declaration on top... > 2022-02-18T03:25:53 \<sipa\> https://en.cppreference.com/w/cpp/language/adl ? Let's document our intention to avoid similar cases in the future. ACKs for top commit: laanwj: Anyhow, ACK 52a797bfe5ced4329f2272be417c35730ec8839f, there is no need to hold merge up on this, documenting it is a step forward. Tree-SHA512: f52688b5d8f6130302185206ec6ea4731b099a75294ea2d477901a52d6d58473e3427e658aea408c140c2824c37a0399ec7376aded2a91197895ea52d51f0018
2022-06-01Merge bitcoin/bitcoin#25165: doc: Explain squashing with merge commitslaanwj
fa2d226ac950d8b4f7e430732f13ad408c504745 doc: Explain squashing with merge commits (MacroFake) Pull request description: This avoids having to explain it in each thread ACKs for top commit: laanwj: ACK fa2d226ac950d8b4f7e430732f13ad408c504745 Tree-SHA512: e1533ee7c0ab0101c78aaebed97dc889b5eb941cf4c2dfbabbb5f0ec1bb7b1313a1a2e2405235d68c761f039373cebac67ce691a72c820a9252429d50c1ac7d5
2022-06-01Merge bitcoin/bitcoin#25259: test: check pre-segwit peer error in ↵MacroFake
`getblockfrompeer` RPC 7d0f67a0d5b94395e29fe240326824cd3be8ae9b test: check pre-segwit peer error in `getblockfrompeer` RPC (Sebastian Falbesoner) Pull request description: This PR adds missing test coverage for the `getblockfrompeer` RPC, in the case that a block is tried to be fetched from a pre-segwit peer (i.e. a peer that doesn't signal the service bit `NODE_WITNESS`): https://github.com/bitcoin/bitcoin/blob/d4d9daff7ab60a9f0cae0a34f86be0bb497f62f4/src/net_processing.cpp#L1564-L1565 ACKs for top commit: MarcoFalke: cr ACK 7d0f67a0d5b94395e29fe240326824cd3be8ae9b Tree-SHA512: bc330820686fe45577e7a53d66e2a0b339ee3ca4ef348ba3cab0a78ed891e47b3651cadf3c6c3c35d1e9a95779df010322c12d37b36700e828f6064ae35842fd
2022-05-31test: check pre-segwit peer error in `getblockfrompeer` RPCSebastian Falbesoner
2022-05-31kernel: Introduce empty and unused kernel::ContextCarl Dong
[META] In the next commit, we will move the init::{Set,Unset}Globals logic into this struct. Co-Authored-By: Ryan Ofsky <ryan@ofsky.org>
2022-05-31test: Use Set/UnsetGlobals in BasicTestingSetupCarl Dong
...instead of calling initialization functions directly and having to keep around a ECCVerifyHandle member variable. This makes the initialization codepath of our tests more closely resemble those of AppInitMain and potentially eases the review of subsequent commit removing init::{Set,Unset}Globals. [META] In a future commit, we will introduce a kernel::Context which calls init::{Set,Unset}Globals in its ctor and dtor. It will be owned by node::NodeContext, so in the end, this patchset won't have made the previously local ECCVerifyHandle global.
2022-05-31Merge bitcoin/bitcoin#25200: doc: Fix spelling errors identified by ↵MacroFake
codespell in comments f565b2836d5efeb6f7c16d0fac813b06fa4d41e4 Fixup option name in bench message (Ben Woosley) bf209ac7a732394c3a54d6d1e3fb43f180ac1bb8 doc: Fix spelling errors identified by codespell in coments (Ben Woosley) Pull request description: From the output [here](https://cirrus-ci.com/task/5275612980969472?logs=lint#L849): ``` src/qt/test/addressbooktests.cpp:185: wilcard ==> wildcard src/qt/test/addressbooktests.cpp:191: wilcard ==> wildcard src/test/miniscript_tests.cpp:227: nd ==> and, 2nd src/test/versionbits_tests.cpp:260: everytime ==> every time src/util/time.h:89: precicion ==> precision src/util/time.h:90: precicion ==> precision ^ Warning: codespell identified likely spelling errors. Any false positives? Add them to the list of ignored words in test/lint/spelling.ignore-words.txt ``` ~~I left the 'nd' in miniscript_tests as-is, as it's valid miniscript, and I'm wary of whitelisting it.~~ ACKs for top commit: dunxen: ACK f565b28 Tree-SHA512: 501a426c5f6f9761e2c8f980d5d955611428a827321888f53e0ae9526b0fecd43f9d1fa845fc70ae2489d77be6dc0b5b371dff55c5146f4b39ed874f4a1ea917
2022-05-31Merge bitcoin/bitcoin#25253: test: add coverage for non-hex value to ↵MacroFake
-minimumchainwork ebfc308ea4b8851118e8194d837556bf443c329c test: add coverage for non-hex value to -minimumchainwork (brunoerg) Pull request description: This PR adds test coverage for the following init error: https://github.com/bitcoin/bitcoin/blob/b9ef5a10e2fa4609d048db57b99463305455ebe4/src/init.cpp#L917-L919 Passing a non-hex value to -minimumchainwork should throw an initial error. ACKs for top commit: laanwj: Code review ACK ebfc308ea4b8851118e8194d837556bf443c329c kristapsk: re-ACK ebfc308ea4b8851118e8194d837556bf443c329c Tree-SHA512: c665903757ae3b8b2480df97bb888e60ba4387b009fcb8031041822e87a155a0e4950ebe79873c1034f0826504521d82b1fdfdb5e8378b227d14ca545b8d4e11
2022-05-31test: add coverage for non-hex value to -minimumchainworkbrunoerg
2022-05-31Merge bitcoin/bitcoin#24178: p2p: Respond to getheaders if we have ↵MacroFake
sufficient chainwork a35f963edf1a14ee572abea106fb0147575e4694 Add test for getheaders behavior (Suhas Daftuar) ef6dbe6863d92710fd2da7781e5b2aac87578751 Respond to getheaders if we have sufficient chainwork (Suhas Daftuar) Pull request description: Previously, we would check to see if we were in IBD and ignore getheaders requests accordingly. However, the IBD criteria -- an optimization mostly targeted at behavior when we have peers serving us many blocks we need to download -- is difficult to reason about in edge-case scenarios, such as if the network were to go a long time without any blocks found and nodes are getting restarted during that time. To make things simpler to reason about, just use `nMinimumChainWork` as our anti-DoS threshold for responding to a getheaders request; as long as our chain has that much work, it should be fine to respond to a peer asking for our headers (and this should allow such a peer to request blocks from us if needed). ACKs for top commit: klementtan: crACK a35f963edf1a14ee572abea106fb0147575e4694 naumenkogs: ACK a35f963edf1a14ee572abea106fb0147575e4694 MarcoFalke: review ACK a35f963edf1a14ee572abea106fb0147575e4694 🗯 Tree-SHA512: 131e3872e7fe80382ea9c1ec202d6c2dc59c006355c69000aa3f4ce6bccd02a6c689c8cb8f3542b5d9bc48bfa61edcbd1a78535c0b79018971d02bed2655d284
2022-05-31Merge bitcoin/bitcoin#25246: Revert "build: more robustly check for ↵MacroFake
fcf-protection support" a7973bf8f46a7fe1c70d33a1098da6aba66baaed Revert "build: more robustly check for fcf-protection support" (fanquake) Pull request description: We no-longer support Clang 7 (#24164). Introduced in #20720. This reverts commit e9189a750b237eba1befc6b16c12c2cee3e0176c. ACKs for top commit: hebasto: re-ACK a7973bf8f46a7fe1c70d33a1098da6aba66baaed Tree-SHA512: 82559637f21a97434ab29f908ebda1aada08b0786cbbf0b4d11085241942314c3f04261a624c5cd2cb3c94c99046b56626830da6b9775981ab4ba10d5979f998
2022-05-31Revert "build: more robustly check for fcf-protection support"fanquake
We no-longer support Clang 7 (#24164). This reverts commit e9189a750b237eba1befc6b16c12c2cee3e0176c.
2022-05-31build: pass bdb cppflags only where neededfanquake
Move bdb cppflags out of the catch-all BITCOIN_INCLUDES, and pass them only where they are needed, which is in libbitcoin_node/wallet and the tests.
2022-05-30use testing setup mempool in ComplexMemPool benchglozow
2022-05-30create and use mempool transactions using real coins in MempoolCheckglozow
2022-05-30[test util] to populate mempool with random transactions/packagesglozow
2022-05-30[test util] use -checkmempool for TestingSetup mempool check ratioglozow
2022-05-30[test util] add chain name to TestChain100Setup ctorglozow
This allows calling MakeNoLogFileContext<TestChain100Setup>
2022-05-30Merge bitcoin-core/gui#609: wallet, refactor: Drop unused ↵Hennadii Stepanov
`WalletModel::PaymentRequestExpired` 151009cf76f3f1adc17630d5370bf019be127373 qt, wallet, refactor: Drop unused `WalletModel::PaymentRequestExpired` (Hennadii Stepanov) Pull request description: The `PaymentRequestExpired` value in the `WalletModel::StatusCode` enumeration has been unused since bitcoin/bitcoin#17165. ACKs for top commit: furszy: ACK 151009cf, no usage for it. kristapsk: cr ACK 151009cf76f3f1adc17630d5370bf019be127373, checked that `PaymentRequestExpired` is not referenced anywhere else. Tree-SHA512: c2ea3443af5d369ca294d79559869f688aaa806b91ffe0090f3b34638a8377ec2f11d6f5c09cc2d11ab55035850237e60e992acba671097a6642c6bb9e709273
2022-05-30Merge bitcoin/bitcoin#25044: test: Use MiniWallet in rpc_rawtransaction.pyMacroFake
e8959000b63db4f2a21579fd4be27618c5fbd5b9 test: Use MiniWallet in rpc_rawtransaction.py (Daniela Brozzoni) e93046c10b4d4e139cd7b41791ad1bfe925351e2 MOVEONLY: Move signrawtransactionwithwallet test (Daniela Brozzoni) Pull request description: This PR allows `rpc_rawtransaction.py` to be run even without the Core wallet by using the MiniWallet instead, as proposed in https://github.com/bitcoin/bitcoin/issues/20078. This test was previously run twice, once with `--legacy-wallet` and once with `--descriptors`. Since this would have meant running the same test twice if the wallet wasn't compiled, now we run it just once with the legacy wallet. ACKs for top commit: jonatack: ACK e8959000b63db4f2a21579fd4be27618c5fbd5b9 Tree-SHA512: d1580570a54dad8e30a5df1ab7d03ecb3f824efe6843323e1f3aef63592045d823c7d54fc86321dc7c1d414854a253431a01a7baa9f30426ea9a09ef11ae3a04
2022-05-30Bump univalue subtreeMacroFake
2022-05-30Squashed 'src/univalue/' changes from 6c19d050a9..de4f73ddcaMacroFake
de4f73ddca Merge bitcoin-core/univalue-subtree#36: Drop overloaded members 076c051488 Drop overloaded members 06265321de Merge bitcoin-core/univalue-subtree#35: Remove get_int/get_int64 in favor of getInt<> 462c503aa4 Remove get_int/get_int64 in favor of getInt<> 68c8f5532d Merge bitcoin-core/univalue#34: doc: remove TODO 297c53a5ee doc: remove TODO git-subtree-dir: src/univalue git-subtree-split: de4f73ddca40487179e9ed08c6f6aa745d6cbba3
2022-05-30refactor: Replace get_int by getInt<int> aliasMacroFake
2022-05-30refactor: Explicitly convert atomic<int> to intJoão Barbosa