Add "bip125-replaceable" flag to mempool RPCs
This affects getrawmempool, getmempoolentry, getmempoolancestors and getmempooldescendants.
This commit is contained in:
parent
a785bc3667
commit
820d31f95f
1 changed files with 14 additions and 1 deletions
|
@ -15,6 +15,7 @@
|
|||
#include <core_io.h>
|
||||
#include <policy/feerate.h>
|
||||
#include <policy/policy.h>
|
||||
#include <policy/rbf.h>
|
||||
#include <primitives/transaction.h>
|
||||
#include <rpc/server.h>
|
||||
#include <streams.h>
|
||||
|
@ -376,7 +377,8 @@ std::string EntryDescriptionString()
|
|||
" ... ]\n"
|
||||
" \"spentby\" : [ (array) unconfirmed transactions spending outputs from this transaction\n"
|
||||
" \"transactionid\", (string) child transaction id\n"
|
||||
" ... ]\n";
|
||||
" ... ]\n"
|
||||
" \"bip125-replaceable\" : true|false, (boolean) Whether this transaction could be replaced due to BIP125 (replace-by-fee)\n";
|
||||
}
|
||||
|
||||
void entryToJSON(UniValue &info, const CTxMemPoolEntry &e)
|
||||
|
@ -419,6 +421,17 @@ void entryToJSON(UniValue &info, const CTxMemPoolEntry &e)
|
|||
}
|
||||
|
||||
info.pushKV("spentby", spent);
|
||||
|
||||
// Add opt-in RBF status
|
||||
bool rbfStatus = false;
|
||||
RBFTransactionState rbfState = IsRBFOptIn(tx, mempool);
|
||||
if (rbfState == RBFTransactionState::UNKNOWN) {
|
||||
throw JSONRPCError(RPC_MISC_ERROR, "Transaction is not in mempool");
|
||||
} else if (rbfState == RBFTransactionState::REPLACEABLE_BIP125) {
|
||||
rbfStatus = true;
|
||||
}
|
||||
|
||||
info.pushKV("bip125-replaceable", rbfStatus);
|
||||
}
|
||||
|
||||
UniValue mempoolToJSON(bool fVerbose)
|
||||
|
|
Loading…
Reference in a new issue