Bitcoin Core Github
43 subscribers
123K links
Download Telegram
💬 fanquake commented on pull request "build: switch to using LLVM 17.x for macOS builds":
(https://github.com/bitcoin/bitcoin/pull/28880#issuecomment-1866292269)
Guix build (x86_64 & aarch64):
```bash
65981453fcb83338ed76435dc8fed06e9903441731b461e4f2c8a04ad102043c guix-build-b335710782c2/output/aarch64-linux-gnu/SHA256SUMS.part
3127d18bc55a7a207eb7e1252feaf24f767d5983e5d064323671139659c4f3d7 guix-build-b335710782c2/output/aarch64-linux-gnu/bitcoin-b335710782c2-aarch64-linux-gnu-debug.tar.gz
0a67737c010e742249f07dd3ca3ae289df02edf2dedd8d6a5a07b291921bab47 guix-build-b335710782c2/output/aarch64-linux-gnu/bitcoin-b335710782c2-aarch64-linux-gnu.tar.g
...
💬 fanquake commented on pull request "build: switch to using LLVM 17.x for macOS builds":
(https://github.com/bitcoin/bitcoin/pull/28880#issuecomment-1866295932)
This is now reproducible, and reviewable.
👍 BrandonOdiwuor approved a pull request: "wallettool: Always be able to dump a wallet's database"
(https://github.com/bitcoin/bitcoin/pull/29117#pullrequestreview-1793028431)
Code Review ACK d83bea42d1f0ffb0899a6de3556c489543468995
💬 ismaelsadeeq commented on pull request "v3 transaction policy for anti-pinning":
(https://github.com/bitcoin/bitcoin/pull/28948#discussion_r1432797027)
Rule 5 is not accurately checked here.
IMO its better to remove it completely and depend on `ApplyV3Rules` for an accurate child size limit check.
The method might even be removed completely in the future cc #28345
💬 ismaelsadeeq commented on pull request "v3 transaction policy for anti-pinning":
(https://github.com/bitcoin/bitcoin/pull/28948#discussion_r1432787931)
iwyu
```suggestion
#include <set>
```
💬 ismaelsadeeq commented on pull request "v3 transaction policy for anti-pinning":
(https://github.com/bitcoin/bitcoin/pull/28948#discussion_r1432801208)
We can just return early if all the transactions are not v3
```suggestion
const auto any_v3 = std::any_of(package.begin(), package.end(), [](const auto& tx){ return tx->nVersion == 3;});
if (!any_v3) { return v3_ancestor_sets;}
```
💬 ismaelsadeeq commented on pull request "v3 transaction policy for anti-pinning":
(https://github.com/bitcoin/bitcoin/pull/28948#discussion_r1432807598)
Nit: I find `tx_iter` more readable than `package_iter`, since its a transaction iterator not package iterator
```suggestion
for (auto tx_iter = package.rbegin(); tx_iter != package.rend(); ++tx_iter) {

```
💬 ismaelsadeeq commented on pull request "v3 transaction policy for anti-pinning":
(https://github.com/bitcoin/bitcoin/pull/28948#discussion_r1432824698)
We can just skip if the ancestor has the transaction in it's descendant set?
```suggestion
if (ancestors_descendant_set.count((*tx_iter)->GetHash()) == 0 ) {
ancestors_descendant_set.insert(my_descendant_set.cbegin(), my_descendant_set.cend());
```
💬 ismaelsadeeq commented on pull request "v3 transaction policy for anti-pinning":
(https://github.com/bitcoin/bitcoin/pull/28948#discussion_r1432811937)
Nit: IMO its more readable to define an intermediate txid variable here also just like its done in the for loop above
```suggestion
const Txid& my_txid{(*package_iter)->GetHash()};
if ((*package_iter)->nVersion == 3) {
```
💬 ismaelsadeeq commented on pull request "v3 transaction policy for anti-pinning":
(https://github.com/bitcoin/bitcoin/pull/28948#discussion_r1434138603)
why increment `num_prechecks_passed` here ?
💬 ismaelsadeeq commented on pull request "v3 transaction policy for anti-pinning":
(https://github.com/bitcoin/bitcoin/pull/28948#discussion_r1434137263)
After restarting here, we are restarting at the beginning of the test again with extra args
Dev notes says
> [Avoid stop-starting the nodes multiple times during the test if possible. A stop-start takes several seconds, so doing it several times blows up the runtime of the test.](https://github.com/bitcoin/bitcoin/blob/master/test/functional/README.md#style-guidelines)

The wrapper can accept the extra args as argument and restart at the beginning only ?
<details>

```python
def cleanup(
...
💬 ismaelsadeeq commented on pull request "v3 transaction policy for anti-pinning":
(https://github.com/bitcoin/bitcoin/pull/28948#discussion_r1434122383)
`CheckMempoolV3Invariants` docstring says we would verify
>any non-v3 tx must only have non-v3 ancestors

We are only getting parents and checking the first parent?
💬 glozow commented on pull request "v3 transaction policy for anti-pinning":
(https://github.com/bitcoin/bitcoin/pull/28948#discussion_r1434150244)
I disagree, I think we should exit as early as possible when something is too big and avoid needing to do expensive things like load a bunch of UTXOs from disk. The next line says "Important: this function is insufficient to enforce" etc.
💬 glozow commented on pull request "v3 transaction policy for anti-pinning":
(https://github.com/bitcoin/bitcoin/pull/28948#discussion_r1434152018)
This function is documented as "Should not be called for non-v3 packages."
💬 glozow commented on pull request "v3 transaction policy for anti-pinning":
(https://github.com/bitcoin/bitcoin/pull/28948#discussion_r1434153256)
There's only 1 parent allowed, so this code takes a shortcut of only looking at the first one. Maybe it's better to edit the function params so callers can only pass 1 entry in.
💬 glozow commented on pull request "v3 transaction policy for anti-pinning":
(https://github.com/bitcoin/bitcoin/pull/28948#discussion_r1434154836)
Ah you're right, fixing
🤔 stratospher reviewed a pull request: "refactor: share and use `GenerateRandomKey` helper"
(https://github.com/bitcoin/bitcoin/pull/28455#pullrequestreview-1793127590)
Concept ACK. I think this is a useful refactor to have since it's more modular to have `GenerateRandomKey` in `key.cpp` rather than net code.

> I found these by doing grep -nri "MakeNewKey" ./src --binary-files=without-match
do we plan on making this modification to these files aswell?

@kevkevinpal, it makes sense to do this refactor when we're instantiating a CKey object and also filling the value together in the same line. we can't do this in arrays for example, where the instantiation
...
💬 stratospher commented on pull request "refactor: share and use `GenerateRandomKey` helper":
(https://github.com/bitcoin/bitcoin/pull/28455#discussion_r1434172881)
81187d0: we'd need to `#include <key.h>` since we're still using `GenerateRandomKey()` in `src/net.cpp`
💬 farahats9 commented on pull request "datacarriersize: Match more datacarrying":
(https://github.com/bitcoin/bitcoin/pull/28408#issuecomment-1866531134)
Just wanted to add my 2 cents here as a layman using and holding bitcoin. If the transaction fee rates remain this high for someone using bitcoin to transfer money from wallet A to wallet B then I don't see a future for bitcoin.

The original goal of bitcoin is to make it a currency and a valued asset, if you sacrifice doing this in order to have secondary features then you will fail at both.

If this PR will fix the fee rates back to normal I am on board.