Changeset View
Changeset View
Standalone View
Standalone View
qa/rpc-tests/bip68-sequence.py
Show All 26 Lines | class BIP68Test(BitcoinTestFramework): | ||||
def __init__(self): | def __init__(self): | ||||
super().__init__() | super().__init__() | ||||
self.num_nodes = 2 | self.num_nodes = 2 | ||||
self.setup_clean_chain = False | self.setup_clean_chain = False | ||||
def setup_network(self): | def setup_network(self): | ||||
self.nodes = [] | self.nodes = [] | ||||
self.nodes.append( | self.nodes.append( | ||||
start_node(0, self.options.tmpdir, ["-debug", | start_node(0, self.options.tmpdir, ["-blockprioritysize=0"])) | ||||
"-blockprioritysize=0"])) | |||||
self.nodes.append( | self.nodes.append( | ||||
start_node(1, self.options.tmpdir, ["-debug", | start_node(1, self.options.tmpdir, ["-blockprioritysize=0", | ||||
"-blockprioritysize=0", | |||||
"-acceptnonstdtxn=0"])) | "-acceptnonstdtxn=0"])) | ||||
self.is_network_split = False | self.is_network_split = False | ||||
self.relayfee = self.nodes[0].getnetworkinfo()["relayfee"] | self.relayfee = self.nodes[0].getnetworkinfo()["relayfee"] | ||||
connect_nodes(self.nodes[0], 1) | connect_nodes(self.nodes[0], 1) | ||||
def run_test(self): | def run_test(self): | ||||
# Generate some coins | # Generate some coins | ||||
self.nodes[0].generate(110) | self.nodes[0].generate(110) | ||||
print("Running test disable flag") | self.log.info("Running test disable flag") | ||||
self.test_disable_flag() | self.test_disable_flag() | ||||
print("Running test sequence-lock-confirmed-inputs") | self.log.info("Running test sequence-lock-confirmed-inputs") | ||||
self.test_sequence_lock_confirmed_inputs() | self.test_sequence_lock_confirmed_inputs() | ||||
print("Running test sequence-lock-unconfirmed-inputs") | self.log.info("Running test sequence-lock-unconfirmed-inputs") | ||||
self.test_sequence_lock_unconfirmed_inputs() | self.test_sequence_lock_unconfirmed_inputs() | ||||
print("Running test BIP68 not consensus before versionbits activation") | self.log.info( | ||||
"Running test BIP68 not consensus before versionbits activation") | |||||
self.test_bip68_not_consensus() | self.test_bip68_not_consensus() | ||||
print("Verifying nVersion=2 transactions aren't standard") | self.log.info("Verifying nVersion=2 transactions aren't standard") | ||||
self.test_version2_relay(before_activation=True) | self.test_version2_relay(before_activation=True) | ||||
print("Activating BIP68 (and 112/113)") | self.log.info("Activating BIP68 (and 112/113)") | ||||
self.activateCSV() | self.activateCSV() | ||||
print("Verifying nVersion=2 transactions are now standard") | self.log.info("Verifying nVersion=2 transactions are now standard") | ||||
self.test_version2_relay(before_activation=False) | self.test_version2_relay(before_activation=False) | ||||
print("Passed\n") | self.log.info("Passed") | ||||
# Test that BIP68 is not in effect if tx version is 1, or if | # Test that BIP68 is not in effect if tx version is 1, or if | ||||
# the first sequence bit is set. | # the first sequence bit is set. | ||||
def test_disable_flag(self): | def test_disable_flag(self): | ||||
# Create some unconfirmed inputs | # Create some unconfirmed inputs | ||||
new_addr = self.nodes[0].getnewaddress() | new_addr = self.nodes[0].getnewaddress() | ||||
self.nodes[0].sendtoaddress(new_addr, 2) # send 2 BTC | self.nodes[0].sendtoaddress(new_addr, 2) # send 2 BTC | ||||
▲ Show 20 Lines • Show All 394 Lines • Show Last 20 Lines |