rpc, test: Address feedback from #29668
This commit is contained in:
3 files changed
+8
-5
No files matched your search
@@ -864,7 +864,7 @@ std::optional<int> GetPruneHeight(const BlockManager& blockman, const CChain& ch
|
|||||||
if (!first_block || !chain_tip) return std::nullopt;
|
if (!first_block || !chain_tip) return std::nullopt;
|
||||||
|
|
||||||
// If the chain tip is pruned, everything is pruned.
|
// If the chain tip is pruned, everything is pruned.
|
||||||
if (!((chain_tip->nStatus & BLOCK_HAVE_MASK) == BLOCK_HAVE_MASK)) return chain_tip->nHeight;
|
if ((chain_tip->nStatus & BLOCK_HAVE_MASK) != BLOCK_HAVE_MASK) return chain_tip->nHeight;
|
||||||
|
|
||||||
const auto& first_unpruned{blockman.GetFirstBlock(*chain_tip, /*status_mask=*/BLOCK_HAVE_MASK, first_block)};
|
const auto& first_unpruned{blockman.GetFirstBlock(*chain_tip, /*status_mask=*/BLOCK_HAVE_MASK, first_block)};
|
||||||
if (&first_unpruned == first_block) {
|
if (&first_unpruned == first_block) {
|
||||||
@@ -1354,7 +1354,7 @@ RPCHelpMan getblockchaininfo()
|
|||||||
{RPCResult::Type::STR_HEX, "chainwork", "total amount of work in active chain, in hexadecimal"},
|
{RPCResult::Type::STR_HEX, "chainwork", "total amount of work in active chain, in hexadecimal"},
|
||||||
{RPCResult::Type::NUM, "size_on_disk", "the estimated size of the block and undo files on disk"},
|
{RPCResult::Type::NUM, "size_on_disk", "the estimated size of the block and undo files on disk"},
|
||||||
{RPCResult::Type::BOOL, "pruned", "if the blocks are subject to pruning"},
|
{RPCResult::Type::BOOL, "pruned", "if the blocks are subject to pruning"},
|
||||||
{RPCResult::Type::NUM, "pruneheight", /*optional=*/true, "height of the last block pruned, plus one (only present if pruning is enabled)"},
|
{RPCResult::Type::NUM, "pruneheight", /*optional=*/true, "the first block unpruned, all previous blocks were pruned (only present if pruning is enabled)"},
|
||||||
{RPCResult::Type::BOOL, "automatic_pruning", /*optional=*/true, "whether automatic pruning is enabled (only present if pruning is enabled)"},
|
{RPCResult::Type::BOOL, "automatic_pruning", /*optional=*/true, "whether automatic pruning is enabled (only present if pruning is enabled)"},
|
||||||
{RPCResult::Type::NUM, "prune_target_size", /*optional=*/true, "the target size used by pruning (only present if automatic pruning is enabled)"},
|
{RPCResult::Type::NUM, "prune_target_size", /*optional=*/true, "the target size used by pruning (only present if automatic pruning is enabled)"},
|
||||||
{RPCResult::Type::STR_HEX, "signet_challenge", /*optional=*/true, "the block challenge (aka. block script), in hexadecimal (only present if the current network is a signet)"},
|
{RPCResult::Type::STR_HEX, "signet_challenge", /*optional=*/true, "the block challenge (aka. block script), in hexadecimal (only present if the current network is a signet)"},
|
||||||
|
|||||||
@@ -9,15 +9,18 @@
|
|||||||
#include <core_io.h>
|
#include <core_io.h>
|
||||||
#include <streams.h>
|
#include <streams.h>
|
||||||
#include <sync.h>
|
#include <sync.h>
|
||||||
|
#include <threadsafety.h>
|
||||||
#include <util/fs.h>
|
#include <util/fs.h>
|
||||||
#include <validation.h>
|
#include <validation.h>
|
||||||
|
|
||||||
#include <any>
|
#include <any>
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
#include <optional>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
class CBlock;
|
class CBlock;
|
||||||
class CBlockIndex;
|
class CBlockIndex;
|
||||||
|
class CChain;
|
||||||
class Chainstate;
|
class Chainstate;
|
||||||
class UniValue;
|
class UniValue;
|
||||||
namespace node {
|
namespace node {
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ BOOST_AUTO_TEST_CASE(get_difficulty_for_very_high_target)
|
|||||||
|
|
||||||
//! Prune chain from height down to genesis block and check that
|
//! Prune chain from height down to genesis block and check that
|
||||||
//! GetPruneHeight returns the correct value
|
//! GetPruneHeight returns the correct value
|
||||||
static void CheckGetPruneHeight(node::BlockManager& blockman, CChain& chain, int height) EXCLUSIVE_LOCKS_REQUIRED(::cs_main)
|
static void CheckGetPruneHeight(const node::BlockManager& blockman, const CChain& chain, int height) EXCLUSIVE_LOCKS_REQUIRED(::cs_main)
|
||||||
{
|
{
|
||||||
AssertLockHeld(::cs_main);
|
AssertLockHeld(::cs_main);
|
||||||
|
|
||||||
@@ -98,8 +98,8 @@ static void CheckGetPruneHeight(node::BlockManager& blockman, CChain& chain, int
|
|||||||
BOOST_FIXTURE_TEST_CASE(get_prune_height, TestChain100Setup)
|
BOOST_FIXTURE_TEST_CASE(get_prune_height, TestChain100Setup)
|
||||||
{
|
{
|
||||||
LOCK(::cs_main);
|
LOCK(::cs_main);
|
||||||
auto& chain = m_node.chainman->ActiveChain();
|
const auto& chain = m_node.chainman->ActiveChain();
|
||||||
auto& blockman = m_node.chainman->m_blockman;
|
const auto& blockman = m_node.chainman->m_blockman;
|
||||||
|
|
||||||
// Fresh chain of 100 blocks without any pruned blocks, so std::nullopt should be returned
|
// Fresh chain of 100 blocks without any pruned blocks, so std::nullopt should be returned
|
||||||
BOOST_CHECK(!GetPruneHeight(blockman, chain).has_value());
|
BOOST_CHECK(!GetPruneHeight(blockman, chain).has_value());
|
||||||
|
|||||||
Reference in new issue
Block a user