Changeset View
Changeset View
Standalone View
Standalone View
test/functional/p2p_filter.py
Show All 13 Lines | from test_framework.messages import ( | ||||
MSG_FILTERED_BLOCK, | MSG_FILTERED_BLOCK, | ||||
msg_filteradd, | msg_filteradd, | ||||
msg_filterclear, | msg_filterclear, | ||||
msg_filterload, | msg_filterload, | ||||
msg_getdata, | msg_getdata, | ||||
msg_mempool, | msg_mempool, | ||||
msg_version, | msg_version, | ||||
) | ) | ||||
from test_framework.mininode import P2PInterface, mininode_lock | from test_framework.mininode import P2PInterface, p2p_lock | ||||
from test_framework.script import MAX_SCRIPT_ELEMENT_SIZE | from test_framework.script import MAX_SCRIPT_ELEMENT_SIZE | ||||
from test_framework.test_framework import BitcoinTestFramework | from test_framework.test_framework import BitcoinTestFramework | ||||
class P2PBloomFilter(P2PInterface): | class P2PBloomFilter(P2PInterface): | ||||
# This is a P2SH watch-only wallet | # This is a P2SH watch-only wallet | ||||
watch_script_pubkey = 'a914ffffffffffffffffffffffffffffffffffffffff87' | watch_script_pubkey = 'a914ffffffffffffffffffffffffffffffffffffffff87' | ||||
# The initial filter (n=10, fp=0.000001) with just the above scriptPubKey | # The initial filter (n=10, fp=0.000001) with just the above scriptPubKey | ||||
Show All 25 Lines | class P2PBloomFilter(P2PInterface): | ||||
def on_merkleblock(self, message): | def on_merkleblock(self, message): | ||||
self._merkleblock_received = True | self._merkleblock_received = True | ||||
def on_tx(self, message): | def on_tx(self, message): | ||||
self._tx_received = True | self._tx_received = True | ||||
@property | @property | ||||
def tx_received(self): | def tx_received(self): | ||||
with mininode_lock: | with p2p_lock: | ||||
return self._tx_received | return self._tx_received | ||||
@tx_received.setter | @tx_received.setter | ||||
def tx_received(self, value): | def tx_received(self, value): | ||||
with mininode_lock: | with p2p_lock: | ||||
self._tx_received = value | self._tx_received = value | ||||
@property | @property | ||||
def merkleblock_received(self): | def merkleblock_received(self): | ||||
with mininode_lock: | with p2p_lock: | ||||
return self._merkleblock_received | return self._merkleblock_received | ||||
@merkleblock_received.setter | @merkleblock_received.setter | ||||
def merkleblock_received(self, value): | def merkleblock_received(self, value): | ||||
with mininode_lock: | with p2p_lock: | ||||
self._merkleblock_received = value | self._merkleblock_received = value | ||||
class FilterTest(BitcoinTestFramework): | class FilterTest(BitcoinTestFramework): | ||||
def set_test_params(self): | def set_test_params(self): | ||||
self.setup_clean_chain = False | self.setup_clean_chain = False | ||||
self.num_nodes = 1 | self.num_nodes = 1 | ||||
self.extra_args = [[ | self.extra_args = [[ | ||||
▲ Show 20 Lines • Show All 194 Lines • Show Last 20 Lines |