Skip to content

Commit

Permalink
Merge #10196 via branch 'prioritisetx_gbtcache-0.14' into 0.14.2_fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
luke-jr committed Jun 5, 2017
2 parents 21e1ed4 + 71463a7 commit 74653a4
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 2 deletions.
16 changes: 15 additions & 1 deletion qa/rpc-tests/prioritise_transaction.py
Expand Up @@ -16,7 +16,7 @@ class PrioritiseTransactionTest(BitcoinTestFramework):
def __init__(self):
super().__init__()
self.setup_clean_chain = True
self.num_nodes = 1
self.num_nodes = 2

self.txouts = gen_return_txouts()

Expand All @@ -25,8 +25,11 @@ def setup_network(self):
self.is_network_split = False

self.nodes.append(start_node(0, self.options.tmpdir, ["-debug", "-printpriority=1"]))
self.nodes.append(start_node(1, self.options.tmpdir, ["-debug", "-printpriority=1"]))
connect_nodes(self.nodes[0], 1)
self.relayfee = self.nodes[0].getnetworkinfo()['relayfee']


def run_test(self):
utxo_count = 90
utxos = create_confirmed_utxos(self.relayfee, self.nodes[0], utxo_count)
Expand Down Expand Up @@ -139,5 +142,16 @@ def run_test(self):
assert_equal(self.nodes[0].sendrawtransaction(tx2_hex), tx2_id)
assert(tx2_id in self.nodes[0].getrawmempool())

# Test that calling prioritisetransaction is sufficient to trigger
# getblocktemplate to (eventually) return a new block.
mock_time = int(time.time())
self.nodes[0].setmocktime(mock_time)
template = self.nodes[0].getblocktemplate()
self.nodes[0].prioritisetransaction(txid, 0, -int(self.relayfee*COIN))
self.nodes[0].setmocktime(mock_time+10)
new_template = self.nodes[0].getblocktemplate()

assert(template != new_template)

if __name__ == '__main__':
PrioritiseTransactionTest().main()
1 change: 1 addition & 0 deletions src/txmempool.cpp
Expand Up @@ -945,6 +945,7 @@ void CTxMemPool::PrioritiseTransaction(const uint256 hash, const std::string str
BOOST_FOREACH(txiter descendantIt, setDescendants) {
mapTx.modify(descendantIt, update_ancestor_state(0, nFeeDelta, 0, 0));
}
++nTransactionsUpdated;
}
}
LogPrintf("PrioritiseTransaction: %s priority += %f, fee += %d\n", strHash, dPriorityDelta, FormatMoney(nFeeDelta));
Expand Down
2 changes: 1 addition & 1 deletion src/txmempool.h
Expand Up @@ -432,7 +432,7 @@ class CTxMemPool
{
private:
uint32_t nCheckFrequency; //!< Value n means that n times in 2^32 we check.
unsigned int nTransactionsUpdated;
unsigned int nTransactionsUpdated; //!< Used by getblocktemplate to trigger CreateNewBlock() invocation
CBlockPolicyEstimator* minerPolicyEstimator;

uint64_t totalTxSize; //!< sum of all mempool tx's virtual sizes. Differs from serialized tx size since witness data is discounted. Defined in BIP 141.
Expand Down

0 comments on commit 74653a4

Please sign in to comment.