Skip to content

Commit f58beab

Browse files
committed
test: bumpfee with user specified fee_rate ignores walletIncrementalRelayFee
1 parent 436e88f commit f58beab

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

test/functional/wallet_bumpfee.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ def run_test(self):
116116

117117
# Context independent tests
118118
test_feerate_checks_replaced_outputs(self, rbf_node, peer_node)
119+
test_bumpfee_with_feerate_ignores_walletincrementalrelayfee(self, rbf_node, peer_node)
119120

120121
def test_invalid_parameters(self, rbf_node, peer_node, dest_address):
121122
self.log.info('Test invalid parameters')
@@ -829,5 +830,27 @@ def test_feerate_checks_replaced_outputs(self, rbf_node, peer_node):
829830
self.clear_mempool()
830831

831832

833+
def test_bumpfee_with_feerate_ignores_walletincrementalrelayfee(self, rbf_node, peer_node):
834+
self.log.info('Test that bumpfee with fee_rate ignores walletincrementalrelayfee')
835+
# Make sure there is enough balance
836+
peer_node.sendtoaddress(rbf_node.getnewaddress(), 2)
837+
self.generate(peer_node, 1)
838+
839+
dest_address = peer_node.getnewaddress(address_type="bech32")
840+
tx = rbf_node.send(outputs=[{dest_address: 1}], fee_rate=2)
841+
842+
# Ensure you can not fee bump with a fee_rate below or equal to the original fee_rate
843+
assert_raises_rpc_error(-8, "Insufficient total fee", rbf_node.bumpfee, tx["txid"], {"fee_rate": 1})
844+
assert_raises_rpc_error(-8, "Insufficient total fee", rbf_node.bumpfee, tx["txid"], {"fee_rate": 2})
845+
846+
# Ensure you can not fee bump if the fee_rate is more than original fee_rate but the total fee from new fee_rate is
847+
# less than (original fee + incrementalrelayfee)
848+
assert_raises_rpc_error(-8, "Insufficient total fee", rbf_node.bumpfee, tx["txid"], {"fee_rate": 2.8})
849+
850+
# You can fee bump as long as the new fee set from fee_rate is atleast (original fee + incrementalrelayfee)
851+
rbf_node.bumpfee(tx["txid"], {"fee_rate": 3})
852+
self.clear_mempool()
853+
854+
832855
if __name__ == "__main__":
833856
BumpFeeTest().main()

0 commit comments

Comments
 (0)