mirror of
https://github.com/bitcoin/bitcoin.git
synced 2024-11-20 02:25:40 +01:00
Merge bitcoin/bitcoin#25158: rpc, wallet: add abandoned field for all categories of transaction in ListTransaction
0c520679ab
doc: add release notes for `abandoned` field in `gettransaction` and `listtransactions` (brunoerg)a1aaa7f51f
rpc, wallet: add `abandoned` field for all categories of transactions in ListTransactions (brunoerg) Pull request description: Fixes #25130 ACKs for top commit: achow101: re-ACK0c520679ab
Tree-SHA512: 1864460d76decab7898737c96517d722055eb8f81ca52248fe1035723258c6cd4a93251e06a86ecbbb0b0a80af1466b2c86fb142ace4ccb74cc40d5dc3967d7f
This commit is contained in:
commit
91ccb62faa
6
doc/release-notes-25158.md
Normal file
6
doc/release-notes-25158.md
Normal file
@ -0,0 +1,6 @@
|
||||
RPC Wallet
|
||||
----------
|
||||
|
||||
- The `gettransaction`, `listtransactions`, `listsinceblock` RPCs now return
|
||||
the `abandoned` field for all transactions. Previously, the "abandoned" field
|
||||
was only returned for sent transactions. (#25158)
|
@ -389,6 +389,7 @@ static void ListTransactions(const CWallet& wallet, const CWalletTx& wtx, int nM
|
||||
entry.pushKV("label", label);
|
||||
}
|
||||
entry.pushKV("vout", r.vout);
|
||||
entry.pushKV("abandoned", wtx.isAbandoned());
|
||||
if (fLong)
|
||||
WalletTxToJSON(wallet, wtx, entry);
|
||||
ret.push_back(entry);
|
||||
@ -462,8 +463,7 @@ RPCHelpMan listtransactions()
|
||||
},
|
||||
TransactionDescriptionString()),
|
||||
{
|
||||
{RPCResult::Type::BOOL, "abandoned", /*optional=*/true, "'true' if the transaction has been abandoned (inputs are respendable). Only available for the \n"
|
||||
"'send' category of transactions."},
|
||||
{RPCResult::Type::BOOL, "abandoned", "'true' if the transaction has been abandoned (inputs are respendable)."},
|
||||
})},
|
||||
}
|
||||
},
|
||||
@ -576,8 +576,7 @@ RPCHelpMan listsinceblock()
|
||||
},
|
||||
TransactionDescriptionString()),
|
||||
{
|
||||
{RPCResult::Type::BOOL, "abandoned", /*optional=*/true, "'true' if the transaction has been abandoned (inputs are respendable). Only available for the \n"
|
||||
"'send' category of transactions."},
|
||||
{RPCResult::Type::BOOL, "abandoned", "'true' if the transaction has been abandoned (inputs are respendable)."},
|
||||
{RPCResult::Type::STR, "label", /*optional=*/true, "A comment for the address/transaction, if any"},
|
||||
})},
|
||||
}},
|
||||
@ -721,8 +720,7 @@ RPCHelpMan gettransaction()
|
||||
{RPCResult::Type::NUM, "vout", "the vout value"},
|
||||
{RPCResult::Type::STR_AMOUNT, "fee", /*optional=*/true, "The amount of the fee in " + CURRENCY_UNIT + ". This is negative and only available for the \n"
|
||||
"'send' category of transactions."},
|
||||
{RPCResult::Type::BOOL, "abandoned", /*optional=*/true, "'true' if the transaction has been abandoned (inputs are respendable). Only available for the \n"
|
||||
"'send' category of transactions."},
|
||||
{RPCResult::Type::BOOL, "abandoned", "'true' if the transaction has been abandoned (inputs are respendable)."},
|
||||
{RPCResult::Type::ARR, "parent_descs", /*optional=*/true, "Only if 'category' is 'received'. List of parent descriptors for the scriptPubKey of this coin.", {
|
||||
{RPCResult::Type::STR, "desc", "The descriptor string."},
|
||||
}},
|
||||
|
@ -589,6 +589,11 @@ def test_unconfirmed_not_spendable(self, rbf_node, rbf_node_address):
|
||||
# Call abandon to make sure the wallet doesn't attempt to resubmit
|
||||
# the bump tx and hope the wallet does not rebroadcast before we call.
|
||||
rbf_node.abandontransaction(bumpid)
|
||||
|
||||
tx_bump_abandoned = rbf_node.gettransaction(bumpid)
|
||||
for tx in tx_bump_abandoned['details']:
|
||||
assert_equal(tx['abandoned'], True)
|
||||
|
||||
assert bumpid not in rbf_node.getrawmempool()
|
||||
assert rbfid in rbf_node.getrawmempool()
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user