[test] Add test for NODE_COMPACT_FILTER.

Test that a node configured to serve compact filters will signal
NODE_COMPACT_FILTER service bit.
pull/764/head
Jim Posen 5 years ago committed by John Newbery
parent 132b30d9c8
commit f5c003d3ea

@ -4,12 +4,13 @@
# file COPYING or http://www.opensource.org/licenses/mit-license.php. # file COPYING or http://www.opensource.org/licenses/mit-license.php.
"""Tests NODE_COMPACT_FILTERS (BIP 157/158). """Tests NODE_COMPACT_FILTERS (BIP 157/158).
Tests that a node configured with -blockfilterindex and -peerblockfilters can serve Tests that a node configured with -blockfilterindex and -peerblockfilters signals
cfilters, cfheaders and cfcheckpts. NODE_COMPACT_FILTERS and can serve cfilters, cfheaders and cfcheckpts.
""" """
from test_framework.messages import ( from test_framework.messages import (
FILTER_TYPE_BASIC, FILTER_TYPE_BASIC,
NODE_COMPACT_FILTERS,
hash256, hash256,
msg_getcfcheckpt, msg_getcfcheckpt,
msg_getcfheaders, msg_getcfheaders,
@ -70,6 +71,14 @@ class CompactFiltersTest(BitcoinTestFramework):
self.nodes[1].generate(1001) self.nodes[1].generate(1001)
wait_until(lambda: self.nodes[1].getblockcount() == 2000) wait_until(lambda: self.nodes[1].getblockcount() == 2000)
# Check that nodes have signalled NODE_COMPACT_FILTERS correctly.
assert node0.nServices & NODE_COMPACT_FILTERS != 0
assert node1.nServices & NODE_COMPACT_FILTERS == 0
# Check that the localservices is as expected.
assert int(self.nodes[0].getnetworkinfo()['localservices'], 16) & NODE_COMPACT_FILTERS != 0
assert int(self.nodes[1].getnetworkinfo()['localservices'], 16) & NODE_COMPACT_FILTERS == 0
self.log.info("get cfcheckpt on chain to be re-orged out.") self.log.info("get cfcheckpt on chain to be re-orged out.")
request = msg_getcfcheckpt( request = msg_getcfcheckpt(
filter_type=FILTER_TYPE_BASIC, filter_type=FILTER_TYPE_BASIC,

@ -49,6 +49,7 @@ NODE_NETWORK = (1 << 0)
NODE_GETUTXO = (1 << 1) NODE_GETUTXO = (1 << 1)
NODE_BLOOM = (1 << 2) NODE_BLOOM = (1 << 2)
NODE_WITNESS = (1 << 3) NODE_WITNESS = (1 << 3)
NODE_COMPACT_FILTERS = (1 << 6)
NODE_NETWORK_LIMITED = (1 << 10) NODE_NETWORK_LIMITED = (1 << 10)
MSG_TX = 1 MSG_TX = 1

Loading…
Cancel
Save