mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-10 03:47:29 -03:00
scripted-diff: Remove redundant sync_all and sync_blocks
The sync calls are redundant after a call to generate, because generate already syncs itself. -BEGIN VERIFY SCRIPT- perl -0777 -pi -e 's/(generate[^\n]*\)[^\n]*)(\n|\s)+self.sync_(all|blocks)\([^\)]*\)\n/\1\n/g' $(git grep -l generate ./test) -END VERIFY SCRIPT-
This commit is contained in:
parent
fad13991ae
commit
fa974f1f14
47 changed files with 0 additions and 160 deletions
|
@ -66,8 +66,6 @@ class BackwardsCompatibilityTest(BitcoinTestFramework):
|
|||
def run_test(self):
|
||||
self.generatetoaddress(self.nodes[0], COINBASE_MATURITY + 1, self.nodes[0].getnewaddress())
|
||||
|
||||
self.sync_blocks()
|
||||
|
||||
# Sanity check the test framework:
|
||||
res = self.nodes[self.num_nodes - 1].getblockchaininfo()
|
||||
assert_equal(res['blocks'], COINBASE_MATURITY + 1)
|
||||
|
@ -93,7 +91,6 @@ class BackwardsCompatibilityTest(BitcoinTestFramework):
|
|||
self.nodes[0].sendtoaddress(address, 10)
|
||||
self.sync_mempools()
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_blocks()
|
||||
# Create a conflicting transaction using RBF
|
||||
return_address = self.nodes[0].getnewaddress()
|
||||
tx1_id = self.nodes[1].sendtoaddress(return_address, 1)
|
||||
|
@ -101,7 +98,6 @@ class BackwardsCompatibilityTest(BitcoinTestFramework):
|
|||
# Confirm the transaction
|
||||
self.sync_mempools()
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_blocks()
|
||||
# Create another conflicting transaction using RBF
|
||||
tx3_id = self.nodes[1].sendtoaddress(return_address, 1)
|
||||
tx4_id = self.nodes[1].bumpfee(tx3_id)["txid"]
|
||||
|
|
|
@ -26,9 +26,7 @@ class FeatureBlockfilterindexPruneTest(BitcoinTestFramework):
|
|||
assert_greater_than(len(self.nodes[0].getblockfilter(self.nodes[0].getbestblockhash())['filter']), 0)
|
||||
# Mine two batches of blocks to avoid hitting NODE_NETWORK_LIMITED_MIN_BLOCKS disconnection
|
||||
self.generate(self.nodes[0], 250)
|
||||
self.sync_all()
|
||||
self.generate(self.nodes[0], 250)
|
||||
self.sync_all()
|
||||
self.sync_index(height=700)
|
||||
|
||||
self.log.info("prune some blocks")
|
||||
|
|
|
@ -72,8 +72,6 @@ class CoinStatsIndexTest(BitcoinTestFramework):
|
|||
node.sendtoaddress(address=address, amount=10, subtractfeefromamount=True)
|
||||
self.generate(node, 1)
|
||||
|
||||
self.sync_blocks(timeout=120)
|
||||
|
||||
self.log.info("Test that gettxoutsetinfo() output is consistent with or without coinstatsindex option")
|
||||
res0 = node.gettxoutsetinfo('none')
|
||||
|
||||
|
@ -170,7 +168,6 @@ class CoinStatsIndexTest(BitcoinTestFramework):
|
|||
|
||||
# Include both txs in a block
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
|
||||
for hash_option in index_hash_options:
|
||||
# Check all amounts were registered correctly
|
||||
|
@ -271,7 +268,6 @@ class CoinStatsIndexTest(BitcoinTestFramework):
|
|||
# Add another block, so we don't depend on reconsiderblock remembering which
|
||||
# blocks were touched by invalidateblock
|
||||
self.generate(index_node, 1)
|
||||
self.sync_all()
|
||||
|
||||
# Ensure that removing and re-adding blocks yields consistent results
|
||||
block = index_node.getblockhash(99)
|
||||
|
|
|
@ -218,7 +218,6 @@ class EstimateFeeTest(BitcoinTestFramework):
|
|||
self.fees_per_kb.append(float(fee) / tx_kbytes)
|
||||
self.sync_mempools(wait=.1)
|
||||
mined = mining_node.getblock(self.generate(mining_node, 1)[0], True)["tx"]
|
||||
self.sync_blocks(wait=.1)
|
||||
# update which txouts are confirmed
|
||||
newmem = []
|
||||
for utx in self.memutxo:
|
||||
|
@ -278,8 +277,6 @@ class EstimateFeeTest(BitcoinTestFramework):
|
|||
# Finish by mining a normal-sized block:
|
||||
while len(self.nodes[1].getrawmempool()) > 0:
|
||||
self.generate(self.nodes[1], 1)
|
||||
|
||||
self.sync_blocks(self.nodes[0:3], wait=.1)
|
||||
self.log.info("Final estimates after emptying mempools")
|
||||
check_estimates(self.nodes[1], self.fees_per_kb)
|
||||
|
||||
|
@ -322,7 +319,6 @@ class EstimateFeeTest(BitcoinTestFramework):
|
|||
for txid in txids_to_replace:
|
||||
miner.prioritisetransaction(txid=txid, fee_delta=-COIN)
|
||||
self.generate(miner, 1)
|
||||
self.sync_blocks(wait=.1, nodes=[node, miner])
|
||||
# RBF the low-fee transactions
|
||||
while True:
|
||||
try:
|
||||
|
@ -334,7 +330,6 @@ class EstimateFeeTest(BitcoinTestFramework):
|
|||
# Mine the last replacement txs
|
||||
self.sync_mempools(wait=.1, nodes=[node, miner])
|
||||
self.generate(miner, 1)
|
||||
self.sync_blocks(wait=.1, nodes=[node, miner])
|
||||
|
||||
# Only 10% of the transactions were really confirmed with a low feerate,
|
||||
# the rest needed to be RBF'd. We must return the 90% conf rate feerate.
|
||||
|
|
|
@ -112,7 +112,6 @@ class NotificationsTest(BitcoinTestFramework):
|
|||
self.log.info("test -walletnotify with conflicting transactions")
|
||||
self.nodes[0].rescanblockchain()
|
||||
self.generatetoaddress(self.nodes[0], 100, ADDRESS_BCRT1_UNSPENDABLE)
|
||||
self.sync_blocks()
|
||||
|
||||
# Generate transaction on node 0, sync mempools, and check for
|
||||
# notification on node 1.
|
||||
|
|
|
@ -191,7 +191,6 @@ class SegWitTest(BitcoinTestFramework):
|
|||
p2sh_ids[n][v].append(send_to_witness(v, self.nodes[0], find_spendable_utxo(self.nodes[0], 50), self.pubkey[n], True, Decimal("49.999")))
|
||||
|
||||
self.generate(self.nodes[0], 1) # block 163
|
||||
self.sync_blocks()
|
||||
|
||||
# Make sure all nodes recognize the transactions as theirs
|
||||
assert_equal(self.nodes[0].getbalance(), balance_presetup - 60 * 50 + 20 * Decimal("49.999") + 50)
|
||||
|
@ -199,7 +198,6 @@ class SegWitTest(BitcoinTestFramework):
|
|||
assert_equal(self.nodes[2].getbalance(), 20 * Decimal("49.999"))
|
||||
|
||||
self.generate(self.nodes[0], 260) # block 423
|
||||
self.sync_blocks()
|
||||
|
||||
self.log.info("Verify witness txs are skipped for mining before the fork")
|
||||
self.skip_mine(self.nodes[2], wit_ids[NODE_2][P2WPKH][0], True) # block 424
|
||||
|
@ -216,7 +214,6 @@ class SegWitTest(BitcoinTestFramework):
|
|||
self.log.info("Verify previous witness txs skipped for mining can now be mined")
|
||||
assert_equal(len(self.nodes[2].getrawmempool()), 4)
|
||||
blockhash = self.generate(self.nodes[2], 1)[0] # block 432 (first block with new rules; 432 = 144 * 3)
|
||||
self.sync_blocks()
|
||||
assert_equal(len(self.nodes[2].getrawmempool()), 0)
|
||||
segwit_tx_list = self.nodes[2].getblock(blockhash)["tx"]
|
||||
assert_equal(len(segwit_tx_list), 5)
|
||||
|
@ -630,7 +627,6 @@ class SegWitTest(BitcoinTestFramework):
|
|||
signresults = self.nodes[0].signrawtransactionwithwallet(tx.serialize_without_witness().hex())['hex']
|
||||
txid = self.nodes[0].sendrawtransaction(hexstring=signresults, maxfeerate=0)
|
||||
txs_mined[txid] = self.generate(self.nodes[0], 1)[0]
|
||||
self.sync_blocks()
|
||||
watchcount = 0
|
||||
spendcount = 0
|
||||
for i in self.nodes[0].listunspent():
|
||||
|
@ -680,7 +676,6 @@ class SegWitTest(BitcoinTestFramework):
|
|||
signresults = self.nodes[0].signrawtransactionwithwallet(tx.serialize_without_witness().hex())['hex']
|
||||
self.nodes[0].sendrawtransaction(hexstring=signresults, maxfeerate=0)
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_blocks()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
|
@ -81,9 +81,7 @@ class RESTTest (BitcoinTestFramework):
|
|||
not_related_address = "2MxqoHEdNQTyYeX1mHcbrrpzgojbosTpCvJ"
|
||||
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
self.generatetoaddress(self.nodes[1], 100, not_related_address)
|
||||
self.sync_all()
|
||||
|
||||
assert_equal(self.nodes[0].getbalance(), 50)
|
||||
|
||||
|
@ -108,7 +106,6 @@ class RESTTest (BitcoinTestFramework):
|
|||
self.log.info("Query an unspent TXO using the /getutxos URI")
|
||||
|
||||
self.generatetoaddress(self.nodes[1], 1, not_related_address)
|
||||
self.sync_all()
|
||||
bb_hash = self.nodes[0].getbestblockhash()
|
||||
|
||||
assert_equal(self.nodes[1].getbalance(), Decimal("0.1"))
|
||||
|
@ -183,7 +180,6 @@ class RESTTest (BitcoinTestFramework):
|
|||
assert_equal(len(json_obj['utxos']), 0)
|
||||
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
|
||||
json_obj = self.test_rest_request(f"/getutxos/{spending[0]}-{spending[1]}")
|
||||
assert_equal(len(json_obj['utxos']), 1)
|
||||
|
@ -204,7 +200,6 @@ class RESTTest (BitcoinTestFramework):
|
|||
self.test_rest_request(f"/getutxos/checkmempool/{long_uri}", http_method='POST', status=200)
|
||||
|
||||
self.generate(self.nodes[0], 1) # generate block to not affect upcoming tests
|
||||
self.sync_all()
|
||||
|
||||
self.log.info("Test the /block, /blockhashbyheight and /headers URIs")
|
||||
bb_hash = self.nodes[0].getbestblockhash()
|
||||
|
@ -275,7 +270,6 @@ class RESTTest (BitcoinTestFramework):
|
|||
|
||||
# See if we can get 5 headers in one response
|
||||
self.generate(self.nodes[1], 5)
|
||||
self.sync_all()
|
||||
json_obj = self.test_rest_request(f"/headers/5/{bb_hash}")
|
||||
assert_equal(len(json_obj), 5) # now we should have 5 header objects
|
||||
|
||||
|
@ -310,7 +304,6 @@ class RESTTest (BitcoinTestFramework):
|
|||
|
||||
# Now mine the transactions
|
||||
newblockhash = self.generate(self.nodes[1], 1)
|
||||
self.sync_all()
|
||||
|
||||
# Check if the 3 tx show up in the new block
|
||||
json_obj = self.test_rest_request(f"/block/{newblockhash[0]}")
|
||||
|
|
|
@ -190,8 +190,6 @@ class ZMQTest (BitcoinTestFramework):
|
|||
self.log.info(f"Generate {num_blocks} blocks (and {num_blocks} coinbase txes)")
|
||||
genhashes = self.generatetoaddress(self.nodes[0], num_blocks, ADDRESS_BCRT1_UNSPENDABLE)
|
||||
|
||||
self.sync_all()
|
||||
|
||||
for x in range(num_blocks):
|
||||
# Should receive the coinbase txid.
|
||||
txid = hashtx.receive()
|
||||
|
@ -353,7 +351,6 @@ class ZMQTest (BitcoinTestFramework):
|
|||
# removed from the mempool by the block mining it.
|
||||
mempool_size = len(self.nodes[0].getrawmempool())
|
||||
c_block = self.generatetoaddress(self.nodes[0], 1, ADDRESS_BCRT1_UNSPENDABLE)[0]
|
||||
self.sync_all()
|
||||
# Make sure the number of mined transactions matches the number of txs out of mempool
|
||||
mempool_size_delta = mempool_size - len(self.nodes[0].getrawmempool())
|
||||
assert_equal(len(self.nodes[0].getblock(c_block)["tx"])-1, mempool_size_delta)
|
||||
|
@ -393,7 +390,6 @@ class ZMQTest (BitcoinTestFramework):
|
|||
# Other things may happen but aren't wallet-deterministic so we don't test for them currently
|
||||
self.nodes[0].reconsiderblock(best_hash)
|
||||
self.generatetoaddress(self.nodes[1], 1, ADDRESS_BCRT1_UNSPENDABLE)
|
||||
self.sync_all()
|
||||
|
||||
self.log.info("Evict mempool transaction by block conflict")
|
||||
orig_txid = self.nodes[0].sendtoaddress(address=self.nodes[0].getnewaddress(), amount=1.0, replaceable=True)
|
||||
|
|
|
@ -192,7 +192,6 @@ class MempoolPackagesTest(BitcoinTestFramework):
|
|||
# Check that prioritising a tx before it's added to the mempool works
|
||||
# First clear the mempool by mining a block.
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_blocks()
|
||||
assert_equal(len(self.nodes[0].getrawmempool()), 0)
|
||||
# Prioritise a transaction that has been mined, then add it back to the
|
||||
# mempool by using invalidateblock.
|
||||
|
@ -283,7 +282,6 @@ class MempoolPackagesTest(BitcoinTestFramework):
|
|||
# Test reorg handling
|
||||
# First, the basics:
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_blocks()
|
||||
self.nodes[1].invalidateblock(self.nodes[0].getbestblockhash())
|
||||
self.nodes[1].reconsiderblock(self.nodes[0].getbestblockhash())
|
||||
|
||||
|
@ -330,7 +328,6 @@ class MempoolPackagesTest(BitcoinTestFramework):
|
|||
|
||||
# Mine these in a block
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
|
||||
# Now generate tx8, with a big fee
|
||||
inputs = [ {'txid' : tx1_id, 'vout': 0}, {'txid' : txid, 'vout': 0} ]
|
||||
|
|
|
@ -64,7 +64,6 @@ class GetBlockTemplateLPTest(BitcoinTestFramework):
|
|||
|
||||
# Add enough mature utxos to the wallets, so that all txs spend confirmed coins
|
||||
self.generate(self.nodes[0], COINBASE_MATURITY)
|
||||
self.sync_blocks()
|
||||
|
||||
self.log.info("Test that introducing a new transaction into the mempool will terminate the longpoll")
|
||||
thr = LongpollThread(self.nodes[0])
|
||||
|
|
|
@ -57,7 +57,6 @@ class CompactFiltersTest(BitcoinTestFramework):
|
|||
|
||||
# Nodes 0 & 1 share the same first 999 blocks in the chain.
|
||||
self.generate(self.nodes[0], 999)
|
||||
self.sync_blocks(timeout=600)
|
||||
|
||||
# Stale blocks by disconnecting nodes 0 & 1, mining, then reconnecting
|
||||
self.disconnect_nodes(0, 1)
|
||||
|
|
|
@ -31,7 +31,6 @@ class CompactBlocksConnectionTest(BitcoinTestFramework):
|
|||
"""Relay a new block through peer peer, and return HB status between 1 and [2,3,4,5]."""
|
||||
self.connect_nodes(peer, 0)
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_blocks()
|
||||
self.disconnect_nodes(peer, 0)
|
||||
status_to = [self.peer_info(1, i)['bip152_hb_to'] for i in range(2, 6)]
|
||||
status_from = [self.peer_info(i, 1)['bip152_hb_from'] for i in range(2, 6)]
|
||||
|
@ -45,7 +44,6 @@ class CompactBlocksConnectionTest(BitcoinTestFramework):
|
|||
for i in range(1, 6):
|
||||
self.connect_nodes(i, 0)
|
||||
self.generate(self.nodes[0], 2)
|
||||
self.sync_blocks()
|
||||
for i in range(1, 6):
|
||||
self.disconnect_nodes(i, 0)
|
||||
|
||||
|
|
|
@ -30,7 +30,6 @@ class P2PIBDTxRelayTest(BitcoinTestFramework):
|
|||
|
||||
# Come out of IBD by generating a block
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
|
||||
self.log.info("Check that nodes reset minfilter after coming out of IBD")
|
||||
for node in self.nodes:
|
||||
|
|
|
@ -94,7 +94,6 @@ class P2PPermissionsTests(BitcoinTestFramework):
|
|||
|
||||
def check_tx_relay(self):
|
||||
block_op_true = self.nodes[0].getblock(self.generatetoaddress(self.nodes[0], 100, ADDRESS_BCRT1_P2WSH_OP_TRUE)[0])
|
||||
self.sync_all()
|
||||
|
||||
self.log.debug("Create a connection from a forcerelay peer that rebroadcasts raw txs")
|
||||
# A test framework p2p connection is needed to send the raw transaction directly. If a full node was used, it could only
|
||||
|
|
|
@ -578,7 +578,6 @@ class SegWitTest(BitcoinTestFramework):
|
|||
# Mine it on test_node to create the confirmed output.
|
||||
test_transaction_acceptance(self.nodes[0], self.test_node, p2sh_tx, with_witness=True, accepted=True)
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_blocks()
|
||||
|
||||
# Now test standardness of v0 P2WSH outputs.
|
||||
# Start by creating a transaction with two outputs.
|
||||
|
@ -651,7 +650,6 @@ class SegWitTest(BitcoinTestFramework):
|
|||
test_transaction_acceptance(self.nodes[0], self.test_node, tx3, with_witness=True, accepted=True)
|
||||
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_blocks()
|
||||
self.utxo.pop(0)
|
||||
self.utxo.append(UTXO(tx3.sha256, 0, tx3.vout[0].nValue))
|
||||
assert_equal(len(self.nodes[1].getrawmempool()), 0)
|
||||
|
@ -1354,7 +1352,6 @@ class SegWitTest(BitcoinTestFramework):
|
|||
temp_utxo.append(UTXO(tx.sha256, 0, tx.vout[0].nValue))
|
||||
|
||||
self.generate(self.nodes[0], 1) # Mine all the transactions
|
||||
self.sync_blocks()
|
||||
assert len(self.nodes[0].getrawmempool()) == 0
|
||||
|
||||
# Finally, verify that version 0 -> version 2 transactions
|
||||
|
@ -1425,7 +1422,6 @@ class SegWitTest(BitcoinTestFramework):
|
|||
|
||||
# Now test a premature spend.
|
||||
self.generate(self.nodes[0], 98)
|
||||
self.sync_blocks()
|
||||
block2 = self.build_next_block()
|
||||
self.update_witness_block_with_transactions(block2, [spend_tx])
|
||||
test_witness_block(self.nodes[0], self.test_node, block2, accepted=False, reason='bad-txns-premature-spend-of-coinbase')
|
||||
|
@ -1744,7 +1740,6 @@ class SegWitTest(BitcoinTestFramework):
|
|||
tx.rehash()
|
||||
test_transaction_acceptance(self.nodes[0], self.test_node, tx, False, True)
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_blocks()
|
||||
|
||||
# We'll add an unnecessary witness to this transaction that would cause
|
||||
# it to be non-standard, to test that violating policy with a witness
|
||||
|
@ -1773,7 +1768,6 @@ class SegWitTest(BitcoinTestFramework):
|
|||
test_transaction_acceptance(self.nodes[0], self.test_node, tx3, False, True)
|
||||
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_blocks()
|
||||
|
||||
# Update our utxo list; we spent the first entry.
|
||||
self.utxo.pop(0)
|
||||
|
@ -1808,7 +1802,6 @@ class SegWitTest(BitcoinTestFramework):
|
|||
test_transaction_acceptance(self.nodes[0], self.test_node, tx, with_witness=False, accepted=True)
|
||||
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_blocks()
|
||||
|
||||
# Creating transactions for tests
|
||||
p2wsh_txs = []
|
||||
|
|
|
@ -217,7 +217,6 @@ class SendHeadersTest(BitcoinTestFramework):
|
|||
|
||||
# make sure all invalidated blocks are node0's
|
||||
self.generatetoaddress(self.nodes[0], length, self.nodes[0].get_deterministic_priv_key().address)
|
||||
self.sync_blocks(self.nodes, wait=0.1)
|
||||
for x in self.nodes[0].p2ps:
|
||||
x.wait_for_block_announcement(int(self.nodes[0].getbestblockhash(), 16))
|
||||
x.clear_block_announcements()
|
||||
|
@ -226,7 +225,6 @@ class SendHeadersTest(BitcoinTestFramework):
|
|||
hash_to_invalidate = self.nodes[1].getblockhash(tip_height - (length - 1))
|
||||
self.nodes[1].invalidateblock(hash_to_invalidate)
|
||||
all_hashes = self.generatetoaddress(self.nodes[1], length + 1, self.nodes[1].get_deterministic_priv_key().address) # Must be longer than the orig chain
|
||||
self.sync_blocks(self.nodes, wait=0.1)
|
||||
return [int(x, 16) for x in all_hashes]
|
||||
|
||||
def run_test(self):
|
||||
|
|
|
@ -46,7 +46,6 @@ class RpcCreateMultiSigTest(BitcoinTestFramework):
|
|||
|
||||
self.log.info('Generating blocks ...')
|
||||
self.generate(node0, 149)
|
||||
self.sync_all()
|
||||
|
||||
self.moved = 0
|
||||
for self.nkeys in [3, 5]:
|
||||
|
@ -117,7 +116,6 @@ class RpcCreateMultiSigTest(BitcoinTestFramework):
|
|||
def checkbalances(self):
|
||||
node0, node1, node2 = self.nodes
|
||||
self.generate(node0, COINBASE_MATURITY)
|
||||
self.sync_all()
|
||||
|
||||
bal0 = node0.getbalance()
|
||||
bal1 = node1.getbalance()
|
||||
|
|
|
@ -99,9 +99,7 @@ class RawTransactionsTest(BitcoinTestFramework):
|
|||
self.fee_tolerance = 2 * self.min_relay_tx_fee / 1000
|
||||
|
||||
self.generate(self.nodes[2], 1)
|
||||
self.sync_all()
|
||||
self.generate(self.nodes[0], 121)
|
||||
self.sync_all()
|
||||
|
||||
self.test_change_position()
|
||||
self.test_simple()
|
||||
|
@ -164,7 +162,6 @@ class RawTransactionsTest(BitcoinTestFramework):
|
|||
self.nodes[0].sendtoaddress(self.nodes[2].getnewaddress(), 5.0)
|
||||
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
|
||||
wwatch.unloadwallet()
|
||||
|
||||
|
@ -550,7 +547,6 @@ class RawTransactionsTest(BitcoinTestFramework):
|
|||
# Send 1.2 BTC to msig addr.
|
||||
self.nodes[0].sendtoaddress(mSigObj, 1.2)
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
|
||||
oldBalance = self.nodes[1].getbalance()
|
||||
inputs = []
|
||||
|
@ -561,7 +557,6 @@ class RawTransactionsTest(BitcoinTestFramework):
|
|||
final_psbt = w2.finalizepsbt(signed_psbt['psbt'])
|
||||
self.nodes[2].sendrawtransaction(final_psbt['hex'])
|
||||
self.generate(self.nodes[2], 1)
|
||||
self.sync_all()
|
||||
|
||||
# Make sure funds are received at node1.
|
||||
assert_equal(oldBalance+Decimal('1.10000000'), self.nodes[1].getbalance())
|
||||
|
@ -625,7 +620,6 @@ class RawTransactionsTest(BitcoinTestFramework):
|
|||
signedTx = self.nodes[1].signrawtransactionwithwallet(fundedTx['hex'])
|
||||
self.nodes[1].sendrawtransaction(signedTx['hex'])
|
||||
self.generate(self.nodes[1], 1)
|
||||
self.sync_all()
|
||||
|
||||
# Make sure funds are received at node1.
|
||||
assert_equal(oldBalance+Decimal('51.10000000'), self.nodes[0].getbalance())
|
||||
|
@ -637,12 +631,10 @@ class RawTransactionsTest(BitcoinTestFramework):
|
|||
# Empty node1, send some small coins from node0 to node1.
|
||||
self.nodes[1].sendtoaddress(self.nodes[0].getnewaddress(), self.nodes[1].getbalance(), "", "", True)
|
||||
self.generate(self.nodes[1], 1)
|
||||
self.sync_all()
|
||||
|
||||
for _ in range(20):
|
||||
self.nodes[0].sendtoaddress(self.nodes[1].getnewaddress(), 0.01)
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
|
||||
# Fund a tx with ~20 small inputs.
|
||||
inputs = []
|
||||
|
@ -665,12 +657,10 @@ class RawTransactionsTest(BitcoinTestFramework):
|
|||
# Again, empty node1, send some small coins from node0 to node1.
|
||||
self.nodes[1].sendtoaddress(self.nodes[0].getnewaddress(), self.nodes[1].getbalance(), "", "", True)
|
||||
self.generate(self.nodes[1], 1)
|
||||
self.sync_all()
|
||||
|
||||
for _ in range(20):
|
||||
self.nodes[0].sendtoaddress(self.nodes[1].getnewaddress(), 0.01)
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
|
||||
# Fund a tx with ~20 small inputs.
|
||||
oldBalance = self.nodes[0].getbalance()
|
||||
|
@ -682,7 +672,6 @@ class RawTransactionsTest(BitcoinTestFramework):
|
|||
fundedAndSignedTx = self.nodes[1].signrawtransactionwithwallet(fundedTx['hex'])
|
||||
self.nodes[1].sendrawtransaction(fundedAndSignedTx['hex'])
|
||||
self.generate(self.nodes[1], 1)
|
||||
self.sync_all()
|
||||
assert_equal(oldBalance+Decimal('50.19000000'), self.nodes[0].getbalance()) #0.19+block reward
|
||||
|
||||
def test_op_return(self):
|
||||
|
@ -760,7 +749,6 @@ class RawTransactionsTest(BitcoinTestFramework):
|
|||
assert signedtx["complete"]
|
||||
self.nodes[0].sendrawtransaction(signedtx["hex"])
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
|
||||
wwatch.unloadwallet()
|
||||
|
||||
|
@ -1012,7 +1000,6 @@ class RawTransactionsTest(BitcoinTestFramework):
|
|||
self.nodes[0].sendtoaddress(addr, 10)
|
||||
self.nodes[0].sendtoaddress(wallet.getnewaddress(), 10)
|
||||
self.generate(self.nodes[0], 6)
|
||||
self.sync_all()
|
||||
ext_utxo = self.nodes[0].listunspent(addresses=[addr])[0]
|
||||
|
||||
# An external input without solving data should result in an error
|
||||
|
@ -1143,7 +1130,6 @@ class RawTransactionsTest(BitcoinTestFramework):
|
|||
addr = w.getnewaddress(address_type="bech32")
|
||||
self.nodes[0].sendtoaddress(addr, 1)
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
|
||||
# A P2WPKH input costs 68 vbytes; With a single P2WPKH output, the rest of the tx is 42 vbytes for a total of 110 vbytes.
|
||||
# At a feerate of 1.85 sat/vb, the input will need a fee of 125.8 sats and the rest 77.7 sats
|
||||
|
|
|
@ -48,7 +48,6 @@ class GetblockstatsTest(BitcoinTestFramework):
|
|||
address = self.nodes[0].get_deterministic_priv_key().address
|
||||
self.nodes[0].sendtoaddress(address=address, amount=10, subtractfeefromamount=True)
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
|
||||
self.nodes[0].sendtoaddress(address=address, amount=10, subtractfeefromamount=True)
|
||||
self.nodes[0].sendtoaddress(address=address, amount=10, subtractfeefromamount=False)
|
||||
|
|
|
@ -81,7 +81,6 @@ class NetTest(BitcoinTestFramework):
|
|||
# Create a few getpeerinfo last_block/last_transaction values.
|
||||
self.wallet.send_self_transfer(from_node=self.nodes[0]) # Make a transaction so we can see it in the getpeerinfo results
|
||||
self.generate(self.nodes[1], 1)
|
||||
self.sync_all()
|
||||
time_now = int(time.time())
|
||||
peer_info = [x.getpeerinfo() for x in self.nodes]
|
||||
# Verify last_block and last_transaction keys/values.
|
||||
|
|
|
@ -61,7 +61,6 @@ class PSBTTest(BitcoinTestFramework):
|
|||
wonline.importaddress(offline_addr, "", False)
|
||||
mining_node.sendtoaddress(address=offline_addr, amount=1.0)
|
||||
self.generate(mining_node, nblocks=1)
|
||||
self.sync_blocks([mining_node, online_node])
|
||||
|
||||
# Construct an unsigned PSBT on the online node (who doesn't know the output is Segwit, so will include a non-witness UTXO)
|
||||
utxos = wonline.listunspent(addresses=[offline_addr])
|
||||
|
@ -76,7 +75,6 @@ class PSBTTest(BitcoinTestFramework):
|
|||
# Make sure we can mine the resulting transaction
|
||||
txid = mining_node.sendrawtransaction(mining_node.finalizepsbt(signed_psbt)["hex"])
|
||||
self.generate(mining_node, 1)
|
||||
self.sync_blocks([mining_node, online_node])
|
||||
assert_equal(online_node.gettxout(txid,0)["confirmations"], 1)
|
||||
|
||||
wonline.unloadwallet()
|
||||
|
@ -162,7 +160,6 @@ class PSBTTest(BitcoinTestFramework):
|
|||
signed_tx = self.nodes[0].signrawtransactionwithwallet(rawtx['hex'])['hex']
|
||||
txid = self.nodes[0].sendrawtransaction(signed_tx)
|
||||
self.generate(self.nodes[0], 6)
|
||||
self.sync_all()
|
||||
|
||||
# Find the output pos
|
||||
p2sh_pos = -1
|
||||
|
@ -321,7 +318,6 @@ class PSBTTest(BitcoinTestFramework):
|
|||
txid1 = self.nodes[0].sendtoaddress(node1_addr, 13)
|
||||
txid2 = self.nodes[0].sendtoaddress(node2_addr, 13)
|
||||
blockhash = self.generate(self.nodes[0], 6)[0]
|
||||
self.sync_all()
|
||||
vout1 = find_output(self.nodes[1], txid1, 13, blockhash=blockhash)
|
||||
vout2 = find_output(self.nodes[2], txid2, 13, blockhash=blockhash)
|
||||
|
||||
|
@ -349,7 +345,6 @@ class PSBTTest(BitcoinTestFramework):
|
|||
finalized = self.nodes[0].finalizepsbt(combined)['hex']
|
||||
self.nodes[0].sendrawtransaction(finalized)
|
||||
self.generate(self.nodes[0], 6)
|
||||
self.sync_all()
|
||||
|
||||
# Test additional args in walletcreatepsbt
|
||||
# Make sure both pre-included and funded inputs
|
||||
|
@ -544,7 +539,6 @@ class PSBTTest(BitcoinTestFramework):
|
|||
txid4 = self.nodes[0].sendtoaddress(addr4, 5)
|
||||
vout4 = find_output(self.nodes[0], txid4, 5)
|
||||
self.generate(self.nodes[0], 6)
|
||||
self.sync_all()
|
||||
psbt2 = self.nodes[1].createpsbt([{"txid":txid4, "vout":vout4}], {self.nodes[0].getnewaddress():Decimal('4.999')})
|
||||
psbt2 = self.nodes[1].walletprocesspsbt(psbt2)['psbt']
|
||||
psbt2_decoded = self.nodes[0].decodepsbt(psbt2)
|
||||
|
@ -568,7 +562,6 @@ class PSBTTest(BitcoinTestFramework):
|
|||
txid = self.nodes[0].sendtoaddress(addr, 7)
|
||||
addrinfo = self.nodes[1].getaddressinfo(addr)
|
||||
blockhash = self.generate(self.nodes[0], 6)[0]
|
||||
self.sync_all()
|
||||
vout = find_output(self.nodes[0], txid, 7, blockhash=blockhash)
|
||||
psbt = self.nodes[1].createpsbt([{"txid":txid, "vout":vout}], {self.nodes[0].getnewaddress("", "p2sh-segwit"):Decimal('6.999')})
|
||||
analyzed = self.nodes[0].analyzepsbt(psbt)
|
||||
|
@ -628,7 +621,6 @@ class PSBTTest(BitcoinTestFramework):
|
|||
|
||||
self.nodes[0].sendtoaddress(addr, 10)
|
||||
self.generate(self.nodes[0], 6)
|
||||
self.sync_all()
|
||||
ext_utxo = self.nodes[0].listunspent(addresses=[addr])[0]
|
||||
|
||||
# An external input without solving data should result in an error
|
||||
|
|
|
@ -75,14 +75,11 @@ class RawTransactionsTest(BitcoinTestFramework):
|
|||
def run_test(self):
|
||||
self.log.info("Prepare some coins for multiple *rawtransaction commands")
|
||||
self.generate(self.nodes[2], 1)
|
||||
self.sync_all()
|
||||
self.generate(self.nodes[0], COINBASE_MATURITY + 1)
|
||||
self.sync_all()
|
||||
for amount in [1.5, 1.0, 5.0]:
|
||||
self.nodes[0].sendtoaddress(self.nodes[2].getnewaddress(), amount)
|
||||
self.sync_all()
|
||||
self.generate(self.nodes[0], 5)
|
||||
self.sync_all()
|
||||
|
||||
self.getrawtransaction_tests()
|
||||
self.createrawtransaction_tests()
|
||||
|
@ -98,13 +95,11 @@ class RawTransactionsTest(BitcoinTestFramework):
|
|||
addr = self.nodes[1].getnewaddress()
|
||||
txid = self.nodes[0].sendtoaddress(addr, 10)
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
vout = find_vout_for_address(self.nodes[1], txid, addr)
|
||||
rawTx = self.nodes[1].createrawtransaction([{'txid': txid, 'vout': vout}], {self.nodes[1].getnewaddress(): 9.999})
|
||||
rawTxSigned = self.nodes[1].signrawtransactionwithwallet(rawTx)
|
||||
txId = self.nodes[1].sendrawtransaction(rawTxSigned['hex'])
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
|
||||
for n in [0, 3]:
|
||||
self.log.info(f"Test getrawtransaction {'with' if n == 0 else 'without'} -txindex")
|
||||
|
@ -137,7 +132,6 @@ class RawTransactionsTest(BitcoinTestFramework):
|
|||
# Make a tx by sending, then generate 2 blocks; block1 has the tx in it
|
||||
tx = self.nodes[2].sendtoaddress(self.nodes[1].getnewaddress(), 1)
|
||||
block1, block2 = self.generate(self.nodes[2], 2)
|
||||
self.sync_all()
|
||||
for n in [0, 3]:
|
||||
self.log.info(f"Test getrawtransaction {'with' if n == 0 else 'without'} -txindex, with blockhash")
|
||||
# We should be able to get the raw transaction by providing the correct block
|
||||
|
@ -369,7 +363,6 @@ class RawTransactionsTest(BitcoinTestFramework):
|
|||
|
||||
self.log.info("Test sendrawtransaction/testmempoolaccept with tx already in the chain")
|
||||
self.generate(self.nodes[2], 1)
|
||||
self.sync_blocks()
|
||||
for node in self.nodes:
|
||||
testres = node.testmempoolaccept([rawTxSigned['hex']])[0]
|
||||
assert_equal(testres['allowed'], False)
|
||||
|
@ -443,7 +436,6 @@ class RawTransactionsTest(BitcoinTestFramework):
|
|||
txId = self.nodes[0].sendtoaddress(mSigObj, 1.2)
|
||||
self.sync_all()
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
# node2 has both keys of the 2of2 ms addr, tx should affect the balance
|
||||
assert_equal(self.nodes[2].getbalance(), bal + Decimal('1.20000000'))
|
||||
|
||||
|
@ -465,7 +457,6 @@ class RawTransactionsTest(BitcoinTestFramework):
|
|||
rawTx = self.nodes[0].decoderawtransaction(decTx['hex'])
|
||||
self.sync_all()
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
|
||||
# THIS IS AN INCOMPLETE FEATURE
|
||||
# NODE2 HAS TWO OF THREE KEYS AND THE FUNDS SHOULD BE SPENDABLE AND COUNT AT BALANCE CALCULATION
|
||||
|
@ -488,7 +479,6 @@ class RawTransactionsTest(BitcoinTestFramework):
|
|||
rawTx = self.nodes[0].decoderawtransaction(rawTxSigned['hex'])
|
||||
self.sync_all()
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
assert_equal(self.nodes[0].getbalance(), bal + Decimal('50.00000000') + Decimal('2.19000000')) # block reward + tx
|
||||
|
||||
# 2of2 test for combining transactions
|
||||
|
@ -508,7 +498,6 @@ class RawTransactionsTest(BitcoinTestFramework):
|
|||
rawTx2 = self.nodes[0].decoderawtransaction(decTx['hex'])
|
||||
self.sync_all()
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
|
||||
assert_equal(self.nodes[2].getbalance(), bal) # the funds of a 2of2 multisig tx should not be marked as spendable
|
||||
|
||||
|
@ -533,7 +522,6 @@ class RawTransactionsTest(BitcoinTestFramework):
|
|||
rawTx2 = self.nodes[0].decoderawtransaction(rawTxComb)
|
||||
self.sync_all()
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
assert_equal(self.nodes[0].getbalance(), bal + Decimal('50.00000000') + Decimal('2.19000000')) # block reward + tx
|
||||
|
||||
|
||||
|
|
|
@ -203,7 +203,6 @@ class SignRawTransactionsTest(BitcoinTestFramework):
|
|||
self.generate(self.nodes[0], COINBASE_MATURITY + 1)
|
||||
self.nodes[0].sendtoaddress(p2sh_p2wsh_address["address"], 49.999)
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
# Get the UTXO info from scantxoutset
|
||||
unspent_output = self.nodes[1].scantxoutset('start', [p2sh_p2wsh_address['descriptor']])['unspents'][0]
|
||||
spk = script_to_p2sh_p2wsh_script(p2sh_p2wsh_address['redeemScript']).hex()
|
||||
|
|
|
@ -31,7 +31,6 @@ class MerkleBlockTest(BitcoinTestFramework):
|
|||
# Add enough mature utxos to the wallet, so that all txs spend confirmed coins
|
||||
self.generate(miniwallet, 5)
|
||||
self.generate(self.nodes[0], COINBASE_MATURITY)
|
||||
self.sync_all()
|
||||
|
||||
chain_height = self.nodes[1].getblockcount()
|
||||
assert_equal(chain_height, 105)
|
||||
|
@ -57,7 +56,6 @@ class MerkleBlockTest(BitcoinTestFramework):
|
|||
tx3 = miniwallet.send_self_transfer(from_node=self.nodes[0], utxo_to_spend=txin_spent)
|
||||
txid3 = tx3['txid']
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
|
||||
txid_spent = txin_spent["txid"]
|
||||
txid_unspent = txid1 # Input was change from txid2, so txid1 should be unspent
|
||||
|
|
|
@ -30,7 +30,6 @@ class AbandonConflictTest(BitcoinTestFramework):
|
|||
|
||||
def run_test(self):
|
||||
self.generate(self.nodes[1], COINBASE_MATURITY)
|
||||
self.sync_blocks()
|
||||
balance = self.nodes[0].getbalance()
|
||||
txA = self.nodes[0].sendtoaddress(self.nodes[0].getnewaddress(), Decimal("10"))
|
||||
txB = self.nodes[0].sendtoaddress(self.nodes[0].getnewaddress(), Decimal("10"))
|
||||
|
|
|
@ -221,7 +221,6 @@ class AddressTypeTest(BitcoinTestFramework):
|
|||
# Mine 101 blocks on node5 to bring nodes out of IBD and make sure that
|
||||
# no coinbases are maturing for the nodes-under-test during the test
|
||||
self.generate(self.nodes[5], COINBASE_MATURITY + 1)
|
||||
self.sync_blocks()
|
||||
|
||||
uncompressed_1 = "0496b538e853519c726a2c91e61ec11600ae1390813a627c66fb8be7947be63c52da7589379515d4e0a604f8141781e62294721166bf621e73a82cbf2342c858ee"
|
||||
uncompressed_2 = "047211a824f55b505228e4c3d5194c1fcfaa15a456abdf37f9b9d97a4040afc073dee6c89064984f03385237d92167c13e236446b417ab79a0fcae412ae3316b77"
|
||||
|
@ -306,7 +305,6 @@ class AddressTypeTest(BitcoinTestFramework):
|
|||
|
||||
# node5 collects fee and block subsidy to keep accounting simple
|
||||
self.generate(self.nodes[5], 1)
|
||||
self.sync_blocks()
|
||||
|
||||
# Verify that the receiving wallet contains a UTXO with the expected address, and expected descriptor
|
||||
for n, to_node in enumerate(range(from_node, from_node + 4)):
|
||||
|
@ -336,7 +334,6 @@ class AddressTypeTest(BitcoinTestFramework):
|
|||
# Fund node 4:
|
||||
self.nodes[5].sendtoaddress(self.nodes[4].getnewaddress(), Decimal("1"))
|
||||
self.generate(self.nodes[5], 1)
|
||||
self.sync_blocks()
|
||||
assert_equal(self.nodes[4].getbalance(), 1)
|
||||
|
||||
self.log.info("Nodes with addresstype=legacy never use a P2WPKH change output (unless changetype is set otherwise):")
|
||||
|
|
|
@ -80,7 +80,6 @@ class AvoidReuseTest(BitcoinTestFramework):
|
|||
self.test_immutable()
|
||||
|
||||
self.generate(self.nodes[0], 110)
|
||||
self.sync_all()
|
||||
self.test_change_remains_change(self.nodes[1])
|
||||
reset_balance(self.nodes[1], self.nodes[0].getnewaddress())
|
||||
self.test_sending_from_reused_address_without_avoid_reuse()
|
||||
|
@ -175,7 +174,6 @@ class AvoidReuseTest(BitcoinTestFramework):
|
|||
|
||||
self.nodes[0].sendtoaddress(fundaddr, 10)
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
|
||||
# listunspent should show 1 single, unused 10 btc output
|
||||
assert_unspent(self.nodes[1], total_count=1, total_sum=10, reused_supported=True, reused_count=0)
|
||||
|
@ -186,7 +184,6 @@ class AvoidReuseTest(BitcoinTestFramework):
|
|||
|
||||
self.nodes[1].sendtoaddress(retaddr, 5)
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
|
||||
# listunspent should show 1 single, unused 5 btc output
|
||||
assert_unspent(self.nodes[1], total_count=1, total_sum=5, reused_supported=True, reused_count=0)
|
||||
|
@ -195,7 +192,6 @@ class AvoidReuseTest(BitcoinTestFramework):
|
|||
|
||||
self.nodes[0].sendtoaddress(fundaddr, 10)
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
|
||||
# listunspent should show 2 total outputs (5, 10 btc), one unused (5), one reused (10)
|
||||
assert_unspent(self.nodes[1], total_count=2, total_sum=15, reused_count=1, reused_sum=10)
|
||||
|
@ -229,7 +225,6 @@ class AvoidReuseTest(BitcoinTestFramework):
|
|||
|
||||
self.nodes[0].sendtoaddress(fundaddr, 10)
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
|
||||
# listunspent should show 1 single, unused 10 btc output
|
||||
assert_unspent(self.nodes[1], total_count=1, total_sum=10, reused_supported=True, reused_count=0)
|
||||
|
@ -238,7 +233,6 @@ class AvoidReuseTest(BitcoinTestFramework):
|
|||
|
||||
self.nodes[1].sendtoaddress(retaddr, 5)
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
|
||||
# listunspent should show 1 single, unused 5 btc output
|
||||
assert_unspent(self.nodes[1], total_count=1, total_sum=5, reused_supported=True, reused_count=0)
|
||||
|
@ -260,7 +254,6 @@ class AvoidReuseTest(BitcoinTestFramework):
|
|||
|
||||
self.nodes[0].sendtoaddress(new_fundaddr, 10)
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
|
||||
# listunspent should show 2 total outputs (5, 10 btc), one unused (5), one reused (10)
|
||||
assert_unspent(self.nodes[1], total_count=2, total_sum=15, reused_count=1, reused_sum=10)
|
||||
|
@ -303,7 +296,6 @@ class AvoidReuseTest(BitcoinTestFramework):
|
|||
self.nodes[0].sendtoaddress(new_addr, 1)
|
||||
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
|
||||
# send transaction that should not use all the available outputs
|
||||
# per the current coin selection algorithm
|
||||
|
@ -335,7 +327,6 @@ class AvoidReuseTest(BitcoinTestFramework):
|
|||
self.nodes[0].sendtoaddress(new_addr, 1)
|
||||
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
|
||||
# Sending a transaction that is smaller than each one of the
|
||||
# available outputs
|
||||
|
@ -364,7 +355,6 @@ class AvoidReuseTest(BitcoinTestFramework):
|
|||
self.nodes[0].sendtoaddress(new_addr, 1)
|
||||
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
|
||||
# Sending a transaction that needs to use the full groups
|
||||
# of 100 inputs but also the incomplete group of 2 inputs.
|
||||
|
|
|
@ -89,7 +89,6 @@ class WalletBackupTest(BitcoinTestFramework):
|
|||
# Must sync mempools before mining.
|
||||
self.sync_mempools()
|
||||
self.generate(self.nodes[3], 1)
|
||||
self.sync_blocks()
|
||||
|
||||
# As above, this mirrors the original bash test.
|
||||
def start_three(self, args=()):
|
||||
|
@ -131,13 +130,9 @@ class WalletBackupTest(BitcoinTestFramework):
|
|||
def run_test(self):
|
||||
self.log.info("Generating initial blockchain")
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_blocks()
|
||||
self.generate(self.nodes[1], 1)
|
||||
self.sync_blocks()
|
||||
self.generate(self.nodes[2], 1)
|
||||
self.sync_blocks()
|
||||
self.generate(self.nodes[3], COINBASE_MATURITY)
|
||||
self.sync_blocks()
|
||||
|
||||
assert_equal(self.nodes[0].getbalance(), 50)
|
||||
assert_equal(self.nodes[1].getbalance(), 50)
|
||||
|
@ -166,7 +161,6 @@ class WalletBackupTest(BitcoinTestFramework):
|
|||
|
||||
# Generate 101 more blocks, so any fees paid mature
|
||||
self.generate(self.nodes[3], COINBASE_MATURITY + 1)
|
||||
self.sync_all()
|
||||
|
||||
balance0 = self.nodes[0].getbalance()
|
||||
balance1 = self.nodes[1].getbalance()
|
||||
|
|
|
@ -71,10 +71,8 @@ class WalletTest(BitcoinTestFramework):
|
|||
|
||||
self.log.info("Mining blocks ...")
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
self.generate(self.nodes[1], 1)
|
||||
self.generatetoaddress(self.nodes[1], COINBASE_MATURITY + 1, ADDRESS_WATCHONLY)
|
||||
self.sync_all()
|
||||
|
||||
if not self.options.descriptors:
|
||||
# Tests legacy watchonly behavior which is not present (and does not need to be tested) in descriptor wallets
|
||||
|
@ -197,7 +195,6 @@ class WalletTest(BitcoinTestFramework):
|
|||
test_balances(fee_node_1=Decimal('0.02'))
|
||||
|
||||
self.generatetoaddress(self.nodes[1], 1, ADDRESS_WATCHONLY)
|
||||
self.sync_all()
|
||||
|
||||
# balances are correct after the transactions are confirmed
|
||||
balance_node0 = Decimal('69.99') # node 1's send plus change from node 0's send
|
||||
|
@ -211,7 +208,6 @@ class WalletTest(BitcoinTestFramework):
|
|||
txs = create_transactions(self.nodes[1], self.nodes[0].getnewaddress(), Decimal('29.97'), [Decimal('0.01')])
|
||||
self.nodes[1].sendrawtransaction(txs[0]['hex'])
|
||||
self.generatetoaddress(self.nodes[1], 2, ADDRESS_WATCHONLY)
|
||||
self.sync_all()
|
||||
|
||||
# getbalance with a minconf incorrectly excludes coins that have been spent more recently than the minconf blocks ago
|
||||
# TODO: fix getbalance tracking of coin spentness depth
|
||||
|
@ -258,7 +254,6 @@ class WalletTest(BitcoinTestFramework):
|
|||
|
||||
# Now confirm tx_replace
|
||||
block_reorg = self.generatetoaddress(self.nodes[1], 1, ADDRESS_WATCHONLY)[0]
|
||||
self.sync_all()
|
||||
assert_equal(self.nodes[0].getbalance(minconf=0), total_amount)
|
||||
|
||||
self.log.info('Put txs back into mempool of node 1 (not node 0)')
|
||||
|
@ -274,7 +269,6 @@ class WalletTest(BitcoinTestFramework):
|
|||
self.sync_blocks()
|
||||
self.nodes[1].sendrawtransaction(tx_orig)
|
||||
self.generatetoaddress(self.nodes[1], 1, ADDRESS_WATCHONLY)
|
||||
self.sync_all()
|
||||
assert_equal(self.nodes[0].getbalance(minconf=0), total_amount + 1) # The reorg recovered our fee of 1 coin
|
||||
|
||||
|
||||
|
|
|
@ -342,7 +342,6 @@ class WalletTest(BitcoinTestFramework):
|
|||
|
||||
self.sync_all()
|
||||
self.generate(self.nodes[1], 1) # mine a block
|
||||
self.sync_all()
|
||||
|
||||
unspent_txs = self.nodes[0].listunspent() # zero value tx must be in listunspents output
|
||||
found = False
|
||||
|
|
|
@ -62,7 +62,6 @@ class BumpFeeTest(BitcoinTestFramework):
|
|||
def clear_mempool(self):
|
||||
# Clear mempool between subtests. The subtests may only depend on chainstate (utxos)
|
||||
self.generate(self.nodes[1], 1)
|
||||
self.sync_all()
|
||||
|
||||
def run_test(self):
|
||||
# Encrypt wallet for test_locked_wallet_fails test
|
||||
|
@ -75,12 +74,10 @@ class BumpFeeTest(BitcoinTestFramework):
|
|||
# fund rbf node with 10 coins of 0.001 btc (100,000 satoshis)
|
||||
self.log.info("Mining blocks...")
|
||||
self.generate(peer_node, 110)
|
||||
self.sync_all()
|
||||
for _ in range(25):
|
||||
peer_node.sendtoaddress(rbf_node_address, 0.001)
|
||||
self.sync_all()
|
||||
self.generate(peer_node, 1)
|
||||
self.sync_all()
|
||||
assert_equal(rbf_node.getbalance(), Decimal("0.025"))
|
||||
|
||||
self.log.info("Running tests")
|
||||
|
@ -444,7 +441,6 @@ def test_watchonly_psbt(self, peer_node, rbf_node, dest_address):
|
|||
funding_address2 = watcher.getnewaddress(address_type='bech32')
|
||||
peer_node.sendmany("", {funding_address1: 0.001, funding_address2: 0.001})
|
||||
self.generate(peer_node, 1)
|
||||
self.sync_all()
|
||||
|
||||
# Create single-input PSBT for transaction to be bumped
|
||||
psbt = watcher.walletcreatefundedpsbt([], {dest_address: 0.0005}, 0, {"fee_rate": 1}, True)['psbt']
|
||||
|
|
|
@ -46,7 +46,6 @@ class WalletGroupTest(BitcoinTestFramework):
|
|||
[self.nodes[0].sendtoaddress(addr, 0.5) for addr in addrs]
|
||||
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
|
||||
# For each node, send 0.2 coins back to 0;
|
||||
# - node[1] should pick one 0.5 UTXO and leave the rest
|
||||
|
@ -114,7 +113,6 @@ class WalletGroupTest(BitcoinTestFramework):
|
|||
self.nodes[0].sendtoaddress(addr_aps, 1.0)
|
||||
self.nodes[0].sendtoaddress(addr_aps, 1.0)
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
with self.nodes[3].assert_debug_log(['Fee non-grouped = 2820, grouped = 4160, using grouped']):
|
||||
txid4 = self.nodes[3].sendtoaddress(self.nodes[0].getnewaddress(), 0.1)
|
||||
tx4 = self.nodes[3].getrawtransaction(txid4, True)
|
||||
|
@ -126,7 +124,6 @@ class WalletGroupTest(BitcoinTestFramework):
|
|||
addr_aps2 = self.nodes[3].getnewaddress()
|
||||
[self.nodes[0].sendtoaddress(addr_aps2, 1.0) for _ in range(5)]
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
with self.nodes[3].assert_debug_log(['Fee non-grouped = 5520, grouped = 8240, using non-grouped']):
|
||||
txid5 = self.nodes[3].sendtoaddress(self.nodes[0].getnewaddress(), 2.95)
|
||||
tx5 = self.nodes[3].getrawtransaction(txid5, True)
|
||||
|
@ -140,7 +137,6 @@ class WalletGroupTest(BitcoinTestFramework):
|
|||
addr_aps3 = self.nodes[4].getnewaddress()
|
||||
[self.nodes[0].sendtoaddress(addr_aps3, 1.0) for _ in range(5)]
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
with self.nodes[4].assert_debug_log(['Fee non-grouped = 5520, grouped = 8240, using grouped']):
|
||||
txid6 = self.nodes[4].sendtoaddress(self.nodes[0].getnewaddress(), 2.95)
|
||||
tx6 = self.nodes[4].getrawtransaction(txid6, True)
|
||||
|
@ -163,7 +159,6 @@ class WalletGroupTest(BitcoinTestFramework):
|
|||
signed_tx = self.nodes[0].signrawtransactionwithwallet(funded_tx['hex'])
|
||||
self.nodes[0].sendrawtransaction(signed_tx['hex'])
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
|
||||
# Check that we can create a transaction that only requires ~100 of our
|
||||
# utxos, without pulling in all outputs and creating a transaction that
|
||||
|
|
|
@ -229,7 +229,6 @@ class WalletHDTest(BitcoinTestFramework):
|
|||
txid = self.nodes[0].sendtoaddress(addr, 1)
|
||||
origin_rpc.sendrawtransaction(self.nodes[0].gettransaction(txid)['hex'])
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_blocks()
|
||||
origin_rpc.gettransaction(txid)
|
||||
assert_raises_rpc_error(-5, 'Invalid or non-wallet transaction id', restore_rpc.gettransaction, txid)
|
||||
out_of_kp_txid = txid
|
||||
|
@ -240,7 +239,6 @@ class WalletHDTest(BitcoinTestFramework):
|
|||
txid = self.nodes[0].sendtoaddress(last_addr, 1)
|
||||
origin_rpc.sendrawtransaction(self.nodes[0].gettransaction(txid)['hex'])
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_blocks()
|
||||
origin_rpc.gettransaction(txid)
|
||||
restore_rpc.gettransaction(txid)
|
||||
assert_raises_rpc_error(-5, 'Invalid or non-wallet transaction id', restore_rpc.gettransaction, out_of_kp_txid)
|
||||
|
|
|
@ -189,7 +189,6 @@ class ImportRescanTest(BitcoinTestFramework):
|
|||
self.nodes[0].getblockheader(self.nodes[0].getbestblockhash())["time"] + TIMESTAMP_WINDOW + 1,
|
||||
)
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
|
||||
# For each variation of wallet key import, invoke the import RPC and
|
||||
# check the results from getbalance and listtransactions.
|
||||
|
|
|
@ -406,7 +406,6 @@ class ImportDescriptorsTest(BitcoinTestFramework):
|
|||
ismine=True)
|
||||
txid = w0.sendtoaddress(address, 49.99995540)
|
||||
self.generatetoaddress(self.nodes[0], 6, w0.getnewaddress())
|
||||
self.sync_blocks()
|
||||
tx = wpriv.createrawtransaction([{"txid": txid, "vout": 0}], {w0.getnewaddress(): 49.999})
|
||||
signed_tx = wpriv.signrawtransactionwithwallet(tx)
|
||||
w1.sendrawtransaction(signed_tx['hex'])
|
||||
|
@ -452,12 +451,10 @@ class ImportDescriptorsTest(BitcoinTestFramework):
|
|||
assert_equal(wmulti_priv.getwalletinfo()['keypoolsize'], 1000)
|
||||
txid = w0.sendtoaddress(addr, 10)
|
||||
self.generate(self.nodes[0], 6)
|
||||
self.sync_all()
|
||||
send_txid = wmulti_priv.sendtoaddress(w0.getnewaddress(), 8)
|
||||
decoded = wmulti_priv.gettransaction(txid=send_txid, verbose=True)['decoded']
|
||||
assert_equal(len(decoded['vin'][0]['txinwitness']), 4)
|
||||
self.generate(self.nodes[0], 6)
|
||||
self.sync_all()
|
||||
|
||||
self.nodes[1].createwallet(wallet_name="wmulti_pub", disable_private_keys=True, blank=True, descriptors=True)
|
||||
wmulti_pub = self.nodes[1].get_wallet_rpc("wmulti_pub")
|
||||
|
@ -495,7 +492,6 @@ class ImportDescriptorsTest(BitcoinTestFramework):
|
|||
vout2 = find_vout_for_address(self.nodes[0], txid2, addr2)
|
||||
|
||||
self.generate(self.nodes[0], 6)
|
||||
self.sync_all()
|
||||
assert_equal(wmulti_pub.getbalance(), wmulti_priv.getbalance())
|
||||
|
||||
# Make sure that descriptor wallets containing multiple xpubs in a single descriptor load correctly
|
||||
|
@ -583,7 +579,6 @@ class ImportDescriptorsTest(BitcoinTestFramework):
|
|||
addr = wmulti_priv_big.getnewaddress()
|
||||
w0.sendtoaddress(addr, 10)
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
# It is standard and would relay.
|
||||
txid = wmulti_priv_big.sendtoaddress(w0.getnewaddress(), 9.999)
|
||||
decoded = wmulti_priv_big.gettransaction(txid=txid, verbose=True)['decoded']
|
||||
|
@ -618,7 +613,6 @@ class ImportDescriptorsTest(BitcoinTestFramework):
|
|||
addr = multi_priv_big.getnewaddress("", "legacy")
|
||||
w0.sendtoaddress(addr, 10)
|
||||
self.generate(self.nodes[0], 6)
|
||||
self.sync_all()
|
||||
# It is standard and would relay.
|
||||
txid = multi_priv_big.sendtoaddress(w0.getnewaddress(), 10, "", "", True)
|
||||
decoded = multi_priv_big.gettransaction(txid=txid, verbose=True)['decoded']
|
||||
|
|
|
@ -27,8 +27,6 @@ class ImportPrunedFundsTest(BitcoinTestFramework):
|
|||
self.log.info("Mining blocks...")
|
||||
self.generate(self.nodes[0], COINBASE_MATURITY + 1)
|
||||
|
||||
self.sync_all()
|
||||
|
||||
# address
|
||||
address1 = self.nodes[0].getnewaddress()
|
||||
# pubkey
|
||||
|
|
|
@ -66,7 +66,6 @@ class KeypoolRestoreTest(BitcoinTestFramework):
|
|||
self.generate(self.nodes[0], 1)
|
||||
self.nodes[0].sendtoaddress(addr_extpool, 5)
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_blocks()
|
||||
|
||||
self.log.info("Restart node with wallet backup")
|
||||
self.stop_node(idx)
|
||||
|
|
|
@ -25,7 +25,6 @@ class ReceivedByTest(BitcoinTestFramework):
|
|||
def run_test(self):
|
||||
# Generate block to get out of IBD
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_blocks()
|
||||
|
||||
# save the number of coinbase reward addresses so far
|
||||
num_cb_reward_addresses = len(self.nodes[1].listreceivedbyaddress(minconf=0, include_empty=True, include_watchonly=True))
|
||||
|
@ -44,7 +43,6 @@ class ReceivedByTest(BitcoinTestFramework):
|
|||
True)
|
||||
# Bury Tx under 10 block so it will be returned by listreceivedbyaddress
|
||||
self.generate(self.nodes[1], 10)
|
||||
self.sync_all()
|
||||
assert_array_result(self.nodes[1].listreceivedbyaddress(),
|
||||
{"address": addr},
|
||||
{"address": addr, "label": "", "amount": Decimal("0.1"), "confirmations": 10, "txids": [txid, ]})
|
||||
|
@ -79,7 +77,6 @@ class ReceivedByTest(BitcoinTestFramework):
|
|||
other_addr = self.nodes[1].getnewaddress()
|
||||
txid2 = self.nodes[0].sendtoaddress(other_addr, 0.1)
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
# Same test as above should still pass
|
||||
expected = {"address": addr, "label": "", "amount": Decimal("0.1"), "confirmations": 11, "txids": [txid, ]}
|
||||
res = self.nodes[1].listreceivedbyaddress(0, True, True, addr)
|
||||
|
@ -116,7 +113,6 @@ class ReceivedByTest(BitcoinTestFramework):
|
|||
|
||||
# Bury Tx under 10 block so it will be returned by the default getreceivedbyaddress
|
||||
self.generate(self.nodes[1], 10)
|
||||
self.sync_all()
|
||||
balance = self.nodes[1].getreceivedbyaddress(addr)
|
||||
assert_equal(balance, Decimal("0.1"))
|
||||
|
||||
|
@ -145,7 +141,6 @@ class ReceivedByTest(BitcoinTestFramework):
|
|||
assert_equal(balance, balance_by_label)
|
||||
|
||||
self.generate(self.nodes[1], 10)
|
||||
self.sync_all()
|
||||
# listreceivedbylabel should return updated received list
|
||||
assert_array_result(self.nodes[1].listreceivedbylabel(),
|
||||
{"label": label},
|
||||
|
|
|
@ -31,7 +31,6 @@ class ListSinceBlockTest(BitcoinTestFramework):
|
|||
# only one connection. (See fPreferredDownload in net_processing)
|
||||
self.connect_nodes(1, 2)
|
||||
self.generate(self.nodes[2], COINBASE_MATURITY + 1)
|
||||
self.sync_all()
|
||||
|
||||
self.test_no_blockhash()
|
||||
self.test_invalid_blockhash()
|
||||
|
@ -198,7 +197,6 @@ class ListSinceBlockTest(BitcoinTestFramework):
|
|||
address = key_to_p2wpkh(eckey.get_pubkey().get_bytes())
|
||||
self.nodes[2].sendtoaddress(address, 10)
|
||||
self.generate(self.nodes[2], 6)
|
||||
self.sync_all()
|
||||
self.nodes[2].importprivkey(privkey)
|
||||
utxos = self.nodes[2].listunspent()
|
||||
utxo = [u for u in utxos if u["address"] == address][0]
|
||||
|
|
|
@ -94,7 +94,6 @@ class ListTransactionsTest(BitcoinTestFramework):
|
|||
self.nodes[0].importaddress(multisig["redeemScript"], "watchonly", False, True)
|
||||
txid = self.nodes[1].sendtoaddress(multisig["address"], 0.1)
|
||||
self.generate(self.nodes[1], 1)
|
||||
self.sync_all()
|
||||
assert_equal(len(self.nodes[0].listtransactions(label="watchonly", include_watchonly=True)), 1)
|
||||
assert_equal(len(self.nodes[0].listtransactions(dummy="watchonly", include_watchonly=True)), 1)
|
||||
assert len(self.nodes[0].listtransactions(label="watchonly", count=100, include_watchonly=False)) == 0
|
||||
|
|
|
@ -111,7 +111,6 @@ class WalletMultisigDescriptorPSBTTest(BitcoinTestFramework):
|
|||
self.log.info("Send funds to the resulting multisig receiving address...")
|
||||
coordinator_wallet.sendtoaddress(multisig_receiving_address, deposit_amount)
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
for participant in participants["multisigs"]:
|
||||
assert_approx(participant.getbalance(), deposit_amount, vspan=0.001)
|
||||
|
||||
|
@ -137,7 +136,6 @@ class WalletMultisigDescriptorPSBTTest(BitcoinTestFramework):
|
|||
|
||||
self.log.info("Check that balances are correct after the transaction has been included in a block.")
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
assert_approx(participants["multisigs"][0].getbalance(), deposit_amount - value, vspan=0.001)
|
||||
assert_equal(participants["signers"][self.N - 1].getbalance(), value)
|
||||
|
||||
|
@ -154,7 +152,6 @@ class WalletMultisigDescriptorPSBTTest(BitcoinTestFramework):
|
|||
|
||||
self.log.info("Check that balances are correct after the transaction has been included in a block.")
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
assert_approx(participants["multisigs"][0].getbalance(), deposit_amount - (value * 2), vspan=0.001)
|
||||
assert_equal(participants["signers"][self.N - 1].getbalance(), value * 2)
|
||||
|
||||
|
|
|
@ -26,12 +26,10 @@ class OrphanedBlockRewardTest(BitcoinTestFramework):
|
|||
# it later.
|
||||
self.sync_blocks()
|
||||
blk = self.generate(self.nodes[1], 1)[0]
|
||||
self.sync_blocks()
|
||||
|
||||
# Let the block reward mature and send coins including both
|
||||
# the existing balance and the block reward.
|
||||
self.generate(self.nodes[0], 150)
|
||||
self.sync_blocks()
|
||||
assert_equal(self.nodes[1].getbalance(), 10 + 25)
|
||||
txid = self.nodes[1].sendtoaddress(self.nodes[0].getnewaddress(), 30)
|
||||
|
||||
|
@ -39,7 +37,6 @@ class OrphanedBlockRewardTest(BitcoinTestFramework):
|
|||
# from the wallet can still be spent.
|
||||
self.nodes[0].invalidateblock(blk)
|
||||
self.generate(self.nodes[0], 152)
|
||||
self.sync_blocks()
|
||||
# Without the following abandontransaction call, the coins are
|
||||
# not considered available yet.
|
||||
assert_equal(self.nodes[1].getbalances()["mine"], {
|
||||
|
|
|
@ -33,7 +33,6 @@ class ReorgsRestoreTest(BitcoinTestFramework):
|
|||
# Send a tx from which to conflict outputs later
|
||||
txid_conflict_from = self.nodes[0].sendtoaddress(self.nodes[0].getnewaddress(), Decimal("10"))
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_blocks()
|
||||
|
||||
# Disconnect node1 from others to reorg its chain later
|
||||
self.disconnect_nodes(0, 1)
|
||||
|
|
|
@ -246,7 +246,6 @@ class WalletSendTest(BitcoinTestFramework):
|
|||
|
||||
w0.sendtoaddress(a2_receive, 10) # fund w3
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_blocks()
|
||||
|
||||
if not self.options.descriptors:
|
||||
# w4 has private keys enabled, but only contains watch-only keys (from w2)
|
||||
|
@ -265,7 +264,6 @@ class WalletSendTest(BitcoinTestFramework):
|
|||
|
||||
w0.sendtoaddress(a2_receive, 10) # fund w4
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_blocks()
|
||||
|
||||
self.log.info("Send to address...")
|
||||
self.test_send(from_wallet=w0, to_wallet=w1, amount=1)
|
||||
|
@ -502,7 +500,6 @@ class WalletSendTest(BitcoinTestFramework):
|
|||
self.nodes[0].sendtoaddress(addr, 10)
|
||||
self.nodes[0].sendtoaddress(ext_wallet.getnewaddress(), 10)
|
||||
self.generate(self.nodes[0], 6)
|
||||
self.sync_all()
|
||||
ext_utxo = ext_fund.listunspent(addresses=[addr])[0]
|
||||
|
||||
# An external input without solving data should result in an error
|
||||
|
|
|
@ -112,7 +112,6 @@ class WalletSignerTest(BitcoinTestFramework):
|
|||
self.log.info('Prepare mock PSBT')
|
||||
self.nodes[0].sendtoaddress(address1, 1)
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.sync_all()
|
||||
|
||||
# Load private key into wallet to generate a signed PSBT for the mock
|
||||
self.nodes[1].createwallet(wallet_name="mock", disable_private_keys=False, blank=True, descriptors=True)
|
||||
|
|
|
@ -129,7 +129,6 @@ class TxnMallTest(BitcoinTestFramework):
|
|||
self.nodes[2].sendrawtransaction(node0_tx2["hex"])
|
||||
self.nodes[2].sendrawtransaction(tx2["hex"])
|
||||
self.generate(self.nodes[2], 1) # Mine another block to make sure we sync
|
||||
self.sync_blocks()
|
||||
|
||||
# Re-fetch transaction info:
|
||||
tx1 = self.nodes[0].gettransaction(txid1)
|
||||
|
|
|
@ -124,7 +124,6 @@ class TxnMallTest(BitcoinTestFramework):
|
|||
# Reconnect the split network, and sync chain:
|
||||
self.connect_nodes(1, 2)
|
||||
self.generate(self.nodes[2], 1) # Mine another block to make sure we sync
|
||||
self.sync_blocks()
|
||||
assert_equal(self.nodes[0].gettransaction(doublespend_txid)["confirmations"], 2)
|
||||
|
||||
# Re-fetch transaction info:
|
||||
|
|
Loading…
Reference in a new issue