mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-10-10 19:43:13 +02:00
Merge #19501: send* RPCs in the wallet returns the "fee reason"
69cf5d4eeb
[test] Make sure send rpc returns fee reason (Sishir Giri)d5863c0b3e
[send] Make send RPCs return fee reason (Sishir Giri) Pull request description: Whenever a wallet funds a transaction, the fee reason is reported to the user only if the verbose is set to true. I added an extra parameter to `CreateTransaction` function in wallet.cpp. Then I implemented the fee reason return logic in `SendMoney` in rpcwallet.cpp, followed by verbose parameter in `sendtoaddress` and `sendmany` functions. I also added a fee reason test case in walletbasic.py. link to the issue: https://github.com/MarcoFalke/bitcoin-core/issues/22#issue-616251578 ACKs for top commit: instagibbs: ACK69cf5d4eeb
meshcollider: utACK69cf5d4eeb
Tree-SHA512: 2e3af32dcfbd5511ba95f8bc8edca7acfe709a8430ff03e43172e5d0af3dfa4b2f57906978e7f272d878043b9ed8c6004674cf47d7496b005d5f612e9a58aa0e
This commit is contained in:
@@ -661,6 +661,17 @@ class WalletTest(BitcoinTestFramework):
|
||||
assert_array_result(tx["details"], {"category": "receive"}, expected_receive_vout)
|
||||
assert_equal(tx[verbose_field], self.nodes[0].decoderawtransaction(tx["hex"]))
|
||||
|
||||
self.log.info("Test send* RPCs with verbose=True")
|
||||
address = self.nodes[0].getnewaddress("test")
|
||||
txid_feeReason_one = self.nodes[2].sendtoaddress(address = address, amount = 5, verbose = True)
|
||||
assert_equal(txid_feeReason_one["fee_reason"], "Fallback fee")
|
||||
txid_feeReason_two = self.nodes[2].sendmany(dummy = '', amounts = {address: 5}, verbose = True)
|
||||
assert_equal(txid_feeReason_two["fee_reason"], "Fallback fee")
|
||||
self.log.info("Test send* RPCs with verbose=False")
|
||||
txid_feeReason_three = self.nodes[2].sendtoaddress(address = address, amount = 5, verbose = False)
|
||||
assert_equal(self.nodes[2].gettransaction(txid_feeReason_three)['txid'], txid_feeReason_three)
|
||||
txid_feeReason_four = self.nodes[2].sendmany(dummy = '', amounts = {address: 5}, verbose = False)
|
||||
assert_equal(self.nodes[2].gettransaction(txid_feeReason_four)['txid'], txid_feeReason_four)
|
||||
|
||||
if __name__ == '__main__':
|
||||
WalletTest().main()
|
||||
|
Reference in New Issue
Block a user