Bitcoin Core Github
43 subscribers
123K links
Download Telegram
💬 achow101 commented on pull request "policy: Add PayToAnchor(P2A), `OP_TRUE <0x4e73>` as a standard output script for spending":
(https://github.com/bitcoin/bitcoin/pull/30352#discussion_r1687048238)
In 8d956ccb86d70e2059a5e2ccd8e63b7f7c8e3842 "Add release note for P2A output feature"

nit: typos

```suggestion
and a newly recognised output template. This allows for key-less anchor
```
💬 instagibbs commented on pull request "policy: Add PayToAnchor(P2A), `OP_1 <0x4e73>` as a standard output script for spending":
(https://github.com/bitcoin/bitcoin/pull/30352#discussion_r1687063256)
done
💬 instagibbs commented on pull request "policy: Add PayToAnchor(P2A), `OP_1 <0x4e73>` as a standard output script for spending":
(https://github.com/bitcoin/bitcoin/pull/30352#issuecomment-2243693286)
@achow101 swapped OP_1 for OP_TRUE everywhere :+1:
💬 tdb3 commented on pull request "policy: enable full-rbf by default":
(https://github.com/bitcoin/bitcoin/pull/30493#issuecomment-2243719422)
> Thanks @reardencode for the review and ACK as its obvious full-rbf should be default. There is some politics involved in it which I wanted to highlight:

Sorry for the confusion. To clarify, I had deleted my own comment. I wanted to think a bit more about it before commenting again.
💬 1440000bytes commented on pull request "policy: enable full-rbf by default":
(https://github.com/bitcoin/bitcoin/pull/30493#issuecomment-2243737536)
> > Thanks @reardencode for the review and ACK as its obvious full-rbf should be default. There is some politics involved in it which I wanted to highlight:
>
> Sorry for the confusion. To clarify, I had deleted my own comment. I wanted to think a bit more about it before commenting again.

1. What did you think when you commented "Concept ACK"?
2. Why did you delete it?
3. What do you think about this pull request now?

Its okay, if you refuse to answer something and not forced to do i
...
💬 achow101 commented on pull request "Ephemeral Dust":
(https://github.com/bitcoin/bitcoin/pull/30239#discussion_r1687083132)
In 872c06dacde6c45c2add69c8c15c94571b08119d "policy: Allow dust in transactions, spent in-mempool"

Could you document what the return value is?
💬 achow101 commented on pull request "Ephemeral Dust":
(https://github.com/bitcoin/bitcoin/pull/30239#discussion_r1687085679)
In 872c06dacde6c45c2add69c8c15c94571b08119d "policy: Allow dust in transactions, spent in-mempool"

I'm a little confused about this return value. The usage of this function suggests that the return value is the wtxid of a parent transaction that has unspent dust. However, this appears to be returning the child txid.
💬 achow101 commented on pull request "Ephemeral Dust":
(https://github.com/bitcoin/bitcoin/pull/30239#discussion_r1687087037)
In 872c06dacde6c45c2add69c8c15c94571b08119d "policy: Allow dust in transactions, spent in-mempool"

`CheckEphemeralSpends` appears to only return txids, not wtxid, suggest renaming this variable:

```suggestion
const auto parent_txid = ephemeral_violation.value();
```
💬 achow101 commented on pull request "Ephemeral Dust":
(https://github.com/bitcoin/bitcoin/pull/30239#discussion_r1687062365)
In 872c06dacde6c45c2add69c8c15c94571b08119d "policy: Allow dust in transactions, spent in-mempool"

nit: Use `contains`, here and elsewhere.

```suggestion
Assume(!map_tx_dust.contains(tx->GetHash()));
```
💬 achow101 commented on pull request "Ephemeral Dust":
(https://github.com/bitcoin/bitcoin/pull/30239#discussion_r1687094839)
In 872c06dacde6c45c2add69c8c15c94571b08119d "policy: Allow dust in transactions, spent in-mempool"

It's not clear to me why there is a rule that a descendant must also spend the dust if they spent any other output from an ancestor. This rule does not seem to be mentioned anywhere in the PR description.

ISTM it would be easier and just as effective to check that all dust outputs end up being spent rather than this slightly convoluted check.
💬 instagibbs commented on pull request "Ephemeral Dust":
(https://github.com/bitcoin/bitcoin/pull/30239#discussion_r1687135318)
Imagine three transactions:

TxA, 0-fee with two outputs, one non-dust, one dust
TxB, spends non-dust
TxC, spends dust

All the dust is spent if `TxA+TxB+TxC` is accepted, but the mining template may just pick up `TxA+TxB` rather than the three "legal configurations:
0) None
1) `TxA+TxB+TxC`
2) `TxA+TxC`

By requiring the child transaction to sweep any dust from the parent txn, we ensure that there is a single child only, and this child is the only transaction possible for bringing f
...
💬 pinheadmz commented on pull request "policy: enable full-rbf by default":
(https://github.com/bitcoin/bitcoin/pull/30493#issuecomment-2243815571)
@1440000bytes hello from your friendly neighborhood moderator. This is just a reminder to keep all discussions technical. Pull request comments should be focused on the code in question. Discussions about personal opinions, moderator or maintainer actions (including responses to this comment) can be opened [here](https://github.com/bitcoin-core/meta/issues)
💬 1440000bytes commented on pull request "policy: enable full-rbf by default":
(https://github.com/bitcoin/bitcoin/pull/30493#issuecomment-2243823599)
> @1440000bytes hello from your friendly neighborhood moderator. This is just a reminder to keep all discussions technical. Pull request comments should be focused on the code in question. Discussions about personal opinions, moderator or maintainer actions (including responses to this comment) can be opened [here](https://github.com/bitcoin-core/meta/issues)

Code in question:

```diff
-static constexpr bool DEFAULT_MEMPOOL_FULL_RBF{false};
+static constexpr bool DEFAULT_MEMPOOL_FULL_RBF{
...
💬 instagibbs commented on pull request "Ephemeral Dust":
(https://github.com/bitcoin/bitcoin/pull/30239#discussion_r1687148241)
I can update the documentation reflecting this if you find the explanation compelling.
💬 achow101 commented on pull request "policy: enable full-rbf by default":
(https://github.com/bitcoin/bitcoin/pull/30493#discussion_r1687154537)
Release note fragments should have the PR number in them, and this is PR 30493, not 28132. The release version is not relevant for release note fragments.
💬 achow101 commented on pull request "Ephemeral Dust":
(https://github.com/bitcoin/bitcoin/pull/30239#discussion_r1687157629)
Ah, I see. Any child must spend the dust output, and I see that this is being enforced in the other variant too.

Additional documentation would be appreciated.
💬 ryanofsky commented on pull request "util: explicitly close all AutoFiles that have been written":
(https://github.com/bitcoin/bitcoin/pull/29307#issuecomment-2243842400)
The PR description is a bit vague about how it is changing the AutoFile API.

Previously, the autofile API *allowed* but did not *require* AutoFile callers to check for failing `fclose` calls after writing. Now it requires that callers call the `fclose` method manually and explicitly use or discard its return value.

Checking for failing `fclose` calls is important because if a call fails, it probably indicates that there is a serious problem that the should trigger a log message or an alert
...
💬 hodlinator commented on pull request "fix: Make TxidFromString() respect string_view length":
(https://github.com/bitcoin/bitcoin/pull/30436#discussion_r1687164532)
> I still do think as long as you are going to update the loop to respect the length of the input (instead of blowing past it) it would be better update the loop to respect the length of the output as well, and not pointlessly read more data than can actually be used, as suggested https://github.com/bitcoin/bitcoin/pull/30436#discussion_r1683086730.

I tried making the loop counting `digits` actually respect the output length (`WIDTH*2` here) as well.
```C++
for (const char c : trimmed)
...
🤔 mzumsande reviewed a pull request: "Don't empty dbcache on prune flushes: >30% faster IBD"
(https://github.com/bitcoin/bitcoin/pull/28280#pullrequestreview-2192327884)
Code Review ACK d7f94e0fa9ec3641405e6909ab7da4e48865e840
(disclaimer: I'm not very experienced with the coins db but started to look into it more recently).

I did some testing on signet to ensure that the `dumptxoutset` data is not affected by this.
I'm in the process of doing some test runs on mainnet, but that'll take me a few more days.
💬 mzumsande commented on pull request "Don't empty dbcache on prune flushes: >30% faster IBD":
(https://github.com/bitcoin/bitcoin/pull/28280#discussion_r1687007975)
Did you consider setting `m_next` and `m_prev` be set to back to `nullptr` here? Doesn't seem strictly necessary but maybe a bit cleaner?