@@ -235,7 +235,8 @@ def run_test(self):
235
235
fee_rate_btc_kvb = fee_rate_sat_vb * 1e3 / 1e8
236
236
explicit_fee_rate_btc_kvb = Decimal (fee_rate_btc_kvb ) / 1000
237
237
238
- txid = self .nodes [2 ].sendmany (amounts = {address : 10 }, fee_rate = fee_rate_sat_vb )
238
+ # Test passing fee_rate as a string
239
+ txid = self .nodes [2 ].sendmany (amounts = {address : 10 }, fee_rate = str (fee_rate_sat_vb ))
239
240
self .nodes [2 ].generate (1 )
240
241
self .sync_all (self .nodes [0 :3 ])
241
242
balance = self .nodes [2 ].getbalance ()
@@ -244,6 +245,17 @@ def run_test(self):
244
245
node_0_bal += Decimal ('10' )
245
246
assert_equal (self .nodes [0 ].getbalance (), node_0_bal )
246
247
248
+ # Test passing fee_rate as an integer
249
+ amount = Decimal ("0.0001" )
250
+ txid = self .nodes [2 ].sendmany (amounts = {address : amount }, fee_rate = fee_rate_sat_vb )
251
+ self .nodes [2 ].generate (1 )
252
+ self .sync_all (self .nodes [0 :3 ])
253
+ balance = self .nodes [2 ].getbalance ()
254
+ node_2_bal = self .check_fee_amount (balance , node_2_bal - amount , explicit_fee_rate_btc_kvb , self .get_vsize (self .nodes [2 ].gettransaction (txid )['hex' ]))
255
+ assert_equal (balance , node_2_bal )
256
+ node_0_bal += amount
257
+ assert_equal (self .nodes [0 ].getbalance (), node_0_bal )
258
+
247
259
for key in ["totalFee" , "feeRate" ]:
248
260
assert_raises_rpc_error (- 8 , "Unknown named parameter key" , self .nodes [2 ].sendtoaddress , address = address , amount = 1 , fee_rate = 1 , key = 1 )
249
261
@@ -405,7 +417,7 @@ def run_test(self):
405
417
amount = 3
406
418
fee_rate_sat_vb = 2
407
419
fee_rate_btc_kvb = fee_rate_sat_vb * 1e3 / 1e8
408
-
420
+ # Test passing fee_rate as an integer
409
421
txid = self .nodes [2 ].sendtoaddress (address = address , amount = amount , fee_rate = fee_rate_sat_vb )
410
422
tx_size = self .get_vsize (self .nodes [2 ].gettransaction (txid )['hex' ])
411
423
self .nodes [0 ].generate (1 )
@@ -414,6 +426,19 @@ def run_test(self):
414
426
fee = prebalance - postbalance - Decimal (amount )
415
427
assert_fee_amount (fee , tx_size , Decimal (fee_rate_btc_kvb ))
416
428
429
+ prebalance = self .nodes [2 ].getbalance ()
430
+ amount = Decimal ("0.001" )
431
+ fee_rate_sat_vb = 1.23
432
+ fee_rate_btc_kvb = fee_rate_sat_vb * 1e3 / 1e8
433
+ # Test passing fee_rate as a string
434
+ txid = self .nodes [2 ].sendtoaddress (address = address , amount = amount , fee_rate = str (fee_rate_sat_vb ))
435
+ tx_size = self .get_vsize (self .nodes [2 ].gettransaction (txid )['hex' ])
436
+ self .nodes [0 ].generate (1 )
437
+ self .sync_all (self .nodes [0 :3 ])
438
+ postbalance = self .nodes [2 ].getbalance ()
439
+ fee = prebalance - postbalance - amount
440
+ assert_fee_amount (fee , tx_size , Decimal (fee_rate_btc_kvb ))
441
+
417
442
for key in ["totalFee" , "feeRate" ]:
418
443
assert_raises_rpc_error (- 8 , "Unknown named parameter key" , self .nodes [2 ].sendtoaddress , address = address , amount = 1 , fee_rate = 1 , key = 1 )
419
444
0 commit comments