doc: Add testmempoolaccept to release-notes
This commit is contained in:
parent
18815b4bfb
commit
fafcad38c8
3 changed files with 4 additions and 4 deletions
|
@ -74,6 +74,7 @@ RPC changes
|
||||||
add `label` fields to returned JSON objects that previously only had
|
add `label` fields to returned JSON objects that previously only had
|
||||||
`account` fields.
|
`account` fields.
|
||||||
- `sendmany` now shuffles outputs to improve privacy, so any previously expected behavior with regards to output ordering can no longer be relied upon.
|
- `sendmany` now shuffles outputs to improve privacy, so any previously expected behavior with regards to output ordering can no longer be relied upon.
|
||||||
|
- The new RPC `testmempoolaccept` can be used to test acceptance of a transaction to the mempool without adding it.
|
||||||
|
|
||||||
External wallet files
|
External wallet files
|
||||||
---------------------
|
---------------------
|
||||||
|
|
|
@ -1198,7 +1198,7 @@ UniValue testmempoolaccept(const JSONRPCRequest& request)
|
||||||
{
|
{
|
||||||
LOCK(cs_main);
|
LOCK(cs_main);
|
||||||
test_accept_res = AcceptToMemoryPool(mempool, state, std::move(tx), &missing_inputs,
|
test_accept_res = AcceptToMemoryPool(mempool, state, std::move(tx), &missing_inputs,
|
||||||
nullptr /* plTxnReplaced */, false /* bypass_limits */, max_raw_tx_fee, /* test_accpet */ true);
|
nullptr /* plTxnReplaced */, false /* bypass_limits */, max_raw_tx_fee, /* test_accept */ true);
|
||||||
}
|
}
|
||||||
result_0.pushKV("allowed", test_accept_res);
|
result_0.pushKV("allowed", test_accept_res);
|
||||||
if (!test_accept_res) {
|
if (!test_accept_res) {
|
||||||
|
|
|
@ -507,7 +507,7 @@ void UpdateMempoolForReorg(DisconnectedBlockTransactions &disconnectpool, bool f
|
||||||
|
|
||||||
// Used to avoid mempool polluting consensus critical paths if CCoinsViewMempool
|
// Used to avoid mempool polluting consensus critical paths if CCoinsViewMempool
|
||||||
// were somehow broken and returning the wrong scriptPubKeys
|
// were somehow broken and returning the wrong scriptPubKeys
|
||||||
static bool CheckInputsFromMempoolAndCache(const CTransaction& tx, CValidationState &state, const CCoinsViewCache &view, CTxMemPool& pool,
|
static bool CheckInputsFromMempoolAndCache(const CTransaction& tx, CValidationState& state, const CCoinsViewCache& view, const CTxMemPool& pool,
|
||||||
unsigned int flags, bool cacheSigStore, PrecomputedTransactionData& txdata) {
|
unsigned int flags, bool cacheSigStore, PrecomputedTransactionData& txdata) {
|
||||||
AssertLockHeld(cs_main);
|
AssertLockHeld(cs_main);
|
||||||
|
|
||||||
|
@ -917,8 +917,7 @@ static bool AcceptToMemoryPoolWorker(const CChainParams& chainparams, CTxMemPool
|
||||||
// invalid blocks (using TestBlockValidity), however allowing such
|
// invalid blocks (using TestBlockValidity), however allowing such
|
||||||
// transactions into the mempool can be exploited as a DoS attack.
|
// transactions into the mempool can be exploited as a DoS attack.
|
||||||
unsigned int currentBlockScriptVerifyFlags = GetBlockScriptFlags(chainActive.Tip(), Params().GetConsensus());
|
unsigned int currentBlockScriptVerifyFlags = GetBlockScriptFlags(chainActive.Tip(), Params().GetConsensus());
|
||||||
if (!CheckInputsFromMempoolAndCache(tx, state, view, pool, currentBlockScriptVerifyFlags, true, txdata))
|
if (!CheckInputsFromMempoolAndCache(tx, state, view, pool, currentBlockScriptVerifyFlags, true, txdata)) {
|
||||||
{
|
|
||||||
// If we're using promiscuousmempoolflags, we may hit this normally
|
// If we're using promiscuousmempoolflags, we may hit this normally
|
||||||
// Check if current block has some flags that scriptVerifyFlags
|
// Check if current block has some flags that scriptVerifyFlags
|
||||||
// does not before printing an ominous warning
|
// does not before printing an ominous warning
|
||||||
|
|
Loading…
Reference in a new issue