💬 hebasto commented on pull request "build: Introduce CMake-based build system":
(https://github.com/bitcoin/bitcoin/pull/30454#issuecomment-2294789962)
@whitslack
> ACK [67b1e23](https://github.com/bitcoin/bitcoin/commit/67b1e236334f38ec4e4d2251dbdfb790f20ed88b) on Gentoo, modulo our usual [hacks](https://github.com/whitslack/bitcoin/commit/cmake-syslibs) (now adapted to CMake) to allow linking against system-installed libsecp256k1 and LevelDB.
Thanks for testing!
> One small gripe: When we enter the install phase, CMake always rebuilds `src/clientversion.cpp`, which forces a relink of all target executables. It would be better if `ni
...
(https://github.com/bitcoin/bitcoin/pull/30454#issuecomment-2294789962)
@whitslack
> ACK [67b1e23](https://github.com/bitcoin/bitcoin/commit/67b1e236334f38ec4e4d2251dbdfb790f20ed88b) on Gentoo, modulo our usual [hacks](https://github.com/whitslack/bitcoin/commit/cmake-syslibs) (now adapted to CMake) to allow linking against system-installed libsecp256k1 and LevelDB.
Thanks for testing!
> One small gripe: When we enter the install phase, CMake always rebuilds `src/clientversion.cpp`, which forces a relink of all target executables. It would be better if `ni
...
💬 hebasto commented on pull request "build: Introduce CMake-based build system":
(https://github.com/bitcoin/bitcoin/pull/30454#issuecomment-2294793259)
During the recent CMake Working Group call, it was agreed to freeze this branch until it is merged, unless a severe bug is reported or a merge conflict arises. All other reported issues will be addressed in follow-up PRs.
Please continue testing this branch as thoroughly as possible.
(https://github.com/bitcoin/bitcoin/pull/30454#issuecomment-2294793259)
During the recent CMake Working Group call, it was agreed to freeze this branch until it is merged, unless a severe bug is reported or a merge conflict arises. All other reported issues will be addressed in follow-up PRs.
Please continue testing this branch as thoroughly as possible.
💬 paplorinc commented on pull request "feefrac: add support for evaluating at given size":
(https://github.com/bitcoin/bitcoin/pull/30535#issuecomment-2294805824)
ACK eff5bf7d673c797d63c5ad15ac18b8316dea5ffe
(diff only contains `Evaluate*` -> `EvaluateFee*` changes)
(https://github.com/bitcoin/bitcoin/pull/30535#issuecomment-2294805824)
ACK eff5bf7d673c797d63c5ad15ac18b8316dea5ffe
(diff only contains `Evaluate*` -> `EvaluateFee*` changes)
💬 Sjors commented on pull request "ci: skip Github CI on branch pushes for forks":
(https://github.com/bitcoin/bitcoin/pull/30487#issuecomment-2294818443)
Thanks, added that (correct) sentence to the description.
(https://github.com/bitcoin/bitcoin/pull/30487#issuecomment-2294818443)
Thanks, added that (correct) sentence to the description.
💬 pythcoiner commented on pull request "descriptors: Be able to specify change and receiving in a single descriptor string":
(https://github.com/bitcoin/bitcoin/pull/22838#issuecomment-2294821305)
reACK a0abcbd
(https://github.com/bitcoin/bitcoin/pull/22838#issuecomment-2294821305)
reACK a0abcbd
🤔 paplorinc reviewed a pull request: "refactor: Replace ParseHex with consteval HexLiteral"
(https://github.com/bitcoin/bitcoin/pull/30377#pullrequestreview-2244077893)
I'm mostly fine with it, would love if we could make a few usages more compact, since I think we've lost readability a bit
(https://github.com/bitcoin/bitcoin/pull/30377#pullrequestreview-2244077893)
I'm mostly fine with it, would love if we could make a few usages more compact, since I think we've lost readability a bit
💬 paplorinc commented on pull request "refactor: Replace ParseHex with consteval HexLiteral":
(https://github.com/bitcoin/bitcoin/pull/30377#discussion_r1720755562)
Given that
```C++
assert(Vec(HexLiteral<uint8_t>("01")) == valtype{1});
assert(Vec(HexLiteral<uint8_t>("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")) == valtype(36, 0xff));
```
consider simplifying these to e.g.
```suggestion
t.vout[0].scriptPubKey = CScript() << OP_RETURN << 0 << valtype{1} << 2 << valtype(36, 0xff);
```
and many more, I think it would simplify a few trivial usages, hexadecimal encoding only makes sense for bigger values.
(https://github.com/bitcoin/bitcoin/pull/30377#discussion_r1720755562)
Given that
```C++
assert(Vec(HexLiteral<uint8_t>("01")) == valtype{1});
assert(Vec(HexLiteral<uint8_t>("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")) == valtype(36, 0xff));
```
consider simplifying these to e.g.
```suggestion
t.vout[0].scriptPubKey = CScript() << OP_RETURN << 0 << valtype{1} << 2 << valtype(36, 0xff);
```
and many more, I think it would simplify a few trivial usages, hexadecimal encoding only makes sense for bigger values.
💬 paplorinc commented on pull request "refactor: Replace ParseHex with consteval HexLiteral":
(https://github.com/bitcoin/bitcoin/pull/30377#discussion_r1720757880)
Is `Vec` needed here because the existing `ToByteVector` has a long name? Or because of some funny visual studio exception? If none, maybe we could get rid of either.
(https://github.com/bitcoin/bitcoin/pull/30377#discussion_r1720757880)
Is `Vec` needed here because the existing `ToByteVector` has a long name? Or because of some funny visual studio exception? If none, maybe we could get rid of either.
💬 paplorinc commented on pull request "refactor: Replace ParseHex with consteval HexLiteral":
(https://github.com/bitcoin/bitcoin/pull/30377#discussion_r1720760053)
nit: as stated before, the trailing `\` can likely be removed.
(https://github.com/bitcoin/bitcoin/pull/30377#discussion_r1720760053)
nit: as stated before, the trailing `\` can likely be removed.
💬 paplorinc commented on pull request "refactor: Replace ParseHex with consteval HexLiteral":
(https://github.com/bitcoin/bitcoin/pull/30377#discussion_r1720769066)
Given that we already seem to be using custom string overloads (e.g. https://github.com/bitcoin/bitcoin/blob/master/src/script/miniscript.cpp#L87), would it maybe make the usages less noisy if we tried something like:
```C++
consteval auto operator""_hex(const char* hex_str, const std::size_t len)
```
to be able to write `"0000deadbeef0000"_hex` instead of `HexLiteral<uint8_t>("0000deadbeef0000")`?
I haven't spent a lot of time with this to make it work since I'm not yet sure it's a good
...
(https://github.com/bitcoin/bitcoin/pull/30377#discussion_r1720769066)
Given that we already seem to be using custom string overloads (e.g. https://github.com/bitcoin/bitcoin/blob/master/src/script/miniscript.cpp#L87), would it maybe make the usages less noisy if we tried something like:
```C++
consteval auto operator""_hex(const char* hex_str, const std::size_t len)
```
to be able to write `"0000deadbeef0000"_hex` instead of `HexLiteral<uint8_t>("0000deadbeef0000")`?
I haven't spent a lot of time with this to make it work since I'm not yet sure it's a good
...
💬 paplorinc commented on pull request "refactor: Replace ParseHex with consteval HexLiteral":
(https://github.com/bitcoin/bitcoin/pull/30377#discussion_r1720750629)
super-nit: during parsing we're checking now that the inputs contain an even number of hexadecimal digits, if you edit again, consider applying that to the comments as well (similarly to other comments, like `0x02ff03`)
```suggestion
s = ToScript(HexLiteral<uint8_t>("0302ff030302ff03")); // PUSH 0x02ff03 PUSH 0x02ff03
```
(https://github.com/bitcoin/bitcoin/pull/30377#discussion_r1720750629)
super-nit: during parsing we're checking now that the inputs contain an even number of hexadecimal digits, if you edit again, consider applying that to the comments as well (similarly to other comments, like `0x02ff03`)
```suggestion
s = ToScript(HexLiteral<uint8_t>("0302ff030302ff03")); // PUSH 0x02ff03 PUSH 0x02ff03
```
💬 paplorinc commented on pull request "refactor: Replace ParseHex with consteval HexLiteral":
(https://github.com/bitcoin/bitcoin/pull/30377#discussion_r1720760697)
nit: `5` seems to be a random value, we might as well signal that with:
```suggestion
const std::string out_exp{"04678afdb0"};
const std::vector<char> in_s{HEX_PARSE_OUTPUT, HEX_PARSE_OUTPUT + out_exp.size() / 2};
```
(https://github.com/bitcoin/bitcoin/pull/30377#discussion_r1720760697)
nit: `5` seems to be a random value, we might as well signal that with:
```suggestion
const std::string out_exp{"04678afdb0"};
const std::vector<char> in_s{HEX_PARSE_OUTPUT, HEX_PARSE_OUTPUT + out_exp.size() / 2};
```
💬 paplorinc commented on pull request "refactor: Replace ParseHex with consteval HexLiteral":
(https://github.com/bitcoin/bitcoin/pull/30377#discussion_r1720759053)
nit: I'm not in love with the `ParseHex` -> `Vec(HexLiteral<uint8_t>` change, seems more noisy than needed.
What's the practical problem with keeping `ParseHex` in the tests?
(https://github.com/bitcoin/bitcoin/pull/30377#discussion_r1720759053)
nit: I'm not in love with the `ParseHex` -> `Vec(HexLiteral<uint8_t>` change, seems more noisy than needed.
What's the practical problem with keeping `ParseHex` in the tests?
💬 pinheadmz commented on something "":
(https://github.com/bitcoin/bitcoin/commit/1f6ab1215bbb1f8a5f1743c3c413b95ad08090df#r145479038)
this is test comment on a commit. it is intentionally spammy to test moderator bot. BUY MY $SCAMCOIN! email scam@scamcoin.xxx to get free money
(https://github.com/bitcoin/bitcoin/commit/1f6ab1215bbb1f8a5f1743c3c413b95ad08090df#r145479038)
this is test comment on a commit. it is intentionally spammy to test moderator bot. BUY MY $SCAMCOIN! email scam@scamcoin.xxx to get free money
💬 pinheadmz commented on something "":
(https://github.com/bitcoin/bitcoin/commit/1f6ab1215bbb1f8a5f1743c3c413b95ad08090df#r145479039)

(https://github.com/bitcoin/bitcoin/commit/1f6ab1215bbb1f8a5f1743c3c413b95ad08090df#r145479039)

💬 Christewart commented on pull request "addrman: change internal id counting to int64_t":
(https://github.com/bitcoin/bitcoin/pull/30568#issuecomment-2294849657)
Concept ACK
So presumably test cases are in in #22387 to directly test the vuln? I had a hard time deciphering what is meant to test rate limiting logic in #22387 and what test cases were for preventing a regression in the future.
(https://github.com/bitcoin/bitcoin/pull/30568#issuecomment-2294849657)
Concept ACK
So presumably test cases are in in #22387 to directly test the vuln? I had a hard time deciphering what is meant to test rate limiting logic in #22387 and what test cases were for preventing a regression in the future.
💬 jonatack commented on pull request "Move maximum timewarp attack threshold back to 600s from 7200s":
(https://github.com/bitcoin/bitcoin/pull/30647#issuecomment-2294873445)
> it seems prudent to try with the value we "want" on testnet4, giving us the ability to learn if the compatibility concerns are an issue before we go to mainnet.
Concept ACK
(https://github.com/bitcoin/bitcoin/pull/30647#issuecomment-2294873445)
> it seems prudent to try with the value we "want" on testnet4, giving us the ability to learn if the compatibility concerns are an issue before we go to mainnet.
Concept ACK
💬 ryanofsky commented on pull request "refactor: Replace ParseHex with consteval HexLiteral":
(https://github.com/bitcoin/bitcoin/pull/30377#discussion_r1720781175)
re: https://github.com/bitcoin/bitcoin/pull/30377#discussion_r1720755562
> and many more, I think it would simplify a few trivial usages, hexadecimal encoding only makes sense for bigger values.
This would change which cscript overload is called, which could be good, but I think it would be better to do in a PR dedicated to improving cscript. That way this change can be focused on replacing runtime hex parsing with compile time parsing.
(https://github.com/bitcoin/bitcoin/pull/30377#discussion_r1720781175)
re: https://github.com/bitcoin/bitcoin/pull/30377#discussion_r1720755562
> and many more, I think it would simplify a few trivial usages, hexadecimal encoding only makes sense for bigger values.
This would change which cscript overload is called, which could be good, but I think it would be better to do in a PR dedicated to improving cscript. That way this change can be focused on replacing runtime hex parsing with compile time parsing.
💬 ryanofsky commented on pull request "refactor: Replace ParseHex with consteval HexLiteral":
(https://github.com/bitcoin/bitcoin/pull/30377#discussion_r1720781544)
re: https://github.com/bitcoin/bitcoin/pull/30377#discussion_r1720757880
> Is `Vec` needed here because the existing `ToByteVector` has a long name? Or because of some funny visual studio exception? If none, maybe we could get rid of either.
CScript only supports << with std::vector, not std::array. It would be natural for it support std::array too, but I think that would be better be done in a followup improving CScript so this PR can be focused on replacing runtime hex parsing with compi
...
(https://github.com/bitcoin/bitcoin/pull/30377#discussion_r1720781544)
re: https://github.com/bitcoin/bitcoin/pull/30377#discussion_r1720757880
> Is `Vec` needed here because the existing `ToByteVector` has a long name? Or because of some funny visual studio exception? If none, maybe we could get rid of either.
CScript only supports << with std::vector, not std::array. It would be natural for it support std::array too, but I think that would be better be done in a followup improving CScript so this PR can be focused on replacing runtime hex parsing with compi
...
💬 ryanofsky commented on pull request "refactor: Replace ParseHex with consteval HexLiteral":
(https://github.com/bitcoin/bitcoin/pull/30377#discussion_r1720780412)
ddd
(https://github.com/bitcoin/bitcoin/pull/30377#discussion_r1720780412)
ddd