aboutsummaryrefslogtreecommitdiff
path: root/test/functional/wallet_listtransactions.py
diff options
context:
space:
mode:
authorMarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz>2020-05-09 01:45:17 +0200
committerMarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz>2023-11-23 14:11:01 +0100
commitfa20f8919c4fe616c24325ed79a46f3b6cafcf58 (patch)
tree6411e55700e57fadeb1d600d4b30a2b496984832 /test/functional/wallet_listtransactions.py
parentddc4b9850af363fbd446ca0540497c69cd91abe5 (diff)
downloadbitcoin-fa20f8919c4fe616c24325ed79a46f3b6cafcf58.tar.xz
test: Add gettransaction test for "coin-join" tx
Diffstat (limited to 'test/functional/wallet_listtransactions.py')
-rwxr-xr-xtest/functional/wallet_listtransactions.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/test/functional/wallet_listtransactions.py b/test/functional/wallet_listtransactions.py
index 18bb8a0cd8..064ce12108 100755
--- a/test/functional/wallet_listtransactions.py
+++ b/test/functional/wallet_listtransactions.py
@@ -111,6 +111,7 @@ class ListTransactionsTest(BitcoinTestFramework):
self.run_rbf_opt_in_test()
self.run_externally_generated_address_test()
+ self.run_coinjoin_test()
self.run_invalid_parameters_test()
self.test_op_return()
@@ -281,6 +282,34 @@ class ListTransactionsTest(BitcoinTestFramework):
assert_equal(['pizza2'], self.nodes[0].getaddressinfo(addr2)['labels'])
assert_equal(['pizza3'], self.nodes[0].getaddressinfo(addr3)['labels'])
+ def run_coinjoin_test(self):
+ self.log.info('Check "coin-join" transaction')
+ input_0 = next(i for i in self.nodes[0].listunspent(query_options={"minimumAmount": 0.2}, include_unsafe=False))
+ input_1 = next(i for i in self.nodes[1].listunspent(query_options={"minimumAmount": 0.2}, include_unsafe=False))
+ raw_hex = self.nodes[0].createrawtransaction(
+ inputs=[
+ {
+ "txid": input_0["txid"],
+ "vout": input_0["vout"],
+ },
+ {
+ "txid": input_1["txid"],
+ "vout": input_1["vout"],
+ },
+ ],
+ outputs={
+ self.nodes[0].getnewaddress(): 0.123,
+ self.nodes[1].getnewaddress(): 0.123,
+ },
+ )
+ raw_hex = self.nodes[0].signrawtransactionwithwallet(raw_hex)["hex"]
+ raw_hex = self.nodes[1].signrawtransactionwithwallet(raw_hex)["hex"]
+ txid_join = self.nodes[0].sendrawtransaction(hexstring=raw_hex, maxfeerate=0)
+ fee_join = self.nodes[0].getmempoolentry(txid_join)["fees"]["base"]
+ # Fee should be correct: assert_equal(fee_join, self.nodes[0].gettransaction(txid_join)['fee'])
+ # But it is not, see for example https://github.com/bitcoin/bitcoin/issues/14136:
+ assert fee_join != self.nodes[0].gettransaction(txid_join)["fee"]
+
def run_invalid_parameters_test(self):
self.log.info("Test listtransactions RPC parameter validity")
assert_raises_rpc_error(-8, 'Label argument must be a valid label name or "*".', self.nodes[0].listtransactions, label="")