Follow-up to Add mainnet assumeutxo param at height 880,000, looking to simplify specifying explicit hashes in the source code. It’s not a full implementation yet, I’m looking for concept ack/nack and full CI feedback for now - applying it to the whole codebase may follow based on that.
This is also a follow-up to refactor: Replace ParseHex with consteval “"_hex literals, meant to simplify the usages (values beginning with the hexadecimal data, followed by the type conversion, similarly to sizeof(uint256)
vs uint256::size()
) and unifying hex parsing code.
Similarly to ""_hex
, the ""_uint256
has the same compile-time constraints as its constructor (properly sized with actual hexadecimal values), but uses detail::Hex
parser (reversed) (used in most other places for hex parsing) instead of base_blob(std::string_view hex_str)
.
The new implementation also makes it obvious that the values are reversed in this case.
I thought of removing the consteval_ctor
hack as well, now that consteval conversion is claimed to work in visual studio, but since https://godbolt.org/z/j837req5h still seems to fail for latest x64 msvc v19
, I postponed doing that.