Bitcoin Core Github
44 subscribers
121K links
Download Telegram
πŸ“ jonatack converted_to_draft a pull request: "Fix logging RPC and -debugexclude with 0/none values, add test coverage, improve docs"
(https://github.com/bitcoin/bitcoin/pull/27231)
The logging RPC doesn't behave as described in its help when `0` or `none` are passed.

```
$ ./src/bitcoin-cli help logging

In addition, the following are available as category names with special meanings:
- "all", "1" : represent all logging categories.
- "none", "0" : even if other logging categories are specified, ignore all of them.
```

The behavior was added in https://github.com/bitcoin/bitcoin/pull/11191, but it isn't functional in Bitcoin Core versions 22/23/24, the las
...
πŸ’¬ ryanofsky commented on pull request "wallet: Replace use of purpose strings with an enum":
(https://github.com/bitcoin/bitcoin/pull/27217#discussion_r1132779833)
In commit "wallet: Replace use of purpose strings with an enum" (44a2ae100b600bc9c9f4c956223fab3b1948ea8d)

Let's get rid of this unknown enum value. It looks like it was never written to disk and was purely an in-memory value. There are only two `WalletBatch::WritePurpose` calls in the codebase and if you check their callers you can see they are always passing hardcoded "send" and "receive" or "" values. This goes back to #2539 when purpose rows were first added to the database.

Having thi
...
πŸ’¬ ryanofsky commented on pull request "wallet: Replace use of purpose strings with an enum":
(https://github.com/bitcoin/bitcoin/pull/27217#discussion_r1132788102)
In commit "wallet: Replace use of purpose strings with an enum" (44a2ae100b600bc9c9f4c956223fab3b1948ea8d)

In #2539 there was also a ["refund"](https://github.com/bitcoin/bitcoin/blob/a41d5fe01947f2f878c055670986a165af800f9a/src/qt/paymentserver.cpp#L536) purpose, so it might make sense to add a REFUND enum value to allow those wallets to be loaded without triggering an `assert(false)` error in PurposeFromString.
πŸ’¬ ryanofsky commented on pull request "wallet: Replace use of purpose strings with an enum":
(https://github.com/bitcoin/bitcoin/pull/27217#discussion_r1132795600)
In commit "wallet: Replace use of purpose strings with an enum" (44a2ae100b600bc9c9f4c956223fab3b1948ea8d)

Code style comment: It is a little inconsistent to call .value() in one case but not the other. Personally, I think it would be clearest to write this as `if (purpose == SEND) ... else if (purpose == RECEIVE) else ... ` like the original code, instead of being overly verbose and paranoid about null values, which are handled sanely by [`operator==`](https://en.cppreference.com/w/cpp/utili
...
πŸ’¬ ryanofsky commented on pull request "wallet: Replace use of purpose strings with an enum":
(https://github.com/bitcoin/bitcoin/pull/27217#discussion_r1132814936)
In commit "wallet: Replace use of purpose strings with an enum" (44a2ae100b600bc9c9f4c956223fab3b1948ea8d)

It seems like it would be better to do something like log a warning or return an error message if an unrecognized purpose is set here, rather than crashing with an assert.
πŸ’¬ ryanofsky commented on pull request "wallet: Replace use of purpose strings with an enum":
(https://github.com/bitcoin/bitcoin/pull/27217#discussion_r1132816332)
In commit "wallet: Replace use of purpose strings with an enum" (44a2ae100b600bc9c9f4c956223fab3b1948ea8d)

Should this older purpose field be dropped?
πŸ’¬ ryanofsky commented on pull request "wallet: Replace use of purpose strings with an enum":
(https://github.com/bitcoin/bitcoin/pull/27217#discussion_r1132822542)
In commit "wallet: Replace use of purpose strings with an enum" (44a2ae100b600bc9c9f4c956223fab3b1948ea8d)

It seems a little misleading to set default address book entry purpose to UNKNOWN, because the purpose of addresses with default entries are known: they are just change addresses used to hold avoid_reuse bookkeeping info.

So I think it would probably be better to change type of `m_purpose` field to `optional<AddressPurpose>` and leave it unset, when `m_change` is true, rather making t
...
πŸ’¬ TheCharlatan commented on pull request "util: fix argsman dupe key error":
(https://github.com/bitcoin/bitcoin/pull/27236#issuecomment-1464351935)
Code review ACK 8fcbdadfad8a9b3143527141ff37e5fe1e87f3b3
πŸ’¬ fanquake commented on pull request "refactor: Replace GetTimeMicros by SystemClock":
(https://github.com/bitcoin/bitcoin/pull/27233#issuecomment-1464352514)
Concept ACK
πŸ’¬ amitiuttarwar commented on pull request "addrman: Enable selecting addresses by network":
(https://github.com/bitcoin/bitcoin/pull/27214#discussion_r1132837417)
good point about checking bounds. one way to do that is with simple checks like `assert(bucket <= ADDRMAN_TRIED_BUCKET_COUNT)` etc.

> Maybe change the arrays to std::array and use .at() here.

but I'd like to understand this option better. right now `vvTried` and `vvNew` are declared as C-style arrays. is your recommendation to change those `AddrManImpl` declarations so that we can utilize the bounds checking of the `.at()` function?
πŸ’¬ adamjonas commented on issue "Consensus failure while upgrading bitcoind 0.8.3 > 0.22.0":
(https://github.com/bitcoin/bitcoin/issues/23913#issuecomment-1464375907)
There hasn't been forward progress on this for over a year. Appears to be a won't fix.
βœ… adamjonas closed an issue: "Consensus failure while upgrading bitcoind 0.8.3 > 0.22.0"
(https://github.com/bitcoin/bitcoin/issues/23913)
πŸ’¬ adamjonas commented on issue "Add CBOR RPC interface":
(https://github.com/bitcoin/bitcoin/issues/22866#issuecomment-1464379624)
There doesn't seem to be any forward progress on this feature request. Closing based on staleness.
βœ… adamjonas closed an issue: "Add CBOR RPC interface"
(https://github.com/bitcoin/bitcoin/issues/22866)
πŸ’¬ Xekyo commented on issue "Option to ignore small inputs when internal wallet is building TXes?":
(https://github.com/bitcoin/bitcoin/issues/20870#issuecomment-1464384675)
The Knapsack algorithm was kept as is, and still always permits uneconomical UTXOs. So, occasionally, the input set proposed by Knapsack could include an uneconomical UTXO in its inputs and still be the least wasteful input set overall. I would suggest that we remove Knapsack, and at the same time loosen the input selection for other algorithms, so we permit spending of uneconomical inputs when building transactions at `minRelayTxFeeRate`. That way we retain the Bitcoin Core wallet’s propensity
...
πŸ’¬ adamjonas commented on issue "Coin selection algorithm proposal":
(https://github.com/bitcoin/bitcoin/issues/23164#issuecomment-1464458201)
This has gone stale and @brunoerg confirmed can close.
βœ… adamjonas closed an issue: "Coin selection algorithm proposal"
(https://github.com/bitcoin/bitcoin/issues/23164)
πŸ’¬ stratospher commented on pull request "p2p: Allow whitelisting outgoing connections":
(https://github.com/bitcoin/bitcoin/pull/27114#discussion_r1132895083)
why do we mention outgoing? (isn't it incoming only)
πŸ‘ 1440000bytes approved a pull request: "p2p: set `-dnsseed` and `-listen` false if `maxconnections=0`"
(https://github.com/bitcoin/bitcoin/pull/26899)
reACK https://github.com/bitcoin/bitcoin/pull/26899/commits/fabb95e7bf02f3d8e663a02dd845d42e09d330ec
πŸ’¬ mzumsande commented on pull request "blockstorage: do not flush block to disk if it is already there":
(https://github.com/bitcoin/bitcoin/pull/27039#discussion_r1132925968)
I don't understand what this part of the test is testing - calling `SaveBlockToDisk` for a block at a specified but incorrect position is something that should never be possible in an actual, non-corrupted node unless I'm missing something.
But if it somehow happened anyway, even if the existing block isn't overwritten, I'd imagine that it would still cause some havoc, like changing block file statistics [here](https://github.com/bitcoin/bitcoin/blob/c7f1d95f52883d7087b74f45f5e4ce1100d51149/sr
...