[netgroupman] Move asmap checksum calculation to NetGroupManager

This commit is contained in:
John Newbery
2021-09-01 16:34:23 +01:00
parent 1b978a7e8c
commit 4709fc2019
3 changed files with 14 additions and 9 deletions

View File

@@ -218,11 +218,7 @@ void AddrManImpl::Serialize(Stream& s_) const
}
// Store asmap checksum after bucket entries so that it
// can be ignored by older clients for backward compatibility.
uint256 asmap_checksum;
if (m_netgroupman.GetAsmap().size() != 0) {
asmap_checksum = SerializeHash(m_netgroupman.GetAsmap());
}
s << asmap_checksum;
s << m_netgroupman.GetAsmapChecksum();
}
template <typename Stream>
@@ -335,10 +331,7 @@ void AddrManImpl::Unserialize(Stream& s_)
// If the bucket count and asmap checksum haven't changed, then attempt
// to restore the entries to the buckets/positions they were in before
// serialization.
uint256 supplied_asmap_checksum;
if (m_netgroupman.GetAsmap().size() != 0) {
supplied_asmap_checksum = SerializeHash(m_netgroupman.GetAsmap());
}
uint256 supplied_asmap_checksum{m_netgroupman.GetAsmapChecksum()};
uint256 serialized_asmap_checksum;
if (format >= Format::V2_ASMAP) {
s >> serialized_asmap_checksum;