aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-03-23Merge bitcoin/bitcoin#27233: refactor: Replace GetTimeMicros by SystemClockfanquake
faf3f12424fa8558e65fa3f1dd3aa1d0eea8604e refactor: Replace GetTimeMicros by SystemClock (MarcoFalke) Pull request description: It is unclear from the name that `GetTimeMicros` returns the system time. Also, it is not using the type-safe `std::chrono` types. Fix both issues by replacing it with `SystemClock` in the only place it is used. This refactor should not change behavior. ACKs for top commit: willcl-ark: tACK faf3f1242 john-moffett: ACK faf3f12424fa8558e65fa3f1dd3aa1d0eea8604e changes, but left a comment for the existing code. Tree-SHA512: 069e6ef26467a469f128b98a4aeb334f141742befd7880cb3a7d280480e9f0684dc0686fa6a828cdcb3d11943ae5c7f8ad5d9d9dab4c668be85e5d28c78cd489
2023-03-22Merge bitcoin/bitcoin#27297: test: Remove unused Check* default constructorsfanquake
fae349076db03ddfbf23c5d828368d538b5d52d5 test: Remove unused Check* default constructors (MarcoFalke) Pull request description: They are no longer needed after the removal of `swap`, see https://github.com/bitcoin/bitcoin/pull/26749#discussion_r1144532693 Also, flatten a redundant `if` check. ACKs for top commit: hebasto: ACK fae349076db03ddfbf23c5d828368d538b5d52d5 Tree-SHA512: c0bc0c16b5df0f16fc25e18d2414a2a3c4769da1aa30d53f8d267bc2e97dd79a0296db94c1e49cd1ca89bd42275d8c462f7bf47f03f105dfe867ebea6563454b
2023-03-22Merge bitcoin/bitcoin#27271: RPC: Fix fund transaction crash when at ↵Andrew Chow
0-value, 0-fee d7cc503843769b789dc5f031b4ddc75d555ba980 Fix fund transaction case at 0-value, 0-fee (Greg Sanders) Pull request description: and when no inputs are pre-selected. triggered via: walletcreatefundedpsbt '[]' '[{"data": "deadbeef"}]' 0 '{"fee_rate": "0"}' ACKs for top commit: achow101: ACK d7cc503843769b789dc5f031b4ddc75d555ba980 josibake: ACK https://github.com/bitcoin/bitcoin/pull/27271/commits/d7cc503843769b789dc5f031b4ddc75d555ba980 furszy: Crashes sucks code ACK d7cc5038 Tree-SHA512: 3f5e10875666aaf52c11d6a38b951aa75d0cbe684cc7f904e199f7a864923bf31d03a654687f8b746cae0eebb886a799bff2c6d200699438480d4c0ff8785f3a
2023-03-22test: Remove unused Check* default constructorsMarcoFalke
2023-03-22Merge bitcoin/bitcoin#26749: refactor: Use move semantics instead of custom ↵fanquake
swap functions 95ad70ab652ddde7de65f633c36c1378b26a313a test: Default initialize `should_freeze` to `true` (Hennadii Stepanov) cea50521fe810111a8a3c84ad14f944eafb5b658 refactor: Drop no longer used `swap` member functions (Hennadii Stepanov) a87fb6bee5a7fb0879b3adea9a29997f1331acb0 clang-tidy: Fix modernize-use-default-member-init in `CScriptCheck` (Hennadii Stepanov) b4bed5c1f98c0eed18f52fdcea11a420c10ed98d refactor: Drop no longer used `CScriptCheck()` default constructor (Hennadii Stepanov) d8427cc28e3a9ac3319fb452b16661957c812b8f refactor: Use move semantics in `CCheckQueue::Loop` (Hennadii Stepanov) 9a0b5241396efe3b3ceb3931717c30bb94f99bfb clang-tidy, test: Fix bugprone-use-after-move in `Correct_Queue_range()` (Hennadii Stepanov) 04831fee6dca3eb86cd1d6b9ef879b296263fe35 refactor: Make move semantics explicit for callers (Hennadii Stepanov) 6c2d5972f3544c4f3e987828a99e88f27b62cf87 refactor: Use move semantics in `CCheckQueue::Add` (Hennadii Stepanov) 06820032142a75cc3c5b832045058bc6f6f74786 test, refactor: Avoid `CScriptCheck::swap` in `transaction_tests` (Hennadii Stepanov) 15209d97c6aad7d5c199fe007ad39b91c8ee6562 consensus, refactor: Avoid `CScriptCheck::swap` in `CheckInputScripts` (Hennadii Stepanov) Pull request description: This PR makes code more succinct and readable by using move semantics. ACKs for top commit: martinus: re-ACK 95ad70ab652ddde7de65f633c36c1378b26a313a achow101: ACK 95ad70ab652ddde7de65f633c36c1378b26a313a TheCharlatan: re-ACK https://github.com/bitcoin/bitcoin/commit/95ad70ab652ddde7de65f633c36c1378b26a313a MarcoFalke: re-ACK 95ad70ab652ddde7de65f633c36c1378b26a313a 🚥 Tree-SHA512: adda760891b12d252dc9b823fe7c41eed660364b6fb1a69f17607d7a31eb0bbb82a80d154a7acfaa241b5de37d42a293c2b6e059f26a8e92d88d3a87c99768fb
2023-03-22Merge bitcoin/bitcoin#27280: test: Fix TypeError (expected str instance, ↵fanquake
bytes found) in wait_for_debug_log 33337eb86028662e632107411efec1e63b1c01bf test: Fix TypeError in wait_for_debug_log (MarcoFalke) Pull request description: ACKs for top commit: davidgumberg: tACK https://github.com/bitcoin/bitcoin/pull/27280/commits/33337eb86028662e632107411efec1e63b1c01bf Tree-SHA512: e641f23f0adc074d12b0ee10cab5845c16f3ac2858e42f895c69857c375fcb15c31bc1c9476bf2b6e2b49d0d2db4944687733da16d4a464152ae3323cbc6ca68
2023-03-22Merge bitcoin/bitcoin#27289: Refactor: Remove unused FlatFilePos::SetNullfanquake
fa67b8181c3ecf94395ecc50fd8acd436f1f8c3a Refactor: Remove unused FlatFilePos::SetNull (MarcoFalke) Pull request description: This is unused outside of tests and the default constructor. With C++11, it can be replaced by C++11 member initializers in the default constructor. Beside removing unused code, this also makes it less fragile in light of uninitialized memory. (See also https://github.com/bitcoin/bitcoin/pull/26296#issuecomment-1477801767) If new code needs to set this to null, it can use `std::optional`, or in the worst case re-introduce this method. ACKs for top commit: dergoegge: Code review ACK fa67b8181c3ecf94395ecc50fd8acd436f1f8c3a TheCharlatan: ACK fa67b8181c3ecf94395ecc50fd8acd436f1f8c3a john-moffett: ACK fa67b8181c3ecf94395ecc50fd8acd436f1f8c3a Tree-SHA512: 465c5e3eb4625405c445695d33e09a1fc5185c7dd1e766ba06034fb093880bfc65441d5334f7d9b20e2e417c2075557d86059f59d9648ca0e62a54c699c029b9
2023-03-21Merge bitcoin/bitcoin#27278: Log new headersAndrew Chow
2c3a90f663a61ee147d785167a2902494d81d34d log: on new valid header (James O'Beirne) e5ce8576349d404c466b2f4cab1ca7bf920904b2 log: net: new header over cmpctblock (James O'Beirne) Pull request description: Alternate to #27276. Devs were [suprised to realize](https://twitter.com/jamesob/status/1637237917201383425) last night that we don't have definitive logging for when a given header was first received. This logs to the main stream when new headers are received outside of IBD, as well as when headers come in over cmpctblocks. The rationale of not hiding these under log categories is that they may be useful to have widely available when debugging strange network activity, and the marginal volume is modest. ACKs for top commit: dergoegge: Code review ACK 2c3a90f663a61ee147d785167a2902494d81d34d achow101: ACK 2c3a90f663a61ee147d785167a2902494d81d34d Sjors: tACK 2c3a90f663a61ee147d785167a2902494d81d34d josibake: ACK https://github.com/bitcoin/bitcoin/pull/27278/commits/2c3a90f663a61ee147d785167a2902494d81d34d Tree-SHA512: 49fdcbe07799c8adc24143d7e5054a0c93fef120d2e9d5fddbd3b119550d895e2985be6ac10dd1825ea23a6fa5479c1b76d5518c136fbd983fa76c0d39dc354f
2023-03-21test: Default initialize `should_freeze` to `true`Hennadii Stepanov
It is safe now, when move semantics is used instead of a custom swap function.
2023-03-21refactor: Drop no longer used `swap` member functionsHennadii Stepanov
2023-03-21clang-tidy: Fix modernize-use-default-member-init in `CScriptCheck`Hennadii Stepanov
2023-03-21refactor: Drop no longer used `CScriptCheck()` default constructorHennadii Stepanov
2023-03-21refactor: Use move semantics in `CCheckQueue::Loop`Hennadii Stepanov
Co-authored-by: Martin Leitner-Ankerl <martin.ankerl@gmail.com>
2023-03-21clang-tidy, test: Fix bugprone-use-after-move in `Correct_Queue_range()`Hennadii Stepanov
2023-03-21refactor: Make move semantics explicit for callersHennadii Stepanov
2023-03-21refactor: Use move semantics in `CCheckQueue::Add`Hennadii Stepanov
Co-authored-by: Martin Leitner-Ankerl <martin.ankerl@gmail.com>
2023-03-21test, refactor: Avoid `CScriptCheck::swap` in `transaction_tests`Hennadii Stepanov
2023-03-21consensus, refactor: Avoid `CScriptCheck::swap` in `CheckInputScripts`Hennadii Stepanov
2023-03-21Refactor: Remove unused FlatFilePos::SetNullMarcoFalke
2023-03-20log: on new valid headerJames O'Beirne
2023-03-20Merge bitcoin/bitcoin#27179: guix: use osslsigncode 2.5Andrew Chow
285edfadcacde4921c0afa2092c613daf21a55aa guix: use osslsigncode 2.5 (fanquake) Pull request description: Switches to using a newer version of [osslsigncode](https://github.com/mtrojnar/osslsigncode) in our Guix environment. achow101 can you test this with some sort of WIndows code-signing dry-run (no-rush). ACKs for top commit: achow101: ACK 285edfadcacde4921c0afa2092c613daf21a55aa Tree-SHA512: 2ab8f65e506bd97e74e76f24e791ae20694e567a751cc57d3a27f31f0733e3530d058ef19825a35dc21d1342e3fffc52d8d643258198c669cc68b6db41bda629
2023-03-20Merge bitcoin/bitcoin#26899: p2p: set `-dnsseed` and `-listen` false if ↵Andrew Chow
`maxconnections=0` fabb95e7bf02f3d8e663a02dd845d42e09d330ec doc: add release note for 26899 (brunoerg) c84c5f6e89094749f90d7b0994278e50689e04dc p2p: set `-dnsseed` and `-listen` false if `maxconnections=0` (brunoerg) Pull request description: If `maxconnections=0`, it means our possible connections are going to be manual (e.g via `addnode`). For this reason, we can skip DNS seeds and set `listen` false. ACKs for top commit: achow101: ACK fabb95e7bf02f3d8e663a02dd845d42e09d330ec vasild: ACK fabb95e7bf02f3d8e663a02dd845d42e09d330ec 1440000bytes: reACK https://github.com/bitcoin/bitcoin/pull/26899/commits/fabb95e7bf02f3d8e663a02dd845d42e09d330ec Tree-SHA512: 33919a784723a32450f39ee4f6de3e27cc7c7f4c6ab4b8ce673981d461df334197deaf43e3f882039fa1ac36b2fddc6c6ab4413512d6c393d4a6865302dd05e7
2023-03-20Merge bitcoin/bitcoin#26531: mempool: Add mempool tracepointsAndrew Chow
4b7aec2951fe4595946cdc804b0dec1921d79d05 Add mempool tracepoints (virtu) Pull request description: This PR adds multiple mempool tracepoints. | tracepoint | description | | ------------- | ------------- | | `mempool:added` | Is called when a transaction enters the mempool | | `mempool:removed` | ... when a transaction is removed from the mempool | | `mempool:replaced` | ... when a transaction is replaced in the mempool | | `mempool:rejected` | ... when a transaction is rejected from entering the mempool | The tracepoints are further documented in `docs/tracing.md`. Usage is demonstrated in the example script `contrib/tracing/mempool_monitor.py`. Interface tests are provided in `test/functional/interface_usdt_mempool.py`. The rationale for passing the removal reason as a string instead of numerically is that the benefits of not having to maintain a redundant enum-string mapping seem to outweigh the small cost of string generation. The reject reason is passed as string as well, although in this instance the string does not have to be generated but is readily available. ACKs for top commit: 0xB10C: ACK 4b7aec2951fe4595946cdc804b0dec1921d79d05 achow101: ACK 4b7aec2951fe4595946cdc804b0dec1921d79d05 Tree-SHA512: 6deb3ba2d1a061292fb9b0f885f7a5c4d11b109b838102d8a8f4828cd68f5cd03fa3fc64adc6fdf54a08a1eaccce261b0aa90c2b8c33cd5fd3828c8f74978958
2023-03-20Add mempool tracepointsvirtu
Tracepoints for added, removed, replaced, and rejected transactions. The removal reason is passed as string instead of a numeric value, since the benefits of not having to maintain a redundant enum-string mapping seem to outweigh the small cost of string generation. The reject reason is passed as string as well, although here the string does not have to be generated but is readily available. So far, tracepoint PRs typically included two demo scripts: a naive bpftrace script to show raw tracepoint data and a bcc script for a more refined view. However, as some of the ongoing changes to bpftrace introduce a certain degree of unreliability (running some of the existing bpftrace scripts was not possible with standard kernels and bpftrace packages on latest stable Ubuntu, Debian, and NixOS), this PR includes only a single bcc script that fuses the functionality of former bpftrace and bcc scripts.
2023-03-20log: net: new header over cmpctblockJames O'Beirne
2023-03-20test: Fix TypeError in wait_for_debug_logMarcoFalke
Traceback: print_log = " - " + "\n - ".join(log.splitlines()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: sequence item 0: expected str instance, bytes found
2023-03-19Merge bitcoin/bitcoin#25666: refactor: wallet, do not translate init options ↵fanquake
names e43a547a3674a31504a60ede9b4912e014a54139 refactor: wallet, do not translate init arguments names (furszy) Pull request description: Simple, and not interesting, refactor that someone has to do sooner or later. We are translating some init arguments names when those shouldn't be translated. ACKs for top commit: achow101: ACK e43a547a3674a31504a60ede9b4912e014a54139 MarcoFalke: lgtm ACK e43a547a3674a31504a60ede9b4912e014a54139 ryanofsky: Code review ACK e43a547a3674a31504a60ede9b4912e014a54139. Just rebased since last review. Tree-SHA512: c6eca98fd66d54d5510de03ab4e63c00ba2838af4237d2bb135d01c47f8ad8ca9aa7ae1e45cf668afcfb9dd958b075a1756cc887b3beef2cb494933d4d83eab0
2023-03-19Merge bitcoin/bitcoin#27265: test: check that sigop limit also affects ↵fanquake
ancestor/descendant size (27171 follow-up) 6d24d1ef2be7a86ddd798c4966d705e72013b6af test: check that sigop limit also affects ancestor/descendant size (Sebastian Falbesoner) Pull request description: This is a follow-up to #27171, adding a check that the sigop-limit vsize logic is also respected for {ancestor,descendant}size calculation (as suggested in https://github.com/bitcoin/bitcoin/pull/27171#pullrequestreview-1331143909). For simplicity, we use a one-parent-one-child cluster here and only check for the case that the sigop-limit equivalent size is larger than the serialized vsize. ACKs for top commit: glozow: code review ACK 6d24d1ef2be7a86ddd798c4966d705e72013b6af, thanks for taking! Tree-SHA512: dc65e455d06cfef1f1d6a53b959f99ec1ca3fe51c98dc1ed5826614b5619773d34aff0171c43a0ede4fd45605b2eb7a9278e027196128bb7ad8586b859f1cf70
2023-03-19Merge bitcoin/bitcoin#27264: p2p: Improve diversification of new connectionsfanquake
72e8ffd7f8dbf908e65da6d012ede914596737ab p2p: Account for MANUAL conns when diversifying persistent outbound conns (Gleb Naumenko) 3faae99c3d8e512f9d3f6e7fb0785c60d4bed654 p2p: Diversify connections only w.r.t *persistent* outbound peers (Gleb Naumenko) Pull request description: Revives #19860. In order to make sure that our persistent outbound slots belong to different netgroups, distinct net groups of our peers are added to [`setConnected`](https://github.com/bitcoin/bitcoin/blob/8c4958bd4c06026dc108bc7f5f063d1f389d279b/src/net.cpp#L1716). We’d only open a persistent outbound connection to peers which have a different netgroup compared to those netgroups present in `setConnected`. **behaviour on master** we open persistent outbound connections to peers which have different netgroups compared to outbound full relay, block relay, addrfetch and feeler connection peers. **behaviour on PR** netgroup diversity is based on outbound full relay, block relay and manual connection peers. **rationale** - addrfetch and feeler connections are short lived connections and shouldn’t affect how we select outbound peers from addrman. - manual connections are like regular connections when viewed from addrman’s netgroup diversity point of view and should affect how we select outbound peers from addrman ACKs for top commit: amitiuttarwar: code review ACK 72e8ffd7f8dbf908e65da6d012ede914596737ab vasild: ACK 72e8ffd7f8dbf908e65da6d012ede914596737ab mzumsande: Code Review ACK 72e8ffd7f8dbf908e65da6d012ede914596737ab brunoerg: crACK 72e8ffd7f8dbf908e65da6d012ede914596737ab Tree-SHA512: 359451945a707b312ef6c2696a3a9d4256ab14dab9bd461cca4a52dae034db099012df6de3faef2f3fb38184b05996402ac280b681959483824419b6deb4db1a
2023-03-17Merge bitcoin/bitcoin#27212: test: Make the unlikely race in ↵fanquake
p2p_invalid_messages impossible fa1eb0ecaef14d428812f956082d29ab134fc728 test: Make the unlikely race in p2p_invalid_messages impossible (MarcoFalke) Pull request description: After `add_p2p_connection` both sides have the verack processed. However the pong from conn in reply to the ping from the node has not been processed and recorded in totalbytesrecv. Flush the pong from conn by sending a ping from conn. This should make the unlikely race impossible. ACKs for top commit: mzumsande: ACK fa1eb0ecaef14d428812f956082d29ab134fc728 pinheadmz: ACK fa1eb0ecaef14d428812f956082d29ab134fc728 Tree-SHA512: 44166587572e8c0c758cac460fcfd5cf403b2883880128b13dc62e7f74ca5cb8f145bb68a903df177ff0e62faa360f913fd409b009d4cd1360f1f4403ade39ae
2023-03-17test: Make the unlikely race in p2p_invalid_messages impossibleMarcoFalke
2023-03-16Merge bitcoin/bitcoin#27199: test: fix race condition in encrypted wallet ↵Andrew Chow
rescan tests dbeca792a9980085d00be0f9d78187ca3a4d7cdc test: fix race condition in encrypted wallet rescan tests (ishaanam) Pull request description: This fixes https://github.com/bitcoin/bitcoin/pull/26347#discussion_r1123340738 ACKs for top commit: MarcoFalke: nice re-ACK dbeca792a9980085d00be0f9d78187ca3a4d7cdc 🚜 achow101: ACK dbeca792a9980085d00be0f9d78187ca3a4d7cdc Tree-SHA512: 7127254ac0274b5bc8ba0242736e77464acbf1f6e3f6af098b4e47742124c336cd67dffdb385e1e8dbd3a8ae74acd073c99e82fa35c44a615fd7d22b29a0daf7
2023-03-16Fix fund transaction case at 0-value, 0-feeGreg Sanders
2023-03-16Merge bitcoin/bitcoin#27200: test: psbt: check non-witness UTXO removal for ↵Andrew Chow
segwit v1 input 3dd2f6461b4bb28b2b212c691a3df28ac793ad91 test: psbt: check non-witness UTXO removal for segwit v1 input (Sebastian Falbesoner) dd78e3fa439d57e148a2a5e312021da962c4a394 test: speedup rpc_psbt.py by whitelisting peers (immediate tx relay) (Sebastian Falbesoner) e194e3e93dd0665181bafeb162bf4c9f3621d6f1 test: PSBT: eliminate magic numbers for global unsigned tx key (0) (Sebastian Falbesoner) Pull request description: This PR adds missing test coverage for dropping non-witness UTXOs from PSBTs for segwit v1+ inputs (see commit 103c6fd2791f7e73eeab7f3900fbedd5b550211d). The formerly [disabled](https://github.com/bitcoin/bitcoin/commit/46004790588c24174a0bec49b540d158ce163ffd) method `test_utxo_conversion` is re-enabled and adapted to spend a Taproot (`bech32m`) instead of a wrapped SegWit (`p2sh-segwit`) output. Note that in contrast to the original test, we have to add the non-witness UTXO manually here using the test framework's PSBT module, since the constructing node knows that the output is segwit v1 and hence doesn't add the non-witness UTXO in the first place (see also [BIP371]( https://github.com/bitcoin/bips/blob/master/bip-0371.mediawiki#user-content-UTXO_Types)). I strongly assume that most wallets would behave the same as Bitcoin Core here and wouldn't create PSBTs with non-witness UTXOs for Taproot inputs, but it's still good to test everything works as expected if it's still done and that the non-witness UTXO is simply dropped in that case. The first two commits contain a small refactor (magic number elimination in PSBT module) and test speedup of ~2-3x (using whitelisting peers / immediate tx relay). ACKs for top commit: achow101: ACK 3dd2f6461b4bb28b2b212c691a3df28ac793ad91 instagibbs: ACK 3dd2f6461b4bb28b2b212c691a3df28ac793ad91 Tree-SHA512: b8d7f7ea5d7d21def024b70dfca61991cc96a4193be8857018b4d7cf3ca1465d185619fd4a77623803d9da309aa489c53273e9b7683d970ce12e2399b5b50031
2023-03-16Merge bitcoin/bitcoin#26177: refactor / kernel: Move non-gArgs chainparams ↵fanquake
functionality to kernel b3e78dc91d01e364b77aacd9fb9a2f88688ab8a6 refactor: Don't use global chainparams in chainstatemanager method (TheCharlatan) 382b692a503355df7347efd9c128aff465b5583e Split non/kernel chainparams (Carl Dong) edabbc78a3bc272b2b802e1dbab73d6ed8e31e96 Add factory functions for Main/Test/Sig/Reg chainparams (Carl Dong) d938098398814f37fed9b018b44716179cfa4b03 Remove UpdateVersionBitsParameters (Carl Dong) 84b85786f0f5cb23cc257a4464ae345e1d372313 Decouple RegTestChainParams from ArgsManager (Carl Dong) 76cd4e7c96242398172989609f1b9a8843c404b4 Decouple SigNetChainParams from ArgsManager (Carl Dong) Pull request description: This pull request is part of the `libbitcoinkernel` project https://github.com/bitcoin/bitcoin/issues/24303 https://github.com/bitcoin/bitcoin/projects/18 and more specifically its "Step 2: Decouple most non-consensus code from libbitcoinkernel". dongcarl is the original author of this patchset, these commits were taken from https://github.com/dongcarl/bitcoin/tree/2022-03-libbitcoinkernel-chainparams-args-only. #### Context The bitcoin kernel library currently relies on code containing user configurations through the `ArgsManager`. This is not optimal, since as a stand-alone library it should not rely on bitcoind's argument parsing logic. Instead, its interfaces should accept control and options structs that control the kernel library's desired configuration. Similar work towards decoupling the `ArgsManager` from the kernel has been done in https://github.com/bitcoin/bitcoin/pull/25290, https://github.com/bitcoin/bitcoin/pull/25487, https://github.com/bitcoin/bitcoin/pull/25527 and https://github.com/bitcoin/bitcoin/pull/25862. #### Changes By moving the `CChainParams` class definition into the kernel and giving it new factory functions `CChainParams::{RegTest,SigNet,Main,TestNet}`it can be constructed without an `ArgsManager` reference, unlike the current factory function `CreateChainParams`. The first few commits remove uses of `ArgsManager` within `CChainParams`. Then the `CChainParams` definition is moved to a new file in the `kernel/` subdirectory. ACKs for top commit: MarcoFalke: re-ACK b3e78dc91d01e364b77aacd9fb9a2f88688ab8a6 🛁 ryanofsky: Code review ACK b3e78dc91d01e364b77aacd9fb9a2f88688ab8a6. Only changes since last review were recent review suggestions. ajtowns: ACK b3e78dc91d01e364b77aacd9fb9a2f88688ab8a6 Tree-SHA512: 3835aca1d3e3c75cc3303dd584bab3a77e58f6c678724a5e359fe4b0e17e0763a00931ee6191f516b9fde50496f59cc691f0709c0254206db3863bbf7ab2cacd
2023-03-15Merge bitcoin/bitcoin#26207: rest: add verbose and mempool_sequence query ↵Andrew Chow
params for mempool/contents 1ff5d61dfdaf8987e5619162662e4c760af76a43 doc: add mempool/contents rest verbose and mempool_sequence args (Andrew Toth) 52a31dccc92366efb36db3b94920bdf8b05b264c tests: mempool/contents verbose and mempool_sequence query params tests (Andrew Toth) a518fff0f2e479064dd4cff6c29fb54c72c1407b rest: add verbose and mempool_sequence query params for mempool/contents (Andrew Toth) Pull request description: The verbose mempool json response can get very large. This adds an option to return the non-verbose response of just the txids. It is identical to the rpc response so the diff here is minimal. This also adds the mempool_sequence parameter for rpc consistency. Verbose defaults to true to remain backwards compatible. It uses query parameters to be compatible with the efforts in https://github.com/bitcoin/bitcoin/issues/25752. ACKs for top commit: achow101: ACK 1ff5d61dfdaf8987e5619162662e4c760af76a43 stickies-v: re-ACK [1ff5d61](https://github.com/bitcoin/bitcoin/pull/26207/commits/1ff5d61dfdaf8987e5619162662e4c760af76a43) pablomartin4btc: tested ACK 1ff5d61dfdaf8987e5619162662e4c760af76a43. Tree-SHA512: 1bf08a7ffde2e7db14dc746e421feedf17d84c4b3f1141e79e36feb6014811dfde80e1d8dbc476c15ff705de2d3c967b3081dcd80536d76b7edf888f1a92e9d1
2023-03-15Merge bitcoin/bitcoin#27227: wallet: 25806 follow-upAndrew Chow
475c20aa568d597c7850c784058596ae26f37496 wallet: remove coin control arg from AutomaticCoinSelection (furszy) 8a5583131ce78cd748e2279eb9331321e4ef2aa3 wallet: remove unused methods (furszy) 8471967d7be0804665fdf94a9a841b1c56598b3c wallet: GroupOutput, remove unneeded "spendable" check (furszy) a9aa04183c4502c23ec924e9c8944b7c90f9f5c2 wallet: OutputGroup, remove unused effective_feerate member (furszy) 99034b2b72728def57204abe518e0360d9675437 wallet: APS, don't create empty groups (furszy) 805f399b174ef129ffabc07a87024be1ea1bfc35 wallet: do not make two COutputs, use shared_ptr (furszy) Pull request description: Few small findings post-#25806 and extra cleanups, nothing biggie. ACKs for top commit: S3RK: Code review ACK 475c20aa568d597c7850c784058596ae26f37496 Xekyo: utACK 475c20aa568d597c7850c784058596ae26f37496 achow101: ACK 475c20aa568d597c7850c784058596ae26f37496 Tree-SHA512: df45efebd6e2e4ecac619d6ecef794979c328a2d6ef532e25124d0dc1c72b55ccf13498f61fb65958b907bfba6a72ed569bf34eb5fbe35419632fe0406e78798
2023-03-15Merge bitcoin/bitcoin#25781: Remove almost all blockstorage globalsAndrew Chow
fadf8b818226dc60adf88e927160f9c9680473a4 refactor: Add and use PRUNE_TARGET_MANUAL constexpr (MarcoFalke) fa9bd7be472f49b15f5f87711094095954322635 Move ::fImporting to BlockManager (MarcoFalke) fa442b137764e0b6c0d991ba641e90c3217be1bf Pass fImporting to ImportingNow helper class (MarcoFalke) fa177d7b6b3ad008d442ff9622c9b30e68d6e388 Move ::fPruneMode into BlockManager (MarcoFalke) fa721f1cab0de239a93f6bf70e3a8af26fddae8a Move ::nPruneTarget into BlockManager (MarcoFalke) Pull request description: It seems preferable to assign globals to a class (in this case `BlockManager`), than to leave them dangling. This should clarify scope for code-readers, as well as clarifying unit test behaviour. ACKs for top commit: TheCharlatan: Code review ACK fadf8b818226dc60adf88e927160f9c9680473a4 achow101: ACK fadf8b818226dc60adf88e927160f9c9680473a4 dergoegge: Code review ACK fadf8b818226dc60adf88e927160f9c9680473a4 Tree-SHA512: d261b69257560c9f460bbe85944ca478d0390b498a5af514bafcb4f6444841e5ea58c2e8982f38c48685d6f649039234aec853a934e24ebf23e20d975991a5dc
2023-03-15test: fix race condition in encrypted wallet rescan testsishaanam
2023-03-15test: check that sigop limit also affects ancestor/descendant sizeSebastian Falbesoner
2023-03-15refactor: Don't use global chainparams in chainstatemanager methodTheCharlatan
The chainstatemanager m_options.chainparams member variable gets its value from the global chainparams in init.cpp. This allows validation.cpp to only include the the kernel chainparams file.
2023-03-15Split non/kernel chainparamsCarl Dong
Moves chainparams code not using the ArgsManager to the kernel. Subsequently use the kernel chainparams header now where possible in order to further decouple chainparams call sites from gArgs.
2023-03-15Add factory functions for Main/Test/Sig/Reg chainparamsCarl Dong
This normalizes the behavior of initializing Main/Test/Sig/Reg chainparams with RegTest/SigNet chainparams. These factory functions can also easily be used from a context without an instantiated ArgsManager, e.g. from libbitcoin kernel code, unlike the existing CreateChainParams method.
2023-03-15Remove UpdateVersionBitsParametersCarl Dong
Moves setting struct member fields from a function to its call site. This improves readability by surfacing the code.
2023-03-15Decouple RegTestChainParams from ArgsManagerCarl Dong
RegTest chain params can now be initialized by configuring a RegTestOptions struct, or with ArgsManager. This offers an interface for creating RegTestChainParams without a gArgs object.
2023-03-15Decouple SigNetChainParams from ArgsManagerCarl Dong
SigNet chain params can now be initialized by configuring a SigNetOptions struct, or with ArgsManager. This offers an interface for creating SigNetChainParams without a gArgs object.
2023-03-15refactor: Add and use PRUNE_TARGET_MANUAL constexprMarcoFalke
2023-03-15Move ::fImporting to BlockManagerMarcoFalke
2023-03-15Pass fImporting to ImportingNow helper classMarcoFalke
2023-03-15Move ::fPruneMode into BlockManagerMarcoFalke