@@ -45,15 +45,15 @@ def test_replacement(self):
45
45
self .nodes [0 ].prioritisetransaction (tx_replacee ["txid" ], 0 , 100 )
46
46
assert_equal (self .nodes [0 ].getprioritisedtransactions (), { tx_replacee ["txid" ] : { "fee_delta" : 100 , "in_mempool" : False }})
47
47
self .nodes [0 ].sendrawtransaction (tx_replacee ["hex" ])
48
- assert_equal (self .nodes [0 ].getprioritisedtransactions (), { tx_replacee ["txid" ] : { "fee_delta" : 100 , "in_mempool" : True }})
48
+ assert_equal (self .nodes [0 ].getprioritisedtransactions (), { tx_replacee ["txid" ] : { "fee_delta" : 100 , "in_mempool" : True , "modified_fee" : int ( tx_replacee [ "fee" ] * COIN + 100 ) }})
49
49
self .nodes [0 ].sendrawtransaction (tx_replacement ["hex" ])
50
50
assert tx_replacee ["txid" ] not in self .nodes [0 ].getrawmempool ()
51
51
assert_equal (self .nodes [0 ].getprioritisedtransactions (), { tx_replacee ["txid" ] : { "fee_delta" : 100 , "in_mempool" : False }})
52
52
53
53
# PrioritiseTransaction is additive
54
54
self .nodes [0 ].prioritisetransaction (tx_replacee ["txid" ], 0 , COIN )
55
55
self .nodes [0 ].sendrawtransaction (tx_replacee ["hex" ])
56
- assert_equal (self .nodes [0 ].getprioritisedtransactions (), { tx_replacee ["txid" ] : { "fee_delta" : COIN + 100 , "in_mempool" : True }})
56
+ assert_equal (self .nodes [0 ].getprioritisedtransactions (), { tx_replacee ["txid" ] : { "fee_delta" : COIN + 100 , "in_mempool" : True , "modified_fee" : int ( tx_replacee [ "fee" ] * COIN + COIN + 100 ) }})
57
57
self .generate (self .nodes [0 ], 1 )
58
58
assert_equal (self .nodes [0 ].getprioritisedtransactions (), {})
59
59
@@ -111,7 +111,7 @@ def test_diamond(self):
111
111
raw_after = self .nodes [0 ].getrawmempool (verbose = True )
112
112
assert_equal (raw_before [txid_a ], raw_after [txid_a ])
113
113
assert_equal (raw_before , raw_after )
114
- assert_equal (self .nodes [0 ].getprioritisedtransactions (), {txid_b : {"fee_delta" : fee_delta_b * COIN , "in_mempool" : True }, txid_c : {"fee_delta" : (fee_delta_c_1 + fee_delta_c_2 )* COIN , "in_mempool" : True }})
114
+ assert_equal (self .nodes [0 ].getprioritisedtransactions (), {txid_b : {"fee_delta" : fee_delta_b * COIN , "in_mempool" : True , "modified_fee" : int ( fee_delta_b * COIN + COIN * tx_o_b [ "fee" ]) }, txid_c : {"fee_delta" : (fee_delta_c_1 + fee_delta_c_2 )* COIN , "in_mempool" : True , "modified_fee" : int (( fee_delta_c_1 + fee_delta_c_2 ) * COIN + COIN * tx_o_c [ "fee" ]) }})
115
115
# Clear prioritisation, otherwise the transactions' fee deltas are persisted to mempool.dat and loaded again when the node
116
116
# is restarted at the end of this subtest. Deltas are removed when a transaction is mined, but only at that time. We do
117
117
# not check whether mapDeltas transactions were mined when loading from mempool.dat.
@@ -130,7 +130,7 @@ def test_diamond(self):
130
130
raw_after = self .nodes [0 ].getrawmempool (verbose = True )
131
131
assert_equal (raw_before [txid_a ], raw_after [txid_a ])
132
132
assert_equal (raw_before , raw_after )
133
- assert_equal (self .nodes [0 ].getprioritisedtransactions (), {txid_b : {"fee_delta" : fee_delta_b * COIN , "in_mempool" : True }, txid_c : {"fee_delta" : (fee_delta_c_1 + fee_delta_c_2 )* COIN , "in_mempool" : True }})
133
+ assert_equal (self .nodes [0 ].getprioritisedtransactions (), {txid_b : {"fee_delta" : fee_delta_b * COIN , "in_mempool" : True , "modified_fee" : int ( fee_delta_b * COIN + COIN * tx_o_b [ "fee" ]) }, txid_c : {"fee_delta" : (fee_delta_c_1 + fee_delta_c_2 )* COIN , "in_mempool" : True , "modified_fee" : int (( fee_delta_c_1 + fee_delta_c_2 ) * COIN + COIN * tx_o_c [ "fee" ]) }})
134
134
135
135
# Clear mempool
136
136
self .generate (self .nodes [0 ], 1 )
@@ -211,7 +211,7 @@ def run_test(self):
211
211
# add a fee delta to something in the cheapest bucket and make sure it gets mined
212
212
# also check that a different entry in the cheapest bucket is NOT mined
213
213
self .nodes [0 ].prioritisetransaction (txid = txids [0 ][0 ], fee_delta = int (3 * base_fee * COIN ))
214
- assert_equal (self .nodes [0 ].getprioritisedtransactions (), {txids [0 ][0 ] : { "fee_delta" : 3 * base_fee * COIN , "in_mempool" : True }})
214
+ assert_equal (self .nodes [0 ].getprioritisedtransactions (), {txids [0 ][0 ] : { "fee_delta" : 3 * base_fee * COIN , "in_mempool" : True , "modified_fee" : int ( 3 * base_fee * COIN + COIN * 1 * base_fee ) }})
215
215
216
216
# Priority disappears when prioritisetransaction is called with an inverse value...
217
217
self .nodes [0 ].prioritisetransaction (txid = txids [0 ][0 ], fee_delta = int (- 3 * base_fee * COIN ))
@@ -258,7 +258,7 @@ def run_test(self):
258
258
mempool = self .nodes [0 ].getrawmempool ()
259
259
self .log .info ("Assert that de-prioritised transaction is still in mempool" )
260
260
assert high_fee_tx in mempool
261
- assert_equal (self .nodes [0 ].getprioritisedtransactions ()[high_fee_tx ], { "fee_delta" : - 2 * base_fee * COIN , "in_mempool" : True })
261
+ assert_equal (self .nodes [0 ].getprioritisedtransactions ()[high_fee_tx ], { "fee_delta" : - 2 * base_fee * COIN , "in_mempool" : True , "modified_fee" : int ( - 2 * base_fee * COIN + COIN * 3 * base_fee ) })
262
262
for x in txids [2 ]:
263
263
if (x != high_fee_tx ):
264
264
assert x not in mempool
@@ -281,7 +281,7 @@ def run_test(self):
281
281
self .log .info ("Assert that prioritised free transaction is accepted to mempool" )
282
282
assert_equal (self .nodes [0 ].sendrawtransaction (tx_hex ), tx_id )
283
283
assert tx_id in self .nodes [0 ].getrawmempool ()
284
- assert_equal (self .nodes [0 ].getprioritisedtransactions ()[tx_id ], { "fee_delta" : self .relayfee * COIN , "in_mempool" : True })
284
+ assert_equal (self .nodes [0 ].getprioritisedtransactions ()[tx_id ], { "fee_delta" : self .relayfee * COIN , "in_mempool" : True , "modified_fee" : int ( self . relayfee * COIN + COIN * tx_res [ "fee" ]) })
285
285
286
286
# Test that calling prioritisetransaction is sufficient to trigger
287
287
# getblocktemplate to (eventually) return a new block.
0 commit comments