💬 jonatack commented on pull request "Fix logging RPC and -debugexclude with 0/none values, add test coverage, improve docs":
(https://github.com/bitcoin/bitcoin/pull/27231#issuecomment-1661161279)
Updated per `git diff 93b387f 82aa619` to address review feedback.
(https://github.com/bitcoin/bitcoin/pull/27231#issuecomment-1661161279)
Updated per `git diff 93b387f 82aa619` to address review feedback.
🤔 mzumsande reviewed a pull request: "CONTRIBUTING: Caution against using AI/LLMs (ChatGPT, Copilot, etc)"
(https://github.com/bitcoin/bitcoin/pull/28175#pullrequestreview-1557910458)
> The reality is that going forward it'll be essentially impossible to avoid contributions that may include output from AI/LLMs, just because (in almost all cases) it'll be impossible to tell, unless the author makes it apparent.
Maybe making it apparent is part of the problem. There is no requirement to state publicly which technical tools were involved in a contribution, so for now it might be best if everyone would just use their favourite LLM helpers silently (as, I am sure, many contribu
...
(https://github.com/bitcoin/bitcoin/pull/28175#pullrequestreview-1557910458)
> The reality is that going forward it'll be essentially impossible to avoid contributions that may include output from AI/LLMs, just because (in almost all cases) it'll be impossible to tell, unless the author makes it apparent.
Maybe making it apparent is part of the problem. There is no requirement to state publicly which technical tools were involved in a contribution, so for now it might be best if everyone would just use their favourite LLM helpers silently (as, I am sure, many contribu
...
💬 jonatack commented on pull request "Fix logging RPC and -debugexclude with 0/none values, add test coverage, improve docs":
(https://github.com/bitcoin/bitcoin/pull/27231#discussion_r1281205133)
Thank you @fanquake for the feedback and having a look. Updated to commit 88211f2b7e12542ba5e65bba4e3398c9592430ea per the diff in https://github.com/bitcoin/bitcoin/pull/27231#issuecomment-1661161279, replacing the comment with clearer code along with added explanation in the commit message.
(https://github.com/bitcoin/bitcoin/pull/27231#discussion_r1281205133)
Thank you @fanquake for the feedback and having a look. Updated to commit 88211f2b7e12542ba5e65bba4e3398c9592430ea per the diff in https://github.com/bitcoin/bitcoin/pull/27231#issuecomment-1661161279, replacing the comment with clearer code along with added explanation in the commit message.
💬 jonatack commented on pull request "validation: log which peer sent us a header":
(https://github.com/bitcoin/bitcoin/pull/27826#issuecomment-1661175302)
Concept ACK
(https://github.com/bitcoin/bitcoin/pull/27826#issuecomment-1661175302)
Concept ACK
💬 Daniel600 commented on pull request "policy: Enable full-rbf by default":
(https://github.com/bitcoin/bitcoin/pull/28132#issuecomment-1661182837)
Your research is not thorough and reaches an incorrect conclusion.
As stated many times - we service payment processors and some merchants directly - Coinspaid services multiple merchants and process a significant amount of BTC they are a well known and active in the space - as I provided back in December 2022 a email from Max the CEO of Coinspaid confirming their use of 0-conf as well as providing there cluster addresses to validate there deposit flows see here again - https://lists.linuxfoun
...
(https://github.com/bitcoin/bitcoin/pull/28132#issuecomment-1661182837)
Your research is not thorough and reaches an incorrect conclusion.
As stated many times - we service payment processors and some merchants directly - Coinspaid services multiple merchants and process a significant amount of BTC they are a well known and active in the space - as I provided back in December 2022 a email from Max the CEO of Coinspaid confirming their use of 0-conf as well as providing there cluster addresses to validate there deposit flows see here again - https://lists.linuxfoun
...
💬 ryanofsky commented on pull request "refactor: Add util::Result failure values, multiple error and warning messages":
(https://github.com/bitcoin/bitcoin/pull/25665#issuecomment-1661192251)
Updated 1de05ef9190202f04f8cbe7746a47cbd66ab540c -> 08f5febfc571220043436bbec96a326beebdee22 ([`pr/bresult2.36`](https://github.com/ryanofsky/bitcoin/commits/pr/bresult2.36) -> [`pr/bresult2.37`](https://github.com/ryanofsky/bitcoin/commits/pr/bresult2.37), [compare](https://github.com/ryanofsky/bitcoin/compare/pr/bresult2.36..pr/bresult2.37)) replacing `util::Messages` with `util::MoveMessages` to work around clang-tidy error `bugprone-use-after-move` (https://cirrus-ci.com/task/665702225123737
...
(https://github.com/bitcoin/bitcoin/pull/25665#issuecomment-1661192251)
Updated 1de05ef9190202f04f8cbe7746a47cbd66ab540c -> 08f5febfc571220043436bbec96a326beebdee22 ([`pr/bresult2.36`](https://github.com/ryanofsky/bitcoin/commits/pr/bresult2.36) -> [`pr/bresult2.37`](https://github.com/ryanofsky/bitcoin/commits/pr/bresult2.37), [compare](https://github.com/ryanofsky/bitcoin/compare/pr/bresult2.36..pr/bresult2.37)) replacing `util::Messages` with `util::MoveMessages` to work around clang-tidy error `bugprone-use-after-move` (https://cirrus-ci.com/task/665702225123737
...
💬 jonatack commented on issue "Intermittent CI failure "fee too high" in wallet_send.py --descriptors ":
(https://github.com/bitcoin/bitcoin/issues/25164#issuecomment-1661246977)
Seen in `wallet_send.py --legacy-wallet`
https://cirrus-ci.com/task/6115877712560128?logs=ci#L3429
```
node0 2023-08-01T23:17:59.093565Z [httpworker.1] [rpc/request.cpp:181] [parse] [rpc] ThreadRPCServer method=testmempoolaccept user=__cookie__
test 2023-08-01T23:17:59.094000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
File "/tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-p
...
(https://github.com/bitcoin/bitcoin/issues/25164#issuecomment-1661246977)
Seen in `wallet_send.py --legacy-wallet`
https://cirrus-ci.com/task/6115877712560128?logs=ci#L3429
```
node0 2023-08-01T23:17:59.093565Z [httpworker.1] [rpc/request.cpp:181] [parse] [rpc] ThreadRPCServer method=testmempoolaccept user=__cookie__
test 2023-08-01T23:17:59.094000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
File "/tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-p
...
💬 petertodd commented on pull request "policy: Enable full-rbf by default":
(https://github.com/bitcoin/bitcoin/pull/28132#issuecomment-1661327327)
On Tue, Aug 01, 2023 at 03:28:31PM -0700, Daniel Lipshitz wrote:
> Your research is not thorough and reaches an incorrect conclusion.
> As stated many times - we service payment processors and some merchants directly - Coinspaid services multiple merchants and process a significant amount of BTC they are a well known and active in the space - as I provided back in December 2022 a email from Max the CEO of Coinspaid confirming their use of 0-conf as well as providing there cluster addresses to v
...
(https://github.com/bitcoin/bitcoin/pull/28132#issuecomment-1661327327)
On Tue, Aug 01, 2023 at 03:28:31PM -0700, Daniel Lipshitz wrote:
> Your research is not thorough and reaches an incorrect conclusion.
> As stated many times - we service payment processors and some merchants directly - Coinspaid services multiple merchants and process a significant amount of BTC they are a well known and active in the space - as I provided back in December 2022 a email from Max the CEO of Coinspaid confirming their use of 0-conf as well as providing there cluster addresses to v
...
⚠️ Bitnee opened an issue: "Berkley Database Errors"
(https://github.com/bitcoin/bitcoin/issues/28197)
### Issues, reports or feature requests related to the GUI should be opened directly on the GUI repo
- [X] I still think this issue should be opened here
### Report
Attempting Restoration from 2016 year Wallet
Two Errors (many duplicate wallets supposedly)
BerleyDatabase: Can't open database {} (duplicates fileid 9770020000001b00539d761d0000000000000000 from {.dat}
&
PRUNED NODES {internally solved}
any support is held in much appreciations
(https://github.com/bitcoin/bitcoin/issues/28197)
### Issues, reports or feature requests related to the GUI should be opened directly on the GUI repo
- [X] I still think this issue should be opened here
### Report
Attempting Restoration from 2016 year Wallet
Two Errors (many duplicate wallets supposedly)
BerleyDatabase: Can't open database {} (duplicates fileid 9770020000001b00539d761d0000000000000000 from {.dat}
&
PRUNED NODES {internally solved}
any support is held in much appreciations
💬 ariard commented on pull request "validate package transactions with their in-package ancestor sets":
(https://github.com/bitcoin/bitcoin/pull/26711#discussion_r1281295986)
From my understanding we have `submitpackage` which is the current interface under which *child-with-unconfirmed-parents* can be submitted. The definition is “a topologically sorted package that consists of exactly one child and all of its unconfirmed parents (no other transactions may be present)”.
The definition given by `AncestorPackage` class is “A potential BIP331 Ancestor Package, i.e one transaction with its set of ancestors”, which sounds similar.
If *child-with-unconfirmed-paren
...
(https://github.com/bitcoin/bitcoin/pull/26711#discussion_r1281295986)
From my understanding we have `submitpackage` which is the current interface under which *child-with-unconfirmed-parents* can be submitted. The definition is “a topologically sorted package that consists of exactly one child and all of its unconfirmed parents (no other transactions may be present)”.
The definition given by `AncestorPackage` class is “A potential BIP331 Ancestor Package, i.e one transaction with its set of ancestors”, which sounds similar.
If *child-with-unconfirmed-paren
...
💬 ariard commented on pull request "validate package transactions with their in-package ancestor sets":
(https://github.com/bitcoin/bitcoin/pull/26711#discussion_r1281312757)
I think you thought about it in term of `AncestorPackage` API design, though what is the purpose of `SkipWithDescendants` as the “dangle” state of a transaction could be determined as soon as all the transactions are received and `IsPackageWellFormed` ?
Therefore checking than we have available UTXOs in mempool (or in-package) to spend could be done before to call to `AncestorPackage` ctor and `visit` to obtain the `ancestor_subset`, sounds it could be a small perf again assuming `AcceptPacka
...
(https://github.com/bitcoin/bitcoin/pull/26711#discussion_r1281312757)
I think you thought about it in term of `AncestorPackage` API design, though what is the purpose of `SkipWithDescendants` as the “dangle” state of a transaction could be determined as soon as all the transactions are received and `IsPackageWellFormed` ?
Therefore checking than we have available UTXOs in mempool (or in-package) to spend could be done before to call to `AncestorPackage` ctor and `visit` to obtain the `ancestor_subset`, sounds it could be a small perf again assuming `AcceptPacka
...
💬 ariard commented on pull request "validate package transactions with their in-package ancestor sets":
(https://github.com/bitcoin/bitcoin/pull/26711#discussion_r1281317275)
The name could be more verbose to reflect the notion of “connection” it lays on, e.g `m_is_ancestor_package`.
(https://github.com/bitcoin/bitcoin/pull/26711#discussion_r1281317275)
The name could be more verbose to reflect the notion of “connection” it lays on, e.g `m_is_ancestor_package`.
💬 ariard commented on pull request "validate package transactions with their in-package ancestor sets":
(https://github.com/bitcoin/bitcoin/pull/26711#discussion_r1281318967)
Unclear if “(Modified) fees” means `GetModifiedFee()`
(https://github.com/bitcoin/bitcoin/pull/26711#discussion_r1281318967)
Unclear if “(Modified) fees” means `GetModifiedFee()`
💬 ariard commented on pull request "validate package transactions with their in-package ancestor sets":
(https://github.com/bitcoin/bitcoin/pull/26711#discussion_r1281323288)
> So you can assume we never construct the miniminer with more than 25 transactions.
Thanks, yes I think `MAX_PACKAGE_COUNT` as enforced by `IsPackageWellFormed` is the upper bound that one can assume in the calculation of `MiniMiner`. This can ease the DoS reasoning to link the max `ancpkginfo` issued at the p2p level with `MAX_PACKAGE_COUNT` as requested by the mempool logic to save on bandwidth both by the local node (the list of wtxids announced) and its peer (`pkgtnxs`’s txn), I think.
(https://github.com/bitcoin/bitcoin/pull/26711#discussion_r1281323288)
> So you can assume we never construct the miniminer with more than 25 transactions.
Thanks, yes I think `MAX_PACKAGE_COUNT` as enforced by `IsPackageWellFormed` is the upper bound that one can assume in the calculation of `MiniMiner`. This can ease the DoS reasoning to link the max `ancpkginfo` issued at the p2p level with `MAX_PACKAGE_COUNT` as requested by the mempool logic to save on bandwidth both by the local node (the list of wtxids announced) and its peer (`pkgtnxs`’s txn), I think.
💬 ChrisCho-H commented on pull request "script: throw disabled err for op_ver and its variants":
(https://github.com/bitcoin/bitcoin/pull/28169#discussion_r1281323514)
cool, I've implemented!
(https://github.com/bitcoin/bitcoin/pull/28169#discussion_r1281323514)
cool, I've implemented!
💬 jonatack commented on pull request "rpc, util: avoid string copies in ParseHash/ParseHex functions":
(https://github.com/bitcoin/bitcoin/pull/28172#discussion_r1281325340)
It looks like passing std::strings by reference to const (as done in `ParseHashStr()` in `core_io.h`) would be much better than passing string literals (for which by-value or by-reference-to-const doesn't matter, as you rightly point out).
<details><summary>test</summary><p>
```cpp
// string-passing.cpp
//
// $ clang++ -std=c++17 string-passing.cpp && ./a.out
// foo(string) took 436096 cycles
// bar(string) took 156324 cycles
// foo("string literal") took 1464669 cycles
// bar("stri
...
(https://github.com/bitcoin/bitcoin/pull/28172#discussion_r1281325340)
It looks like passing std::strings by reference to const (as done in `ParseHashStr()` in `core_io.h`) would be much better than passing string literals (for which by-value or by-reference-to-const doesn't matter, as you rightly point out).
<details><summary>test</summary><p>
```cpp
// string-passing.cpp
//
// $ clang++ -std=c++17 string-passing.cpp && ./a.out
// foo(string) took 436096 cycles
// bar(string) took 156324 cycles
// foo("string literal") took 1464669 cycles
// bar("stri
...
💬 achow101 commented on issue "Berkley Database Errors":
(https://github.com/bitcoin/bitcoin/issues/28197#issuecomment-1661480732)
This error indicates that there is already a copy of that wallet file already loaded. The error message tells you which is the already loaded file. You can load these wallets mutually exclusively (unload the other one before loading) and just compare their contents when loaded. Since they are copies of each other, you should only need one.
(https://github.com/bitcoin/bitcoin/issues/28197#issuecomment-1661480732)
This error indicates that there is already a copy of that wallet file already loaded. The error message tells you which is the already loaded file. You can load these wallets mutually exclusively (unload the other one before loading) and just compare their contents when loaded. Since they are copies of each other, you should only need one.
💬 MarcoFalke commented on pull request "util: Replace std::filesystem with util/fs.h":
(https://github.com/bitcoin/bitcoin/pull/28076#issuecomment-1661511351)
> Can you elaborate on why this is a problem?
It just makes developer UX worse. The linters are already horrible, with some contributors having quit (at least parts of the code base) because of them. If someone pushes code and then has to wait more than 20 minutes (a full tidy CI run on 4 CPUs, 30+ minutes on a dirty ccache) to figure out they'll have to replace `std::to_string` with `ToString`, it is certainly more annoying than having to wait 30 milliseconds:
```
$ time git grep 'std::t
...
(https://github.com/bitcoin/bitcoin/pull/28076#issuecomment-1661511351)
> Can you elaborate on why this is a problem?
It just makes developer UX worse. The linters are already horrible, with some contributors having quit (at least parts of the code base) because of them. If someone pushes code and then has to wait more than 20 minutes (a full tidy CI run on 4 CPUs, 30+ minutes on a dirty ccache) to figure out they'll have to replace `std::to_string` with `ToString`, it is certainly more annoying than having to wait 30 milliseconds:
```
$ time git grep 'std::t
...
🤔 MarcoFalke reviewed a pull request: "wallet: Implement independent BDB parser"
(https://github.com/bitcoin/bitcoin/pull/26606#pullrequestreview-1558219665)
Looks like CI is red?
(https://github.com/bitcoin/bitcoin/pull/26606#pullrequestreview-1558219665)
Looks like CI is red?
💬 MarcoFalke commented on pull request "wallet: Implement independent BDB parser":
(https://github.com/bitcoin/bitcoin/pull/26606#discussion_r1281410852)
style nit: I don't think this method is a subset of our streams. Many streams can't seek to the beginning after a read. It may be better to move this up by 3 lines of code (or more if you want)
(https://github.com/bitcoin/bitcoin/pull/26606#discussion_r1281410852)
style nit: I don't think this method is a subset of our streams. Many streams can't seek to the beginning after a read. It may be better to move this up by 3 lines of code (or more if you want)