π¬ achow101 commented on pull request "fuzz: wallet: add target for spkm migration":
(https://github.com/bitcoin/bitcoin/pull/29694#discussion_r1828422802)
If watchonly script count can be tracked, then this check should be able to be an exact check as `desc_spkms` should be `load_key_count` plus the number of spendable scripts.
(https://github.com/bitcoin/bitcoin/pull/29694#discussion_r1828422802)
If watchonly script count can be tracked, then this check should be able to be an exact check as `desc_spkms` should be `load_key_count` plus the number of spendable scripts.
π¬ achow101 commented on pull request "wallet: fix unrelated parent conflict doesn't cause child tx to be marked as conflict":
(https://github.com/bitcoin/bitcoin/pull/29680#discussion_r1828448683)
In 7eba56accbd1b4ce3c09656c8d69b5aa437a706f "Handle double-spending of unrelated parents to wallet txs"
The replacement could still be sending to us, and in that case, it isn't unrelated.
(https://github.com/bitcoin/bitcoin/pull/29680#discussion_r1828448683)
In 7eba56accbd1b4ce3c09656c8d69b5aa437a706f "Handle double-spending of unrelated parents to wallet txs"
The replacement could still be sending to us, and in that case, it isn't unrelated.
π¬ achow101 commented on pull request "wallet: fix unrelated parent conflict doesn't cause child tx to be marked as conflict":
(https://github.com/bitcoin/bitcoin/pull/29680#discussion_r1828472777)
In 7eba56accbd1b4ce3c09656c8d69b5aa437a706f "Handle double-spending of unrelated parents to wallet txs"
nit: whitespace.
Also, I think it would be better to clarify that the key is the txid of the replacing transaction which may be unrelated to the wallet, and the value is the replaced transaction which is related to this wallet.
(https://github.com/bitcoin/bitcoin/pull/29680#discussion_r1828472777)
In 7eba56accbd1b4ce3c09656c8d69b5aa437a706f "Handle double-spending of unrelated parents to wallet txs"
nit: whitespace.
Also, I think it would be better to clarify that the key is the txid of the replacing transaction which may be unrelated to the wallet, and the value is the replaced transaction which is related to this wallet.
π¬ achow101 commented on pull request "wallet: fix unrelated parent conflict doesn't cause child tx to be marked as conflict":
(https://github.com/bitcoin/bitcoin/pull/29680#discussion_r1828455481)
In 7eba56accbd1b4ce3c09656c8d69b5aa437a706f "Handle double-spending of unrelated parents to wallet txs"
The extra scoping is not necessary, just name `it` something else.
(https://github.com/bitcoin/bitcoin/pull/29680#discussion_r1828455481)
In 7eba56accbd1b4ce3c09656c8d69b5aa437a706f "Handle double-spending of unrelated parents to wallet txs"
The extra scoping is not necessary, just name `it` something else.
π€ ryanofsky reviewed a pull request: "tinyformat: Add compile-time checking for literal format strings"
(https://github.com/bitcoin/bitcoin/pull/31174#pullrequestreview-2414174938)
Updated e53829d3952c6ed275507a66e77636aad67d106b -> ecc5cb9a89c6b001df839675b23d8fc1f7ac69ba ([`pr/tcheck.3`](https://github.com/ryanofsky/bitcoin/commits/pr/tcheck.3) -> [`pr/tcheck.4`](https://github.com/ryanofsky/bitcoin/commits/pr/tcheck.4), [compare](https://github.com/ryanofsky/bitcoin/compare/pr/tcheck.3..pr/tcheck.4)) with review suggestions.
re: https://github.com/bitcoin/bitcoin/pull/31174#pullrequestreview-2405166236
> Could document non-parity like so (unless you prefer I do it
...
(https://github.com/bitcoin/bitcoin/pull/31174#pullrequestreview-2414174938)
Updated e53829d3952c6ed275507a66e77636aad67d106b -> ecc5cb9a89c6b001df839675b23d8fc1f7ac69ba ([`pr/tcheck.3`](https://github.com/ryanofsky/bitcoin/commits/pr/tcheck.3) -> [`pr/tcheck.4`](https://github.com/ryanofsky/bitcoin/commits/pr/tcheck.4), [compare](https://github.com/ryanofsky/bitcoin/compare/pr/tcheck.3..pr/tcheck.4)) with review suggestions.
re: https://github.com/bitcoin/bitcoin/pull/31174#pullrequestreview-2405166236
> Could document non-parity like so (unless you prefer I do it
...
π¬ ryanofsky commented on pull request "tinyformat: Add compile-time checking for literal format strings":
(https://github.com/bitcoin/bitcoin/pull/31174#discussion_r1828424828)
re: https://github.com/bitcoin/bitcoin/pull/31174#discussion_r1822780992
> Should this be removed?
I think it's useful to document the format of the specifier, and it's still true that the remainder of the specifier (length and type) is not checked. Happy to update this if there's a specific suggestion, but I think it's still helpful and accurate so would not want to remove it.
(https://github.com/bitcoin/bitcoin/pull/31174#discussion_r1828424828)
re: https://github.com/bitcoin/bitcoin/pull/31174#discussion_r1822780992
> Should this be removed?
I think it's useful to document the format of the specifier, and it's still true that the remainder of the specifier (length and type) is not checked. Happy to update this if there's a specific suggestion, but I think it's still helpful and accurate so would not want to remove it.
π¬ ryanofsky commented on pull request "tinyformat: Add compile-time checking for literal format strings":
(https://github.com/bitcoin/bitcoin/pull/31174#discussion_r1828424763)
re: https://github.com/bitcoin/bitcoin/pull/31174#discussion_r1822782509
> (One could expect that at least one precision-digit was required after '.' but it is not in tinyformat so this behavior is consistent).
That's good to know, I was just trying to make the parsing as simple as possible, but this syntax does seem to be commonly accepted (it works in python too) and I added test cases for it following your other suggestion
(https://github.com/bitcoin/bitcoin/pull/31174#discussion_r1828424763)
re: https://github.com/bitcoin/bitcoin/pull/31174#discussion_r1822782509
> (One could expect that at least one precision-digit was required after '.' but it is not in tinyformat so this behavior is consistent).
That's good to know, I was just trying to make the parsing as simple as possible, but this syntax does seem to be commonly accepted (it works in python too) and I added test cases for it following your other suggestion
π¬ ryanofsky commented on pull request "tinyformat: Add compile-time checking for literal format strings":
(https://github.com/bitcoin/bitcoin/pull/31174#discussion_r1828424528)
re: https://github.com/bitcoin/bitcoin/pull/31174#discussion_r1823488811
> ```c++
> PassFmt<1>("%.f");
> ```
Nice suggestion, added two cases: `%5.f` and `%.f` below `%5.2f`
(https://github.com/bitcoin/bitcoin/pull/31174#discussion_r1828424528)
re: https://github.com/bitcoin/bitcoin/pull/31174#discussion_r1823488811
> ```c++
> PassFmt<1>("%.f");
> ```
Nice suggestion, added two cases: `%5.f` and `%.f` below `%5.2f`
π¬ ryanofsky commented on pull request "tinyformat: Add compile-time checking for literal format strings":
(https://github.com/bitcoin/bitcoin/pull/31174#discussion_r1828424659)
re: https://github.com/bitcoin/bitcoin/pull/31174#discussion_r1822308585
Thanks, updated
(https://github.com/bitcoin/bitcoin/pull/31174#discussion_r1828424659)
re: https://github.com/bitcoin/bitcoin/pull/31174#discussion_r1822308585
Thanks, updated
π¬ ryanofsky commented on pull request "tinyformat: Add compile-time checking for literal format strings":
(https://github.com/bitcoin/bitcoin/pull/31174#discussion_r1828438077)
re: https://github.com/bitcoin/bitcoin/pull/31174#discussion_r1823481424
> Why not use `FormatStringCheck<sizeof...(Args)>` in `printf` and `printfln` directly below as well?
No reason, added now.
(https://github.com/bitcoin/bitcoin/pull/31174#discussion_r1828438077)
re: https://github.com/bitcoin/bitcoin/pull/31174#discussion_r1823481424
> Why not use `FormatStringCheck<sizeof...(Args)>` in `printf` and `printfln` directly below as well?
No reason, added now.
π€ achow101 reviewed a pull request: "test: Add `leaf_version` parameter to `taproot_tree_helper()`"
(https://github.com/bitcoin/bitcoin/pull/29371#pullrequestreview-2414278216)
Concept ACK
Please cleanup your commit message, it contains message fragments from squashed commits.
(https://github.com/bitcoin/bitcoin/pull/29371#pullrequestreview-2414278216)
Concept ACK
Please cleanup your commit message, it contains message fragments from squashed commits.
π¬ achow101 commented on pull request "test: Add `leaf_version` parameter to `taproot_tree_helper()`":
(https://github.com/bitcoin/bitcoin/pull/29371#discussion_r1828489955)
nit:
add a space after the comma.
(https://github.com/bitcoin/bitcoin/pull/29371#discussion_r1828489955)
nit:
add a space after the comma.
π¬ ismaelsadeeq commented on pull request "test: enable running independent functional test sub-tests":
(https://github.com/bitcoin/bitcoin/pull/30991#discussion_r1828498975)
Done, thanks for reviewing
(https://github.com/bitcoin/bitcoin/pull/30991#discussion_r1828498975)
Done, thanks for reviewing
π¬ ismaelsadeeq commented on pull request "test: enable running independent functional test sub-tests":
(https://github.com/bitcoin/bitcoin/pull/30991#discussion_r1828502796)
Done, thanks
(https://github.com/bitcoin/bitcoin/pull/30991#discussion_r1828502796)
Done, thanks
π¬ ismaelsadeeq commented on pull request "test: enable running independent functional test sub-tests":
(https://github.com/bitcoin/bitcoin/pull/30991#discussion_r1828505297)
Some tests might not have the test prefix, though. I donβt think we can use the `test_` prefix to catch all sub-tests; rather, the goal is just to enable running individual methods that can be sub-tests.
(https://github.com/bitcoin/bitcoin/pull/30991#discussion_r1828505297)
Some tests might not have the test prefix, though. I donβt think we can use the `test_` prefix to catch all sub-tests; rather, the goal is just to enable running individual methods that can be sub-tests.
π ryanofsky approved a pull request: "test: Prove+document ConstevalFormatString/tinyformat parity"
(https://github.com/bitcoin/bitcoin/pull/30933#pullrequestreview-2414300187)
Code review ACK a911efc6e868ab1a23d05ee8ab3e94f7ecb89e2b. I didn't dig into previous discussion and it seems possible another approach to extending the tests might have advantages over this one. But the code change looks good and seems like an easy way of leveraging existing test cases to check for compatibility with tinyformat.
(https://github.com/bitcoin/bitcoin/pull/30933#pullrequestreview-2414300187)
Code review ACK a911efc6e868ab1a23d05ee8ab3e94f7ecb89e2b. I didn't dig into previous discussion and it seems possible another approach to extending the tests might have advantages over this one. But the code change looks good and seems like an easy way of leveraging existing test cases to check for compatibility with tinyformat.
π¬ ryanofsky commented on pull request "test: Prove+document ConstevalFormatString/tinyformat parity":
(https://github.com/bitcoin/bitcoin/pull/30933#discussion_r1828504699)
In commit "test: Prove+document ConstevalFormatString/tinyformat parity" (a911efc6e868ab1a23d05ee8ab3e94f7ecb89e2b)
The name `TfmF` doesn't have any clear meaning to me, and usage of the function is also complicated by the need to use tuple_cat everywhere. I think the code would be clearer if the function were less generic and did not require passing a tuple. Maybe would suggest:
<details><summary>diff</summary>
<p>
```diff
--- a/src/test/util_string_tests.cpp
+++ b/src/test/util_str
...
(https://github.com/bitcoin/bitcoin/pull/30933#discussion_r1828504699)
In commit "test: Prove+document ConstevalFormatString/tinyformat parity" (a911efc6e868ab1a23d05ee8ab3e94f7ecb89e2b)
The name `TfmF` doesn't have any clear meaning to me, and usage of the function is also complicated by the need to use tuple_cat everywhere. I think the code would be clearer if the function were less generic and did not require passing a tuple. Maybe would suggest:
<details><summary>diff</summary>
<p>
```diff
--- a/src/test/util_string_tests.cpp
+++ b/src/test/util_str
...
π¬ ryanofsky commented on pull request "test: Prove+document ConstevalFormatString/tinyformat parity":
(https://github.com/bitcoin/bitcoin/pull/30933#discussion_r1828510180)
In commit "test: Prove+document ConstevalFormatString/tinyformat parity" (a911efc6e868ab1a23d05ee8ab3e94f7ecb89e2b)
Maybe drop WrongNumArgs and just pass CorrectArgs? Unless I'm missing something it seems like PassFmtIncorrect could choose the wrong number of args arbitrarily like PassFmt does.
(https://github.com/bitcoin/bitcoin/pull/30933#discussion_r1828510180)
In commit "test: Prove+document ConstevalFormatString/tinyformat parity" (a911efc6e868ab1a23d05ee8ab3e94f7ecb89e2b)
Maybe drop WrongNumArgs and just pass CorrectArgs? Unless I'm missing something it seems like PassFmtIncorrect could choose the wrong number of args arbitrarily like PassFmt does.
π¬ achow101 commented on pull request "optimization: Speed up Base58 encoding/decoding by 400%/200% via preliminary byte packing":
(https://github.com/bitcoin/bitcoin/pull/29473#issuecomment-2455881092)
As this is basically a complete rewrite of the base58 encoding and decoding code, I don't think the review effort required to review this is worth it relative to the unimportance of these functions.
(https://github.com/bitcoin/bitcoin/pull/29473#issuecomment-2455881092)
As this is basically a complete rewrite of the base58 encoding and decoding code, I don't think the review effort required to review this is worth it relative to the unimportance of these functions.
π¬ faisalazuredev commented on pull request "Update secp256k1 subtree to v0.6.0":
(https://github.com/bitcoin/bitcoin/pull/31216#issuecomment-2455983357)
merge it
(https://github.com/bitcoin/bitcoin/pull/31216#issuecomment-2455983357)
merge it