@@ -116,6 +116,7 @@ def run_test(self):
116
116
117
117
# Context independent tests
118
118
test_feerate_checks_replaced_outputs (self , rbf_node , peer_node )
119
+ test_bumpfee_with_feerate_ignores_walletincrementalrelayfee (self , rbf_node , peer_node )
119
120
120
121
def test_invalid_parameters (self , rbf_node , peer_node , dest_address ):
121
122
self .log .info ('Test invalid parameters' )
@@ -829,5 +830,27 @@ def test_feerate_checks_replaced_outputs(self, rbf_node, peer_node):
829
830
self .clear_mempool ()
830
831
831
832
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
+
832
855
if __name__ == "__main__" :
833
856
BumpFeeTest ().main ()
0 commit comments