Bitcoin Core Github
44 subscribers
121K links
Download Telegram
💬 achow101 commented on pull request "init: Add option for rpccookie permissions (replace 26088)":
(https://github.com/bitcoin/bitcoin/pull/28167#issuecomment-2195406588)
ACK 73f0a6cbd0b628675028fbd5a37eff8115e7ccfe
💬 sipa commented on pull request "Several randomness improvements":
(https://github.com/bitcoin/bitcoin/pull/29625#discussion_r1657625195)
```diff
diff --git a/src/random.h b/src/random.h
index e67e295b5f..f447216776 100644
--- a/src/random.h
+++ b/src/random.h
@@ -64,9 +64,11 @@
* (up to) the first 32 bytes of H are produced as output, while the last 32 bytes
* become the new RNG state.
*
- * During tests, the RNG is put into a special deterministic mode, in which the output of
- * all RNG functions, with the exception of GetStrongRandBytes(), is replaced with the
- * output of a deterministic RNG that is initiali
...
💬 maflcko commented on pull request "wallet: notify when preset + automatic inputs exceed max weight":
(https://github.com/bitcoin/bitcoin/pull/30309#discussion_r1657628378)
https://cirrus-ci.com/task/5319226913718272?logs=ci#L1930

```
test 2024-06-26T19:28:29.157000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
File "/ci_container_base/ci/scratch/build/bitcoin-i686-pc-linux-gnu/test/functional/test_framework/util.py", line 157, in try_rpc
fun(*args, **kwds)
File "/ci_container_ba
...
👍 itornaza approved a pull request: "Mining interface followups, reduce cs_main locking, test rpc bug fix"
(https://github.com/bitcoin/bitcoin/pull/30335#pullrequestreview-2146255026)
Tested ACK a74b0f93efa1d9eaf5abc2f6591c44a632aec6ed

Code reviewed and validated all the initial refactor and appended fix changes as they were discovered during the course of this PR.

Cleaned up and rebuilt this commit running the unit, functional and extended tests that all pass.
🤔 mzumsande reviewed a pull request: "Don't empty dbcache on prune flushes: >30% faster IBD"
(https://github.com/bitcoin/bitcoin/pull/28280#pullrequestreview-2142888699)
> A non-pruned IBD with full dbcache to tip ended up using 12% more memory, but it was also 2.7% faster somehow.

I'm not sure if I understand this, is this still the case?
Why would a node use more memory after this pull? Shouldn't the 2 added pointers be included in the dbcache accounting, resulting in more frequent flushes due to the cache filling up faster, but not in an increase in memory when the cache is full?
💬 mzumsande commented on pull request "Don't empty dbcache on prune flushes: >30% faster IBD":
(https://github.com/bitcoin/bitcoin/pull/28280#discussion_r1655477509)
This comment and the implementation further persists the notion of FRESH-but-not-DIRTY coin, which I think is unfortunate, because it should be impossible for them to exist:
The only place in which they could be created is [here](https://github.com/bitcoin/bitcoin/blob/b27afb7fb774809c9c075d56e44657e0b607a00c/src/coins.cpp#L54), while fetching a coin from the parent that is spent. However that is not possible because we'd only get to that point if the [GetCoin()](https://github.com/bitcoin/bitc
...
💬 mzumsande commented on pull request "Don't empty dbcache on prune flushes: >30% faster IBD":
(https://github.com/bitcoin/bitcoin/pull/28280#discussion_r1657288151)
I think that it should be explained in a comment similar as it's already done in `CCoinsViewCache::BatchWrite` why we keep unspent coins because this is not obvious.
💬 mzumsande commented on pull request "Don't empty dbcache on prune flushes: >30% faster IBD":
(https://github.com/bitcoin/bitcoin/pull/28280#discussion_r1657659234)
see https://github.com/bitcoin/bitcoin/pull/28280#discussion_r1655477509, I think that FRESH-but-not-DIRTY coins may not exist.
💬 paplorinc commented on pull request "refactor, wallet: get serialized size of `CRecipient`s directly":
(https://github.com/bitcoin/bitcoin/pull/30050#discussion_r1657672491)
Rebased https://github.com/bitcoin/bitcoin/pull/30093 after this merge - it became trivial after your changes
💬 ishaanam commented on pull request "wallet, rpc: add anti-fee-sniping to `send` and `sendall`":
(https://github.com/bitcoin/bitcoin/pull/28944#discussion_r1657685887)
> It also enforces that the sequences are either MAX_SEQUENCE_NONFINAL or MAX_BIP125_RBF_SEQUENCE, so this needs to be checking that as well otherwise an assertion will be hit. Or a commit could be added to relax those checks

I have added these checks to `FinishTransaction`.
💬 ishaanam commented on pull request "wallet, rpc: add anti-fee-sniping to `send` and `sendall`":
(https://github.com/bitcoin/bitcoin/pull/28944#discussion_r1657687535)
Here the wallet is locked because it runs `CWallet::GetLastBlockHash` and `CWallet::GetLastBlockHeight` which both require `pwallet->cs_wallet` to be locked.
💬 jonatack commented on pull request "logging: Use LogFatal instead LogError for fatal errors":
(https://github.com/bitcoin/bitcoin/pull/30347#discussion_r1657710330)
> I don't think it makes sense for us to have 7 levels of logging -- even 5 is a lot.

Between 6 and 8 levels seems to be standard? The most frequent levels might be our current ones, plus Fatal, i.e.

Fatal, Error, Warning, Info, Debug, Trace

https://www.crowdstrike.com/cybersecurity-101/observability/logging-levels/
https://sematext.com/blog/logging-levels/
https://betterstack.com/community/guides/logging/log-levels-explained/
https://stackoverflow.com/questions/2031163/when-to-use-t
...
📝 instagibbs opened a pull request: "policy: Add `OP_TRUE <0x4e73>` as a standard output script"
(https://github.com/bitcoin/bitcoin/pull/30352)
This is a sub-feature taken out of the original proposal for ephemeral anchors https://github.com/bitcoin/bitcoin/pull/30239

This PR would allow protocols or wallets that want to use an anchor pattern
to do CPFP with a *keyless* anchor of any standard satoshi amount 240 or above.

The output is "keyless" because there is no authorization for spending it, and
for a number of use cases authorization is not required or perhaps even desired.
This is a weight usage optimization over `p2sh(OP_
...
👍 stickies-v approved a pull request: "kernel: De-globalize validation caches"
(https://github.com/bitcoin/bitcoin/pull/30141#pullrequestreview-2128509733)
ACK 974934b3c23ce7f34ef46f3dfc13468cd46f4b8a

Reduces dependencies on globals, cleans up the code, and generally makes it more robust through more self-contained code using an RAII-like pattern for `ValidationCache`, not requiring manual initialization of the caches preventing footguns.

I think is good as-is but would prefer addressing various outstanding nits from reviewers as I think some are important enough - will quickly re-ACK myself.
💬 stickies-v commented on pull request "kernel: De-globalize validation caches":
(https://github.com/bitcoin/bitcoin/pull/30141#discussion_r1646478869)
typo nit
```suggestion
//! Pre-initialized hasher to avoid having to recreate it for every hash calculation.
```
💬 stickies-v commented on pull request "kernel: De-globalize validation caches":
(https://github.com/bitcoin/bitcoin/pull/30141#discussion_r1646473144)
This seems incorrect, we clamp the number of elements, not the number of bytes. I'd prefer not documenting the clamping behaviour here, given how generous the limit is.
💬 stickies-v commented on pull request "kernel: De-globalize validation caches":
(https://github.com/bitcoin/bitcoin/pull/30141#discussion_r1657671482)
nit: \*ducks\* it seems like now would be the perfect time to rename this to `SignatureCache`?
💬 stickies-v commented on pull request "kernel: De-globalize validation caches":
(https://github.com/bitcoin/bitcoin/pull/30141#discussion_r1657442012)
reviewer note: orthogonal to this move-only change, but this has all kinds of under- and overflow issues. Since it's a debug issue, i suppose it's not the end of the world though
💬 stickies-v commented on pull request "kernel: De-globalize validation caches":
(https://github.com/bitcoin/bitcoin/pull/30141#discussion_r1657682792)
nit: any reason this isn't initialized where it's used?
💬 stickies-v commented on pull request "kernel: De-globalize validation caches":
(https://github.com/bitcoin/bitcoin/pull/30141#discussion_r1657457261)
I didn't realize the mutex has the same practical effect when I mentioned it it in my original [comment](https://github.com/bitcoin/bitcoin/pull/30141#discussion_r1644415772)) - but I too would still prefer to be more explicit here. If for some reason that's not a good idea, can we at least add a comment to the mutex to indicate that it also serves this purpose in case it is updated in the future?
💬 stickies-v commented on pull request "kernel: De-globalize validation caches":
(https://github.com/bitcoin/bitcoin/pull/30141#discussion_r1646343915)
nit: `std::optional` no longer needed as an include