HomePhabricator

Serialization improvements step 6 (all except wallet/gui)

Description

Serialization improvements step 6 (all except wallet/gui)

Summary:

The next step of changes from #10785.

This:

    Adds support for enum serialization to CustomUintFormatter, used in
CAddress for service flags.
    Merges BigEndian into CustomUintFormatter, used in CNetAddr for port
numbers.
    Converts everything (except wallet and gui) to use the new
serialization framework.

Backport of core PR18317.

The SER_READ and SER_WRITE macros are triggering -Wshadow warnings
all over the place with GCC. Unfortunately I found no solution to
prevent these warnings without a massive renaming of the serialization
functions parameters, making the code difficult to understand. As a
consequence I disabled the warning for GCC.

Test Plan:

ninja all check-all

Reviewers: #bitcoin_abc, majcosta

Reviewed By: #bitcoin_abc, majcosta

Subscribers: majcosta

Differential Revision: https://reviews.bitcoinabc.org/D9169

Details

Provenance
Pieter Wuille <pieter@wuille.net>Authored on Mar 11 2020, 15:30
FabienCommitted on Feb 5 2021, 17:30
FabienPushed on Feb 5 2021, 17:32
Reviewer
Restricted Project
Differential Revision
D9169: Serialization improvements step 6 (all except wallet/gui)
Parents
rABC29072910aa02: [Cashtab] Remove final instance of toSatoshi()
Branches
Unknown
Tags
Unknown