dash/test/functional/test_framework
Odysseas Gabrielides c9490bd91b
feat: min protocol version check for SML serialisation (#5302)
## Issue being fixed or feature implemented
This was reported/requested by @HashEngineering:
> Older versions of our App won't sync due to if (obj.nVersion ==
BASIC_BLS_VERSION) . Older versions don't know what version a SML Entry
is. As such, they will never read the type field. On the android client
this causes an offset problem when reading the mnlistdiff and it will
throw an exception that bans the peer that supplied it. Soon enough, no
peers will be left to connect to because they will all give the android
client bad data.

## What was done?
With this PR, SML will serialise the new v19 fields (`nType`,
`platformHTTPPort`, `platformNodeID`) if the client's version is at
least equal to `70227`.
Note: Serialisation for hashing skips the above rule.

Also, functional test mininode protocol version is set to `70227`.

## How Has This Been Tested?


## Breaking Changes


## Checklist:
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [x] I have added or updated relevant unit/integration/functional/e2e
tests
- [ ] I have made corresponding changes to the documentation

**For repository code-owners and collaborators only**
- [x] I have assigned this pull request to a milestone
2023-04-09 00:12:39 -05:00
..
__init__.py
address.py Merge #17984: test: Add p2p test for forcerelay permission 2022-10-20 11:48:12 -04:00
authproxy.py
blocktools.py Merge #19082: test: Moved the CScriptNum asserts into the unit test in script.py 2023-02-27 23:12:41 -06:00
coverage.py
descriptors.py Merge #18032: rpc: Output a descriptor in createmultisig and addmultisigaddress 2023-04-06 20:15:47 +03:00
key.py merge bitcoin#19105: Add Muhash3072 implementation in Python 2022-04-27 20:05:13 +05:30
messages.py feat: min protocol version check for SML serialisation (#5302) 2023-04-09 00:12:39 -05:00
mininode.py Merge #18593: test: complete impl. of msg_merkleblock and wait_for_merkleblock 2023-04-09 00:06:56 -05:00
muhash.py partial bitcoin#19055: Add MuHash3072 implementation 2022-04-27 20:05:13 +05:30
netutil.py Merge bitcoin/bitcoin#24342: test: remove import socket in test_ipv6_local 2022-04-11 09:46:40 -07:00
ripemd160.py docs/build: Kubuntu 22.04 build fix (#4843) 2022-05-28 23:27:04 -05:00
script_util.py Merge #18732: test: Remove unused, undocumented and misleading CScript.__add__ 2023-03-03 23:07:15 +05:30
script.py Merge #18732: test: Remove unused, undocumented and misleading CScript.__add__ 2023-03-03 23:07:15 +05:30
siphash.py
socks5.py
test_framework.py fix(tests): a couple of fixes for dynamically_add/update functions (#5288) 2023-04-09 00:09:18 -05:00
test_node.py Merge #20522: [test] Fix sync issue in disconnect_p2ps 2023-04-09 00:06:56 -05:00
test_shell.py Merge #17378: TestShell: Fix typos & implement cleanups 2023-01-23 12:22:29 -06:00
util.py Merge #16598: test: Remove confusing hash256 function in util 2023-04-04 12:45:27 -05:00
wallet_util.py