Skip to content

Commit d1a4b14

Browse files
committed
merge bitcoin#23354: Introduce new V4 format addrman
1 parent 7a97aab commit d1a4b14

File tree

3 files changed

+5
-4
lines changed

3 files changed

+5
-4
lines changed

src/addrman.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ void AddrManImpl::Serialize(Stream& s_) const
174174

175175
// Increment `lowest_compatible` iff a newly introduced format is incompatible with
176176
// the previous one.
177-
static constexpr uint8_t lowest_compatible = Format::V3_BIP155;
177+
static constexpr uint8_t lowest_compatible = Format::V4_MULTIPORT;
178178
s << static_cast<uint8_t>(INCOMPATIBILITY_BASE + lowest_compatible);
179179

180180
s << nKey;

src/addrman_impl.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,14 +159,15 @@ class AddrManImpl
159159
V1_DETERMINISTIC = 1, //!< for pre-asmap files
160160
V2_ASMAP = 2, //!< for files including asmap version
161161
V3_BIP155 = 3, //!< same as V2_ASMAP plus addresses are in BIP155 format
162+
V4_MULTIPORT = 4, //!< adds support for multiple ports per IP
162163
};
163164

164165
//! The maximum format this software knows it can unserialize. Also, we always serialize
165166
//! in this format.
166167
//! The format (first byte in the serialized stream) can be higher than this and
167168
//! still this software may be able to unserialize the file - if the second byte
168169
//! (see `lowest_compatible` in `Unserialize()`) is less or equal to this.
169-
static constexpr Format FILE_FORMAT = Format::V3_BIP155;
170+
static constexpr Format FILE_FORMAT = Format::V4_MULTIPORT;
170171

171172
//! The initial value of a field that is incremented every time an incompatible format
172173
//! change is made (such that old software versions would not be able to parse and

test/functional/feature_addrman.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
def serialize_addrman(
1818
*,
1919
format=1,
20-
lowest_compatible=3,
20+
lowest_compatible=4,
2121
net_magic="regtest",
2222
bucket_key=1,
2323
len_new=None,
@@ -74,7 +74,7 @@ def run_test(self):
7474
expected_msg=init_error(
7575
"Unsupported format of addrman database: 1. It is compatible with "
7676
"formats >=111, but the maximum supported by this version of "
77-
f"{self.config['environment']['PACKAGE_NAME']} is 3.: (.+)"
77+
f"{self.config['environment']['PACKAGE_NAME']} is 4.: (.+)"
7878
),
7979
match=ErrorMatch.FULL_REGEX,
8080
)

0 commit comments

Comments
 (0)