PR description:
> This introduces a const-correct generic approach for serializing objects using custom
> serializers (defined separately from the object being serialized), then converts VARINT
> to use that approach, and then converts chain.h to the new framework (including
> the new const-correct VARINT macro).
Commit message:
> This adds the (internal) Wrapper class, and the Using function that uses it. Given
> a class F that implements Ser(stream, const object&) and Unser(stream, object&)
> functions, this permits writing e.g. READWRITE(Using<F>(object)).
This is a backport of Core [[https://github.com/bitcoin/bitcoin/pull/17896 | PR17896]] [1/3]
https://github.com/bitcoin/bitcoin/pull/17896/commits/ca62563df341786d1d1809a037d8b592924e78c4