Introduce new V4 format addrman

92617b7a75 effectively changed the
on-disk format in an incompatible way: old deserializers cannot
deal with multiple entries for the same IP.

Introduce a V4_MULTIPORT format, and increment the compatibility base,
so that old versions correctly recognize it as an incompatible future
version.
This commit is contained in:
Pieter Wuille
2021-10-25 11:09:30 -04:00
parent 22a9018649
commit d891ae7681
3 changed files with 5 additions and 4 deletions

View File

@ -18,7 +18,7 @@ from test_framework.util import assert_equal
def serialize_addrman(
*,
format=1,
lowest_compatible=3,
lowest_compatible=4,
net_magic="regtest",
bucket_key=1,
len_new=None,
@ -75,7 +75,7 @@ class AddrmanTest(BitcoinTestFramework):
expected_msg=init_error(
"Unsupported format of addrman database: 1. It is compatible with "
"formats >=111, but the maximum supported by this version of "
f"{self.config['environment']['PACKAGE_NAME']} is 3.: (.+)"
f"{self.config['environment']['PACKAGE_NAME']} is 4.: (.+)"
),
match=ErrorMatch.FULL_REGEX,
)