This diff and the following ones are about code readability. The APIs for the int.from_bytes and int.to_bytes methods are a lot more readable than the struct pack/unpack functions. This will save some time in the future, by not requiring to read the struct doc.
test: Treat msg_version.relay as unsigned
The C++ code treats bool as uint8_t, so the python tests should as well.
https://github.com/bitcoin/bitcoin/pull/29067/changes/fa3886b7c69cbbe564478f30bb2c35e9e6b1cffa
This is done in prepration for the scripted diff, which can not deal
with the 0 literal int.
https://github.com/bitcoin/bitcoin/pull/29067/changes/fafc0d68eef9c9381b1a3d8e160aad9eeb8540a7
This is a partial backport of core#29067