def setup_nodes(self): extra_args = [ # Enable Canopy at height 205 to allow shielding Sprout funds first. nuparams(BLOSSOM_BRANCH_ID, 205), nuparams(HEARTWOOD_BRANCH_ID, 205), nuparams(CANOPY_BRANCH_ID, 205), nuparams(NU5_BRANCH_ID, 210), ] # We log the stderr of node 0, which the test nodes connect to. This # enables us to check that we see the expected error logged, and also # ensures that the test itself passes (as otherwise the stderr output # would be interpreted as an error from the test itself). self.log_stderr = tempfile.SpooledTemporaryFile(max_size=2**16) nodes = [] nodes.append( start_node(0, self.options.tmpdir, extra_args, stderr=self.log_stderr)) nodes.append(start_node(1, self.options.tmpdir, extra_args)) nodes.append(start_node(2, self.options.tmpdir, extra_args)) nodes.append(start_node(3, self.options.tmpdir, extra_args)) return nodes
def setup_network(self, split=False): args = [[ nuparams(HEARTWOOD_BRANCH_ID, 3), nuparams(NU5_BRANCH_ID, 5), ] * self.num_nodes] self.nodes = start_nodes(self.num_nodes, self.options.tmpdir, args) self.is_network_split = False self.sync_all()
def setup_network(self, split=False): args = [ nuparams(CANOPY_BRANCH_ID, 115), nuparams(NU5_BRANCH_ID, 130), ] self.nodes = start_nodes(self.num_nodes, self.options.tmpdir, [args] * self.num_nodes) self.is_network_split = False self.node = self.nodes[0]
def setup_network(self, split=False): args = [nuparams(BLOSSOM_BRANCH_ID, 1), nuparams(HEARTWOOD_BRANCH_ID, 1), nuparams(CANOPY_BRANCH_ID, 1), nuparams(NU5_BRANCH_ID, 1), ] self.nodes = start_nodes(self.num_nodes, self.options.tmpdir, [args] * self.num_nodes) self.is_network_split=False self.sync_all()
def setup_nodes(self): return start_nodes(self.num_nodes, self.options.tmpdir, extra_args=[[ nuparams(BLOSSOM_BRANCH_ID, 201), nuparams(HEARTWOOD_BRANCH_ID, 201), nuparams(CANOPY_BRANCH_ID, 201), nuparams(NU5_BRANCH_ID, 205), '-nurejectoldversions=false', ]] * self.num_nodes)
def setup_network(self, split=False): self.nodes = start_nodes(1, self.options.tmpdir, extra_args=[[ nuparams(OVERWINTER_BRANCH_ID, 1), nuparams(SAPLING_BRANCH_ID, 1), nuparams(BLOSSOM_BRANCH_ID, 1), nuparams(HEARTWOOD_BRANCH_ID, 1), nuparams(CANOPY_BRANCH_ID, 1), ]]) self.is_network_split = False
def setup_network(self): args = ["-checkmempool", "-debug=mempool", "-blockmaxsize=4000", nuparams(BLOSSOM_BRANCH_ID, 200), nuparams(HEARTWOOD_BRANCH_ID, 210), nuparams(CANOPY_BRANCH_ID, 220), nuparams(NU5_BRANCH_ID, 230), ] self.nodes = [] self.nodes.append(start_node(0, self.options.tmpdir, args)) self.nodes.append(start_node(1, self.options.tmpdir, args)) connect_nodes(self.nodes[1], 0) self.is_network_split = False self.sync_all
def setup_nodes(self): extra_args = [ # Enable Canopy at height 205 to allow shielding Sprout funds first. nuparams(BLOSSOM_BRANCH_ID, 205), nuparams(HEARTWOOD_BRANCH_ID, 205), nuparams(CANOPY_BRANCH_ID, 205), nuparams(NU5_BRANCH_ID, 210), ] nodes = [] nodes.append(start_node(0, self.options.tmpdir, extra_args)) nodes.append(start_node(1, self.options.tmpdir, extra_args)) nodes.append(start_node(2, self.options.tmpdir, extra_args)) nodes.append(start_node(3, self.options.tmpdir, extra_args)) return nodes
def setup_network(self, split=False): self.nodes = start_nodes(3, self.options.tmpdir, [[ nuparams(NU5_BRANCH_ID, 238), ]] * self.num_nodes) connect_nodes_bi(self.nodes,0,1) connect_nodes_bi(self.nodes,1,2) connect_nodes_bi(self.nodes,0,2) self.is_network_split=False self.sync_all()
def setup_network(self, split=False): self.nodes = start_nodes( self.num_nodes, self.options.tmpdir, extra_args=[[ '-txindex', # Avoid JSONRPC error: No information available about transaction nuparams(NU5_BRANCH_ID, 210), '-debug', ]] * self.num_nodes) connect_nodes_bi(self.nodes, 0, 1) self.is_network_split = False self.sync_all()
def setup_network(self, split=False): args = [ '-regtestprotectcoinbase', '-debug=zrpcunsafe', nuparams(NU5_BRANCH_ID, self.nu5_activation), ] self.nodes = [] self.nodes.append(start_node(0, self.options.tmpdir, args)) self.nodes.append(start_node(1, self.options.tmpdir, args)) self.nodes.append(start_node(2, self.options.tmpdir, args)) connect_nodes_bi(self.nodes, 0, 1) connect_nodes_bi(self.nodes, 1, 2) connect_nodes_bi(self.nodes, 0, 2) self.is_network_split = False self.sync_all()
def setup_nodes(self): return start_nodes(self.num_nodes, self.options.tmpdir, [[ nuparams(NU5_BRANCH_ID, 210), ]] * self.num_nodes)
bitcoind_processes, connect_nodes_bi, initialize_chain, nuparams, start_node, start_nodes, BLOSSOM_BRANCH_ID, HEARTWOOD_BRANCH_ID, CANOPY_BRANCH_ID, ) import logging import time HAS_CANOPY = [ nuparams(BLOSSOM_BRANCH_ID, 205), nuparams(HEARTWOOD_BRANCH_ID, 210), nuparams(CANOPY_BRANCH_ID, 220), '-nurejectoldversions=false' ] NO_CANOPY = [ nuparams(BLOSSOM_BRANCH_ID, 205), nuparams(HEARTWOOD_BRANCH_ID, 210), '-nurejectoldversions=false' ] class PostHeartwoodRollbackTest(BitcoinTestFramework): def setup_chain(self): print("Initializing test directory " + self.options.tmpdir) initialize_chain(self.options.tmpdir) def setup_nodes(self):
#!/usr/bin/env python3 # Copyright (c) 2018 The Zcash developers # Distributed under the MIT software license, see the accompanying # file COPYING or https://www.opensource.org/licenses/mit-license.php . from test_framework.test_framework import BitcoinTestFramework from test_framework.util import assert_equal, initialize_chain_clean, \ nuparams, sync_blocks, OVERWINTER_BRANCH_ID, SAPLING_BRANCH_ID, \ start_nodes, start_node, connect_nodes_bi, pasteld_processes import time FAKE_SPROUT = [nuparams(OVERWINTER_BRANCH_ID, 210), nuparams(SAPLING_BRANCH_ID, 220)] FAKE_OVERWINTER = [nuparams(OVERWINTER_BRANCH_ID, 10), nuparams(SAPLING_BRANCH_ID, 220)] class RewindBlockIndexTest (BitcoinTestFramework): def __init__(self): super().__init__() self.num_nodes = 3 self.setup_clean_chain = True def setup_chain(self): print(f"Initializing test directory {self.options.tmpdir}") initialize_chain_clean(self.options.tmpdir, self.num_nodes) def setup_network(self, split=False): # Node 0 - Overwinter, then Sprout, then Overwinter again # Node 1 - Sprout # Node 2 - Overwinter self.nodes = start_nodes(self.num_nodes, self.options.tmpdir, extra_args=[
def setup_nodes(self): return start_nodes(self.num_nodes, self.options.tmpdir, [[ nuparams(NU5_BRANCH_ID, 205), '-regtestwalletsetbestchaineveryblock' ]] * self.num_nodes)
assert_raises_message, start_nodes, get_coinbase_address, wait_and_assert_operationid_status, nuparams, BLOSSOM_BRANCH_ID, HEARTWOOD_BRANCH_ID, CANOPY_BRANCH_ID, NU5_BRANCH_ID, ) import logging HAS_CANOPY = [ '-nurejectoldversions=false', nuparams(BLOSSOM_BRANCH_ID, 205), nuparams(HEARTWOOD_BRANCH_ID, 210), nuparams(CANOPY_BRANCH_ID, 220), nuparams(NU5_BRANCH_ID, 225), ] class RemoveSproutShieldingTest(BitcoinTestFramework): def setup_nodes(self): return start_nodes(self.num_nodes, self.options.tmpdir, extra_args=[HAS_CANOPY] * self.num_nodes) def run_test(self): # Generate blocks up to Heartwood activation
from test_framework.test_framework import BitcoinTestFramework from test_framework.util import (assert_equal, assert_true, assert_start_raises_init_error, start_nodes, start_node, connect_nodes_bi, bitcoind_processes, nuparams, OVERWINTER_BRANCH_ID, SAPLING_BRANCH_ID) import logging import sys logging.basicConfig(format='%(levelname)s: %(message)s', level=logging.INFO, stream=sys.stdout) HAS_SAPLING = [ nuparams(OVERWINTER_BRANCH_ID, 10), nuparams(SAPLING_BRANCH_ID, 15) ] NO_SAPLING = [ nuparams(OVERWINTER_BRANCH_ID, 10), nuparams(SAPLING_BRANCH_ID, 150) ] class SaplingRewindTest(BitcoinTestFramework): def __init__(self): super().__init__() self.num_nodes = 3 self.setup_clean_chain = True # This mirrors how the network was setup in the bash test
from test_framework.test_framework import BitcoinTestFramework from test_framework.util import (initialize_chain_clean, start_nodes, start_node, bitcoind_processes) from test_framework.util import (nuparams, OVERWINTER_BRANCH_ID, SAPLING_BRANCH_ID, BLOSSOM_BRANCH_ID, HEARTWOOD_BRANCH_ID, CANOPY_BRANCH_ID) import shutil import logging import tarfile import os import os.path HAS_SAPLING = [ nuparams(OVERWINTER_BRANCH_ID, 10), nuparams(SAPLING_BRANCH_ID, 20) ] HAS_BLOSSOM = HAS_SAPLING + [nuparams(BLOSSOM_BRANCH_ID, 30)] HAS_HEARTWOOD = HAS_BLOSSOM + [nuparams(HEARTWOOD_BRANCH_ID, 40)] HAS_CANOPY = HAS_HEARTWOOD + [nuparams(CANOPY_BRANCH_ID, 50)] class Upgrade(): def __init__(self, h, p, a): self.gen_height = h self.tgz_path = p self.extra_args = a class UpgradeGoldenTest(BitcoinTestFramework):
#!/usr/bin/env python3 # Copyright (c) 2018 The Zcash developers # Distributed under the MIT software license, see the accompanying # file COPYING or https://www.opensource.org/licenses/mit-license.php . from test_framework.test_framework import BitcoinTestFramework from test_framework.util import assert_equal, initialize_chain_clean, \ start_nodes, start_node, connect_nodes_bi, bitcoind_processes, \ nuparams, OVERWINTER_BRANCH_ID, SAPLING_BRANCH_ID import time FAKE_SPROUT = [ nuparams(OVERWINTER_BRANCH_ID, 210), nuparams(SAPLING_BRANCH_ID, 220) ] FAKE_OVERWINTER = [ nuparams(OVERWINTER_BRANCH_ID, 10), nuparams(SAPLING_BRANCH_ID, 220) ] class RewindBlockIndexTest(BitcoinTestFramework): def setup_chain(self): print("Initializing test directory " + self.options.tmpdir) initialize_chain_clean(self.options.tmpdir, 3) def setup_network(self, split=False): # Node 0 - Overwinter, then Sprout, then Overwinter again # Node 1 - Sprout # Node 2 - Overwinter
def setup_nodes(self): return start_nodes(4, self.options.tmpdir, [[ nuparams(NU5_BRANCH_ID, 215), ]] * 4)