Bitcoin Core Github
44 subscribers
120K links
Download Telegram
maflcko closed a pull request: "refactor: deduplicate AmountFromValue() functions"
(https://github.com/bitcoin/bitcoin/pull/28134)
🤔 S3RK reviewed a pull request: "Silent Payments: Implement BIP352"
(https://github.com/bitcoin/bitcoin/pull/28122#pullrequestreview-1853145226)
Started reviewing. Basic question first. Which RPCs are supposed to work at this stage? I was under impression, that none RPCs should understand SP addresses yet and the support come with send and receiving PRs. But since you've registered SP destination in `CTXDestination` variant, the SP addresses would be recognised by some RPCs. Is that intended? Should we verify that they return sane results?
💬 S3RK commented on pull request "Silent Payments: Implement BIP352":
(https://github.com/bitcoin/bitcoin/pull/28122#discussion_r1472465541)
Not sure protocol implementation needs to now about the position in tx.vout array. AFAIK, output calculation doesn't depend on the position. Have you considered passing destinations one by one together with the counter if a destination is repeated?
💬 S3RK commented on pull request "Silent Payments: Implement BIP352":
(https://github.com/bitcoin/bitcoin/pull/28122#discussion_r1472466841)
I'm too dumb to understand why do we need to return sum on input pubkeys together with the input hash. Does it have something to do with index and light clients?
👍 maflcko approved a pull request: "test: fix wallet_import_rescan unrounded minimum amount"
(https://github.com/bitcoin/bitcoin/pull/29343#pullrequestreview-1853179128)
lgtm
💬 maflcko commented on pull request "Stratum v2 Noise Protocol":
(https://github.com/bitcoin/bitcoin/pull/29346#discussion_r1472497733)
You can't serialize a non-fixed-size vector as a span. This will lead to errors when deserializing. For example, a default constructed empty vector, serialized, can not be serialized into a vector which has been resized to 64 bytes.
💬 glozow commented on pull request "wallet: track mempool conflicts with wallet transactions":
(https://github.com/bitcoin/bitcoin/pull/27307#discussion_r1472578055)
Yes I'd expect so
🚀 fanquake merged a pull request: "test: fix wallet_import_rescan unrounded minimum amount"
(https://github.com/bitcoin/bitcoin/pull/29343)
💬 glozow commented on pull request "wallet: track mempool conflicts with wallet transactions":
(https://github.com/bitcoin/bitcoin/pull/27307#discussion_r1472586945)
Ah makes sense! I think it would be good to add a test for this case?
💬 maflcko commented on pull request "assumeutxo, rpc: Add 'start' parameter to loadtxoutset":
(https://github.com/bitcoin/bitcoin/pull/28659#issuecomment-1918815388)
Ok, maybe turn it into draft, until you are done and the CI is passing?
🤔 fanquake reviewed a pull request: "init: settings, do not load auto-generated warning msg"
(https://github.com/bitcoin/bitcoin/pull/29301#pullrequestreview-1853403738)
Seems fine. Gets rid of the pointless `2024-01-31T10:25:34Z Ignoring unknown rw_settings value _warning_` and
`2024-01-31T10:25:34Z Setting file arg: _warning_ = "This file is automatically generated and updated by Bitcoin Core. Please do not edit this file while the node is running, as any changes might be ignored or overwritten."` output.
💬 glozow commented on pull request "v3 transaction policy for anti-pinning":
(https://github.com/bitcoin/bitcoin/pull/28948#discussion_r1472632779)
yeah not sigops adjusted, but we don't expect that to be necessary here so I think it's fine with a comment
💬 josibake commented on pull request "Silent Payments: Implement BIP352":
(https://github.com/bitcoin/bitcoin/pull/28122#discussion_r1472650551)
Yep! There are two ways to use this data:

1. Immediately, as `(b_scan * input_hash) * sum_input_pubkeys`. This is one scalar multiplication and one EC multiplication.
2. Store it for later (either for wallet re-scans or to serve to light clients), as `input_hash * sum_input_pubkeys`. This is one EC multiplication and allows us to store all of the input data needed as 33 bytes.

If the function instead returned `input_hash * sum_input_pubkeys`, we would end up doing two EC multiplications f
...
💬 glozow commented on pull request "v3 transaction policy for anti-pinning":
(https://github.com/bitcoin/bitcoin/pull/28948#discussion_r1472680361)
I think indeed we cannot hit this, but it's because we call `ApplyV3Rules` in a package.

When `package` is a parent+child, `has_mempool_sibling` doesn't matter since having any mempool ancestor should cause this to fail immediately. In that way, this function kind of assumes that `package` is a connected component.

If `package` has unrelated transactions, we'd let a mempool sibling slip through in this function. However, since we are calling `ApplyV3Rules` within `PreChecks`, the mempool s
...
📝 maflcko opened a pull request: "test: Assumeutxo with more than just coinbase transactions"
(https://github.com/bitcoin/bitcoin/pull/29354)
Currently the AU tests only check that loading a txout set with only coinbase outputs works.

Fix that by adding other transactions.
⚠️ maflcko reopened an issue: "assumeutxo: nTx and nChainTx violations in CheckBlockIndex"
(https://github.com/bitcoin/bitcoin/issues/29261)
When disabling the "test-only" assumptions in CheckBlockIndex, the check fails. This is problematic, because test-only code should not affect the behavior of the program in production.

Current diff:

```diff
diff --git a/src/validation.cpp b/src/validation.cpp
index 8c583c586c..00d7ee3736 100644
--- a/src/validation.cpp
+++ b/src/validation.cpp
@@ -4866,9 +4866,9 @@ void ChainstateManager::CheckBlockIndex()
unsigned int prev_chain_tx = pindex->pprev ? pindex->pprev->nChainTx
...
💬 maflcko commented on issue "assumeutxo: nTx and nChainTx violations in CheckBlockIndex":
(https://github.com/bitcoin/bitcoin/issues/29261#issuecomment-1918947945)
> test

Good idea.

On top of https://github.com/bitcoin/bitcoin/pull/29354 , the following diff should crash the node:

```diff
diff --git a/test/functional/feature_assumeutxo.py b/test/functional/feature_assumeutxo.py
index 528680f2ca..e9d74ea132 100755
--- a/test/functional/feature_assumeutxo.py
+++ b/test/functional/feature_assumeutxo.py
@@ -165,6 +165,14 @@ class AssumeutxoTest(BitcoinTestFramework):
self.mini_wallet.send_self_transfer(from_node=n0)

...
🤔 theStack reviewed a pull request: "test: fix intermittent failure in p2p_v2_earlykeyresponse"
(https://github.com/bitcoin/bitcoin/pull/29352#pullrequestreview-1853577256)
Concept ACK

I think you need to also initialize the newly introduced variable in the `PeerEarlyKey` constructor, otherwise the following can happen in the `wait_until` loop:
```
AttributeError: 'PeerEarlyKey' object has no attribute 'connection_made2'
```
💬 ismaelsadeeq commented on pull request "Wallet: Add `maxfeerate` wallet startup option":
(https://github.com/bitcoin/bitcoin/pull/29278#discussion_r1472767521)
Added
💬 ismaelsadeeq commented on pull request "Wallet: Add `maxfeerate` wallet startup option":
(https://github.com/bitcoin/bitcoin/pull/29278#discussion_r1472768478)
Yes, fixed here and other place I did the same.