This pull request is part of the libbitcoinkernel
project #24303 https://github.com/bitcoin/bitcoin/projects/18 and more specifically its “Step 2: Decouple most non-consensus code from libbitcoinkernel”. It is also a follow up to #26177.
It replaces pull request #27294, which just moved the constants to a new file, but did not re-declare them as enums.
The code move of the chain name constants out of the chainparamsbase
to their own separate header allows the kernel chainparams
to no longer include chainparamsbase
. The chainparamsbase
contain references to the ArgsManager
and networking related options that should not belong to the kernel library. Besides this move, the constants are re-declared as enums with helper functions facilitating string conversions.