Coupling the fees serialization with CLIENT_VERSION is problematic, because:
CLIENT_VERSION
may change, even though the serialization format does not change. This is harmless, but still confusing.- If a serialization format change was backported (unlikely), it may lead to incorrect results.
CLIENT_VERSION
is changed at a different time during the release process than any serialization format change. This is harmless for releases of Bitcoin Core, but may be confusing when using the development branch.- It is harder to reason about a global
CLIENT_VERSION
when changing the format, than to reason about a versioning local to the module.
Fix all issues by pinning the current version number in the module locally. In the future it can then be modified locally to the module, if needed.