mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-06-22 14:52:41 +02:00
scripted-diff: Use BlockManager::LookupBlockIndex
[META] In a previous commit, we moved ::LookupBlockIndex to become a member function of BlockManager. This commit is split out from that one since it can be expressed nicely as a scripted-diff. -BEGIN VERIFY SCRIPT- find_regex='LookupBlockIndex' \ && git grep -l -E "$find_regex" -- src \ | grep -v '^src/validation\.\(cpp\|h\)$' \ | xargs sed -i -E "s@${find_regex}@g_chainman.m_blockman.LookupBlockIndex@g" -END VERIFY SCRIPT-
This commit is contained in:
parent
15d20f40e1
commit
eae54e6e60
@ -239,7 +239,7 @@ void BaseIndex::ChainStateFlushed(const CBlockLocator& locator)
|
||||
const CBlockIndex* locator_tip_index;
|
||||
{
|
||||
LOCK(cs_main);
|
||||
locator_tip_index = LookupBlockIndex(locator_tip_hash);
|
||||
locator_tip_index = g_chainman.m_blockman.LookupBlockIndex(locator_tip_hash);
|
||||
}
|
||||
|
||||
if (!locator_tip_index) {
|
||||
|
@ -1611,7 +1611,7 @@ bool AppInitMain(const util::Ref& context, NodeContext& node, interfaces::BlockA
|
||||
// If the loaded chain has a wrong genesis, bail out immediately
|
||||
// (we're likely using a testnet datadir, or the other way around).
|
||||
if (!chainman.BlockIndex().empty() &&
|
||||
!LookupBlockIndex(chainparams.GetConsensus().hashGenesisBlock)) {
|
||||
!g_chainman.m_blockman.LookupBlockIndex(chainparams.GetConsensus().hashGenesisBlock)) {
|
||||
return InitError(_("Incorrect or no genesis block found. Wrong datadir for network?"));
|
||||
}
|
||||
|
||||
|
@ -45,7 +45,7 @@ void RegenerateCommitments(CBlock& block)
|
||||
tx.vout.erase(tx.vout.begin() + GetWitnessCommitmentIndex(block));
|
||||
block.vtx.at(0) = MakeTransactionRef(tx);
|
||||
|
||||
GenerateCoinbaseCommitment(block, WITH_LOCK(cs_main, return LookupBlockIndex(block.hashPrevBlock)), Params().GetConsensus());
|
||||
GenerateCoinbaseCommitment(block, WITH_LOCK(cs_main, return g_chainman.m_blockman.LookupBlockIndex(block.hashPrevBlock)), Params().GetConsensus());
|
||||
|
||||
block.hashMerkleRoot = BlockMerkleRoot(block);
|
||||
}
|
||||
|
@ -676,7 +676,7 @@ static void ProcessBlockAvailability(NodeId nodeid) EXCLUSIVE_LOCKS_REQUIRED(cs_
|
||||
assert(state != nullptr);
|
||||
|
||||
if (!state->hashLastUnknownBlock.IsNull()) {
|
||||
const CBlockIndex* pindex = LookupBlockIndex(state->hashLastUnknownBlock);
|
||||
const CBlockIndex* pindex = g_chainman.m_blockman.LookupBlockIndex(state->hashLastUnknownBlock);
|
||||
if (pindex && pindex->nChainWork > 0) {
|
||||
if (state->pindexBestKnownBlock == nullptr || pindex->nChainWork >= state->pindexBestKnownBlock->nChainWork) {
|
||||
state->pindexBestKnownBlock = pindex;
|
||||
@ -693,7 +693,7 @@ static void UpdateBlockAvailability(NodeId nodeid, const uint256 &hash) EXCLUSIV
|
||||
|
||||
ProcessBlockAvailability(nodeid);
|
||||
|
||||
const CBlockIndex* pindex = LookupBlockIndex(hash);
|
||||
const CBlockIndex* pindex = g_chainman.m_blockman.LookupBlockIndex(hash);
|
||||
if (pindex && pindex->nChainWork > 0) {
|
||||
// An actually better block was announced.
|
||||
if (state->pindexBestKnownBlock == nullptr || pindex->nChainWork >= state->pindexBestKnownBlock->nChainWork) {
|
||||
@ -1595,7 +1595,7 @@ bool static AlreadyHaveTx(const GenTxid& gtxid, const CTxMemPool& mempool) EXCLU
|
||||
|
||||
bool static AlreadyHaveBlock(const uint256& block_hash) EXCLUSIVE_LOCKS_REQUIRED(cs_main)
|
||||
{
|
||||
return LookupBlockIndex(block_hash) != nullptr;
|
||||
return g_chainman.m_blockman.LookupBlockIndex(block_hash) != nullptr;
|
||||
}
|
||||
|
||||
void RelayTransaction(const uint256& txid, const uint256& wtxid, const CConnman& connman)
|
||||
@ -1685,7 +1685,7 @@ void static ProcessGetBlockData(CNode& pfrom, Peer& peer, const CChainParams& ch
|
||||
bool need_activate_chain = false;
|
||||
{
|
||||
LOCK(cs_main);
|
||||
const CBlockIndex* pindex = LookupBlockIndex(inv.hash);
|
||||
const CBlockIndex* pindex = g_chainman.m_blockman.LookupBlockIndex(inv.hash);
|
||||
if (pindex) {
|
||||
if (pindex->HaveTxsDownloaded() && !pindex->IsValid(BLOCK_VALID_SCRIPTS) &&
|
||||
pindex->IsValid(BLOCK_VALID_TREE)) {
|
||||
@ -1706,7 +1706,7 @@ void static ProcessGetBlockData(CNode& pfrom, Peer& peer, const CChainParams& ch
|
||||
}
|
||||
|
||||
LOCK(cs_main);
|
||||
const CBlockIndex* pindex = LookupBlockIndex(inv.hash);
|
||||
const CBlockIndex* pindex = g_chainman.m_blockman.LookupBlockIndex(inv.hash);
|
||||
if (pindex) {
|
||||
send = BlockRequestAllowed(pindex, consensusParams);
|
||||
if (!send) {
|
||||
@ -1996,7 +1996,7 @@ void PeerManagerImpl::ProcessHeadersMessage(CNode& pfrom, const Peer& peer,
|
||||
// don't connect before giving DoS points
|
||||
// - Once a headers message is received that is valid and does connect,
|
||||
// nUnconnectingHeaders gets reset back to 0.
|
||||
if (!LookupBlockIndex(headers[0].hashPrevBlock) && nCount < MAX_BLOCKS_TO_ANNOUNCE) {
|
||||
if (!g_chainman.m_blockman.LookupBlockIndex(headers[0].hashPrevBlock) && nCount < MAX_BLOCKS_TO_ANNOUNCE) {
|
||||
nodestate->nUnconnectingHeaders++;
|
||||
m_connman.PushMessage(&pfrom, msgMaker.Make(NetMsgType::GETHEADERS, ::ChainActive().GetLocator(pindexBestHeader), uint256()));
|
||||
LogPrint(BCLog::NET, "received header %s: missing prev block %s, sending getheaders (%d) to end (peer=%d, nUnconnectingHeaders=%d)\n",
|
||||
@ -2026,7 +2026,7 @@ void PeerManagerImpl::ProcessHeadersMessage(CNode& pfrom, const Peer& peer,
|
||||
|
||||
// If we don't have the last header, then they'll have given us
|
||||
// something new (if these headers are valid).
|
||||
if (!LookupBlockIndex(hashLastBlock)) {
|
||||
if (!g_chainman.m_blockman.LookupBlockIndex(hashLastBlock)) {
|
||||
received_new_header = true;
|
||||
}
|
||||
}
|
||||
@ -2278,7 +2278,7 @@ static bool PrepareBlockFilterRequest(CNode& peer, const CChainParams& chain_par
|
||||
|
||||
{
|
||||
LOCK(cs_main);
|
||||
stop_index = LookupBlockIndex(stop_hash);
|
||||
stop_index = g_chainman.m_blockman.LookupBlockIndex(stop_hash);
|
||||
|
||||
// Check that the stop block exists and the peer would be allowed to fetch it.
|
||||
if (!stop_index || !BlockRequestAllowed(stop_index, chain_params.GetConsensus())) {
|
||||
@ -3021,7 +3021,7 @@ void PeerManagerImpl::ProcessMessage(CNode& pfrom, const std::string& msg_type,
|
||||
{
|
||||
LOCK(cs_main);
|
||||
|
||||
const CBlockIndex* pindex = LookupBlockIndex(req.blockhash);
|
||||
const CBlockIndex* pindex = g_chainman.m_blockman.LookupBlockIndex(req.blockhash);
|
||||
if (!pindex || !(pindex->nStatus & BLOCK_HAVE_DATA)) {
|
||||
LogPrint(BCLog::NET, "Peer %d sent us a getblocktxn for a block we don't have\n", pfrom.GetId());
|
||||
return;
|
||||
@ -3075,7 +3075,7 @@ void PeerManagerImpl::ProcessMessage(CNode& pfrom, const std::string& msg_type,
|
||||
if (locator.IsNull())
|
||||
{
|
||||
// If locator is null, return the hashStop block
|
||||
pindex = LookupBlockIndex(hashStop);
|
||||
pindex = g_chainman.m_blockman.LookupBlockIndex(hashStop);
|
||||
if (!pindex) {
|
||||
return;
|
||||
}
|
||||
@ -3352,14 +3352,14 @@ void PeerManagerImpl::ProcessMessage(CNode& pfrom, const std::string& msg_type,
|
||||
{
|
||||
LOCK(cs_main);
|
||||
|
||||
if (!LookupBlockIndex(cmpctblock.header.hashPrevBlock)) {
|
||||
if (!g_chainman.m_blockman.LookupBlockIndex(cmpctblock.header.hashPrevBlock)) {
|
||||
// Doesn't connect (or is genesis), instead of DoSing in AcceptBlockHeader, request deeper headers
|
||||
if (!::ChainstateActive().IsInitialBlockDownload())
|
||||
m_connman.PushMessage(&pfrom, msgMaker.Make(NetMsgType::GETHEADERS, ::ChainActive().GetLocator(pindexBestHeader), uint256()));
|
||||
return;
|
||||
}
|
||||
|
||||
if (!LookupBlockIndex(cmpctblock.header.GetHash())) {
|
||||
if (!g_chainman.m_blockman.LookupBlockIndex(cmpctblock.header.GetHash())) {
|
||||
received_new_header = true;
|
||||
}
|
||||
}
|
||||
@ -4425,7 +4425,7 @@ bool PeerManagerImpl::SendMessages(CNode* pto)
|
||||
// then send all headers past that one. If we come across any
|
||||
// headers that aren't on ::ChainActive(), give up.
|
||||
for (const uint256& hash : peer->m_blocks_for_headers_relay) {
|
||||
const CBlockIndex* pindex = LookupBlockIndex(hash);
|
||||
const CBlockIndex* pindex = g_chainman.m_blockman.LookupBlockIndex(hash);
|
||||
assert(pindex);
|
||||
if (::ChainActive()[pindex->nHeight] != pindex) {
|
||||
// Bail out if we reorged away from this block
|
||||
@ -4517,7 +4517,7 @@ bool PeerManagerImpl::SendMessages(CNode* pto)
|
||||
// in the past.
|
||||
if (!peer->m_blocks_for_headers_relay.empty()) {
|
||||
const uint256& hashToAnnounce = peer->m_blocks_for_headers_relay.back();
|
||||
const CBlockIndex* pindex = LookupBlockIndex(hashToAnnounce);
|
||||
const CBlockIndex* pindex = g_chainman.m_blockman.LookupBlockIndex(hashToAnnounce);
|
||||
assert(pindex);
|
||||
|
||||
// Warn if we're announcing a block that is not on the main chain.
|
||||
|
@ -63,7 +63,7 @@ static bool GetUTXOStats(CCoinsView* view, CCoinsStats& stats, T hash_obj, const
|
||||
stats.hashBlock = pcursor->GetBestBlock();
|
||||
{
|
||||
LOCK(cs_main);
|
||||
stats.nHeight = LookupBlockIndex(stats.hashBlock)->nHeight;
|
||||
stats.nHeight = g_chainman.m_blockman.LookupBlockIndex(stats.hashBlock)->nHeight;
|
||||
}
|
||||
|
||||
PrepareHash(hash_obj, stats);
|
||||
|
@ -456,7 +456,7 @@ public:
|
||||
{
|
||||
WAIT_LOCK(cs_main, lock);
|
||||
const CChain& active = Assert(m_node.chainman)->ActiveChain();
|
||||
return FillBlock(LookupBlockIndex(hash), block, lock, active);
|
||||
return FillBlock(g_chainman.m_blockman.LookupBlockIndex(hash), block, lock, active);
|
||||
}
|
||||
bool findFirstBlockWithTimeAndHeight(int64_t min_time, int min_height, const FoundBlock& block) override
|
||||
{
|
||||
@ -468,7 +468,7 @@ public:
|
||||
{
|
||||
WAIT_LOCK(cs_main, lock);
|
||||
const CChain& active = Assert(m_node.chainman)->ActiveChain();
|
||||
if (const CBlockIndex* block = LookupBlockIndex(block_hash)) {
|
||||
if (const CBlockIndex* block = g_chainman.m_blockman.LookupBlockIndex(block_hash)) {
|
||||
if (const CBlockIndex* ancestor = block->GetAncestor(ancestor_height)) {
|
||||
return FillBlock(ancestor, ancestor_out, lock, active);
|
||||
}
|
||||
@ -479,8 +479,8 @@ public:
|
||||
{
|
||||
WAIT_LOCK(cs_main, lock);
|
||||
const CChain& active = Assert(m_node.chainman)->ActiveChain();
|
||||
const CBlockIndex* block = LookupBlockIndex(block_hash);
|
||||
const CBlockIndex* ancestor = LookupBlockIndex(ancestor_hash);
|
||||
const CBlockIndex* block = g_chainman.m_blockman.LookupBlockIndex(block_hash);
|
||||
const CBlockIndex* ancestor = g_chainman.m_blockman.LookupBlockIndex(ancestor_hash);
|
||||
if (block && ancestor && block->GetAncestor(ancestor->nHeight) != ancestor) ancestor = nullptr;
|
||||
return FillBlock(ancestor, ancestor_out, lock, active);
|
||||
}
|
||||
@ -488,8 +488,8 @@ public:
|
||||
{
|
||||
WAIT_LOCK(cs_main, lock);
|
||||
const CChain& active = Assert(m_node.chainman)->ActiveChain();
|
||||
const CBlockIndex* block1 = LookupBlockIndex(block_hash1);
|
||||
const CBlockIndex* block2 = LookupBlockIndex(block_hash2);
|
||||
const CBlockIndex* block1 = g_chainman.m_blockman.LookupBlockIndex(block_hash1);
|
||||
const CBlockIndex* block2 = g_chainman.m_blockman.LookupBlockIndex(block_hash2);
|
||||
const CBlockIndex* ancestor = block1 && block2 ? LastCommonAncestor(block1, block2) : nullptr;
|
||||
// Using & instead of && below to avoid short circuiting and leaving
|
||||
// output uninitialized.
|
||||
@ -499,7 +499,7 @@ public:
|
||||
double guessVerificationProgress(const uint256& block_hash) override
|
||||
{
|
||||
LOCK(cs_main);
|
||||
return GuessVerificationProgress(Params().TxData(), LookupBlockIndex(block_hash));
|
||||
return GuessVerificationProgress(Params().TxData(), g_chainman.m_blockman.LookupBlockIndex(block_hash));
|
||||
}
|
||||
bool hasBlocks(const uint256& block_hash, int min_height, Optional<int> max_height) override
|
||||
{
|
||||
@ -511,7 +511,7 @@ public:
|
||||
// used to limit the range, and passing min_height that's too low or
|
||||
// max_height that's too high will not crash or change the result.
|
||||
LOCK(::cs_main);
|
||||
if (CBlockIndex* block = LookupBlockIndex(block_hash)) {
|
||||
if (CBlockIndex* block = g_chainman.m_blockman.LookupBlockIndex(block_hash)) {
|
||||
if (max_height && block->nHeight >= *max_height) block = block->GetAncestor(*max_height);
|
||||
for (; block->nStatus & BLOCK_HAVE_DATA; block = block->pprev) {
|
||||
// Check pprev to not segfault if min_height is too low
|
||||
|
@ -179,7 +179,7 @@ static bool rest_headers(const util::Ref& context,
|
||||
{
|
||||
LOCK(cs_main);
|
||||
tip = ::ChainActive().Tip();
|
||||
const CBlockIndex* pindex = LookupBlockIndex(hash);
|
||||
const CBlockIndex* pindex = g_chainman.m_blockman.LookupBlockIndex(hash);
|
||||
while (pindex != nullptr && ::ChainActive().Contains(pindex)) {
|
||||
headers.push_back(pindex);
|
||||
if (headers.size() == (unsigned long)count)
|
||||
@ -247,7 +247,7 @@ static bool rest_block(HTTPRequest* req,
|
||||
{
|
||||
LOCK(cs_main);
|
||||
tip = ::ChainActive().Tip();
|
||||
pblockindex = LookupBlockIndex(hash);
|
||||
pblockindex = g_chainman.m_blockman.LookupBlockIndex(hash);
|
||||
if (!pblockindex) {
|
||||
return RESTERR(req, HTTP_NOT_FOUND, hashStr + " not found");
|
||||
}
|
||||
|
@ -843,7 +843,7 @@ static RPCHelpMan getblockheader()
|
||||
const CBlockIndex* tip;
|
||||
{
|
||||
LOCK(cs_main);
|
||||
pblockindex = LookupBlockIndex(hash);
|
||||
pblockindex = g_chainman.m_blockman.LookupBlockIndex(hash);
|
||||
tip = ::ChainActive().Tip();
|
||||
}
|
||||
|
||||
@ -967,7 +967,7 @@ static RPCHelpMan getblock()
|
||||
const CBlockIndex* tip;
|
||||
{
|
||||
LOCK(cs_main);
|
||||
pblockindex = LookupBlockIndex(hash);
|
||||
pblockindex = g_chainman.m_blockman.LookupBlockIndex(hash);
|
||||
tip = ::ChainActive().Tip();
|
||||
|
||||
if (!pblockindex) {
|
||||
@ -1164,7 +1164,7 @@ static RPCHelpMan gettxout()
|
||||
}
|
||||
}
|
||||
|
||||
const CBlockIndex* pindex = LookupBlockIndex(coins_view->GetBestBlock());
|
||||
const CBlockIndex* pindex = g_chainman.m_blockman.LookupBlockIndex(coins_view->GetBestBlock());
|
||||
ret.pushKV("bestblock", pindex->GetBlockHash().GetHex());
|
||||
if (coin.nHeight == MEMPOOL_HEIGHT) {
|
||||
ret.pushKV("confirmations", 0);
|
||||
@ -1557,7 +1557,7 @@ static RPCHelpMan preciousblock()
|
||||
|
||||
{
|
||||
LOCK(cs_main);
|
||||
pblockindex = LookupBlockIndex(hash);
|
||||
pblockindex = g_chainman.m_blockman.LookupBlockIndex(hash);
|
||||
if (!pblockindex) {
|
||||
throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Block not found");
|
||||
}
|
||||
@ -1595,7 +1595,7 @@ static RPCHelpMan invalidateblock()
|
||||
CBlockIndex* pblockindex;
|
||||
{
|
||||
LOCK(cs_main);
|
||||
pblockindex = LookupBlockIndex(hash);
|
||||
pblockindex = g_chainman.m_blockman.LookupBlockIndex(hash);
|
||||
if (!pblockindex) {
|
||||
throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Block not found");
|
||||
}
|
||||
@ -1634,7 +1634,7 @@ static RPCHelpMan reconsiderblock()
|
||||
|
||||
{
|
||||
LOCK(cs_main);
|
||||
CBlockIndex* pblockindex = LookupBlockIndex(hash);
|
||||
CBlockIndex* pblockindex = g_chainman.m_blockman.LookupBlockIndex(hash);
|
||||
if (!pblockindex) {
|
||||
throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Block not found");
|
||||
}
|
||||
@ -1689,7 +1689,7 @@ static RPCHelpMan getchaintxstats()
|
||||
} else {
|
||||
uint256 hash(ParseHashV(request.params[1], "blockhash"));
|
||||
LOCK(cs_main);
|
||||
pindex = LookupBlockIndex(hash);
|
||||
pindex = g_chainman.m_blockman.LookupBlockIndex(hash);
|
||||
if (!pindex) {
|
||||
throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Block not found");
|
||||
}
|
||||
@ -1867,7 +1867,7 @@ static RPCHelpMan getblockstats()
|
||||
pindex = ::ChainActive()[height];
|
||||
} else {
|
||||
const uint256 hash(ParseHashV(request.params[0], "hash_or_height"));
|
||||
pindex = LookupBlockIndex(hash);
|
||||
pindex = g_chainman.m_blockman.LookupBlockIndex(hash);
|
||||
if (!pindex) {
|
||||
throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Block not found");
|
||||
}
|
||||
@ -2330,7 +2330,7 @@ static RPCHelpMan getblockfilter()
|
||||
bool block_was_connected;
|
||||
{
|
||||
LOCK(cs_main);
|
||||
block_index = LookupBlockIndex(block_hash);
|
||||
block_index = g_chainman.m_blockman.LookupBlockIndex(block_hash);
|
||||
if (!block_index) {
|
||||
throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Block not found");
|
||||
}
|
||||
@ -2440,7 +2440,7 @@ static RPCHelpMan dumptxoutset()
|
||||
}
|
||||
|
||||
pcursor = std::unique_ptr<CCoinsViewCursor>(::ChainstateActive().CoinsDB().Cursor());
|
||||
tip = LookupBlockIndex(stats.hashBlock);
|
||||
tip = g_chainman.m_blockman.LookupBlockIndex(stats.hashBlock);
|
||||
CHECK_NONFATAL(tip);
|
||||
}
|
||||
|
||||
|
@ -375,7 +375,7 @@ static RPCHelpMan generateblock()
|
||||
LOCK(cs_main);
|
||||
|
||||
BlockValidationState state;
|
||||
if (!TestBlockValidity(state, chainparams, block, LookupBlockIndex(block.hashPrevBlock), false, false)) {
|
||||
if (!TestBlockValidity(state, chainparams, block, g_chainman.m_blockman.LookupBlockIndex(block.hashPrevBlock), false, false)) {
|
||||
throw JSONRPCError(RPC_VERIFY_ERROR, strprintf("TestBlockValidity failed: %s", state.ToString()));
|
||||
}
|
||||
}
|
||||
@ -618,7 +618,7 @@ static RPCHelpMan getblocktemplate()
|
||||
throw JSONRPCError(RPC_DESERIALIZATION_ERROR, "Block decode failed");
|
||||
|
||||
uint256 hash = block.GetHash();
|
||||
const CBlockIndex* pindex = LookupBlockIndex(hash);
|
||||
const CBlockIndex* pindex = g_chainman.m_blockman.LookupBlockIndex(hash);
|
||||
if (pindex) {
|
||||
if (pindex->IsValid(BLOCK_VALID_SCRIPTS))
|
||||
return "duplicate";
|
||||
@ -966,7 +966,7 @@ static RPCHelpMan submitblock()
|
||||
uint256 hash = block.GetHash();
|
||||
{
|
||||
LOCK(cs_main);
|
||||
const CBlockIndex* pindex = LookupBlockIndex(hash);
|
||||
const CBlockIndex* pindex = g_chainman.m_blockman.LookupBlockIndex(hash);
|
||||
if (pindex) {
|
||||
if (pindex->IsValid(BLOCK_VALID_SCRIPTS)) {
|
||||
return "duplicate";
|
||||
@ -979,7 +979,7 @@ static RPCHelpMan submitblock()
|
||||
|
||||
{
|
||||
LOCK(cs_main);
|
||||
const CBlockIndex* pindex = LookupBlockIndex(block.hashPrevBlock);
|
||||
const CBlockIndex* pindex = g_chainman.m_blockman.LookupBlockIndex(block.hashPrevBlock);
|
||||
if (pindex) {
|
||||
UpdateUncommittedBlockStructures(block, pindex, Params().GetConsensus());
|
||||
}
|
||||
@ -1023,7 +1023,7 @@ static RPCHelpMan submitheader()
|
||||
}
|
||||
{
|
||||
LOCK(cs_main);
|
||||
if (!LookupBlockIndex(h.hashPrevBlock)) {
|
||||
if (!g_chainman.m_blockman.LookupBlockIndex(h.hashPrevBlock)) {
|
||||
throw JSONRPCError(RPC_VERIFY_ERROR, "Must submit previous header (" + h.hashPrevBlock.GetHex() + ") first");
|
||||
}
|
||||
}
|
||||
|
@ -54,7 +54,7 @@ static void TxToJSON(const CTransaction& tx, const uint256 hashBlock, UniValue&
|
||||
LOCK(cs_main);
|
||||
|
||||
entry.pushKV("blockhash", hashBlock.GetHex());
|
||||
CBlockIndex* pindex = LookupBlockIndex(hashBlock);
|
||||
CBlockIndex* pindex = g_chainman.m_blockman.LookupBlockIndex(hashBlock);
|
||||
if (pindex) {
|
||||
if (::ChainActive().Contains(pindex)) {
|
||||
entry.pushKV("confirmations", 1 + ::ChainActive().Height() - pindex->nHeight);
|
||||
@ -178,7 +178,7 @@ static RPCHelpMan getrawtransaction()
|
||||
LOCK(cs_main);
|
||||
|
||||
uint256 blockhash = ParseHashV(request.params[2], "parameter 3");
|
||||
blockindex = LookupBlockIndex(blockhash);
|
||||
blockindex = g_chainman.m_blockman.LookupBlockIndex(blockhash);
|
||||
if (!blockindex) {
|
||||
throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Block hash not found");
|
||||
}
|
||||
@ -260,7 +260,7 @@ static RPCHelpMan gettxoutproof()
|
||||
if (!request.params[1].isNull()) {
|
||||
LOCK(cs_main);
|
||||
hashBlock = ParseHashV(request.params[1], "blockhash");
|
||||
pblockindex = LookupBlockIndex(hashBlock);
|
||||
pblockindex = g_chainman.m_blockman.LookupBlockIndex(hashBlock);
|
||||
if (!pblockindex) {
|
||||
throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Block not found");
|
||||
}
|
||||
@ -290,7 +290,7 @@ static RPCHelpMan gettxoutproof()
|
||||
if (!tx || hashBlock.IsNull()) {
|
||||
throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Transaction not yet in block");
|
||||
}
|
||||
pblockindex = LookupBlockIndex(hashBlock);
|
||||
pblockindex = g_chainman.m_blockman.LookupBlockIndex(hashBlock);
|
||||
if (!pblockindex) {
|
||||
throw JSONRPCError(RPC_INTERNAL_ERROR, "Transaction index corrupt");
|
||||
}
|
||||
@ -350,7 +350,7 @@ static RPCHelpMan verifytxoutproof()
|
||||
|
||||
LOCK(cs_main);
|
||||
|
||||
const CBlockIndex* pindex = LookupBlockIndex(merkleBlock.header.GetHash());
|
||||
const CBlockIndex* pindex = g_chainman.m_blockman.LookupBlockIndex(merkleBlock.header.GetHash());
|
||||
if (!pindex || !::ChainActive().Contains(pindex) || pindex->nTx == 0) {
|
||||
throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Block not found in chain");
|
||||
}
|
||||
|
@ -178,7 +178,7 @@ BOOST_FIXTURE_TEST_CASE(blockfilter_index_initial_sync, BuildChainTestingSetup)
|
||||
const CBlockIndex* block_index;
|
||||
{
|
||||
LOCK(cs_main);
|
||||
block_index = LookupBlockIndex(block->GetHash());
|
||||
block_index = g_chainman.m_blockman.LookupBlockIndex(block->GetHash());
|
||||
}
|
||||
|
||||
BOOST_CHECK(filter_index.BlockUntilSyncedToCurrentChain());
|
||||
@ -196,7 +196,7 @@ BOOST_FIXTURE_TEST_CASE(blockfilter_index_initial_sync, BuildChainTestingSetup)
|
||||
const CBlockIndex* block_index;
|
||||
{
|
||||
LOCK(cs_main);
|
||||
block_index = LookupBlockIndex(block->GetHash());
|
||||
block_index = g_chainman.m_blockman.LookupBlockIndex(block->GetHash());
|
||||
}
|
||||
|
||||
BOOST_CHECK(filter_index.BlockUntilSyncedToCurrentChain());
|
||||
@ -210,7 +210,7 @@ BOOST_FIXTURE_TEST_CASE(blockfilter_index_initial_sync, BuildChainTestingSetup)
|
||||
const CBlockIndex* block_index;
|
||||
{
|
||||
LOCK(cs_main);
|
||||
block_index = LookupBlockIndex(block->GetHash());
|
||||
block_index = g_chainman.m_blockman.LookupBlockIndex(block->GetHash());
|
||||
}
|
||||
|
||||
BOOST_CHECK(filter_index.BlockUntilSyncedToCurrentChain());
|
||||
@ -231,14 +231,14 @@ BOOST_FIXTURE_TEST_CASE(blockfilter_index_initial_sync, BuildChainTestingSetup)
|
||||
|
||||
{
|
||||
LOCK(cs_main);
|
||||
block_index = LookupBlockIndex(chainA[i]->GetHash());
|
||||
block_index = g_chainman.m_blockman.LookupBlockIndex(chainA[i]->GetHash());
|
||||
}
|
||||
BOOST_CHECK(filter_index.BlockUntilSyncedToCurrentChain());
|
||||
CheckFilterLookups(filter_index, block_index, chainA_last_header);
|
||||
|
||||
{
|
||||
LOCK(cs_main);
|
||||
block_index = LookupBlockIndex(chainB[i]->GetHash());
|
||||
block_index = g_chainman.m_blockman.LookupBlockIndex(chainB[i]->GetHash());
|
||||
}
|
||||
BOOST_CHECK(filter_index.BlockUntilSyncedToCurrentChain());
|
||||
CheckFilterLookups(filter_index, block_index, chainB_last_header);
|
||||
|
@ -95,8 +95,8 @@ std::shared_ptr<CBlock> MinerTestingSetup::Block(const uint256& prev_hash)
|
||||
|
||||
std::shared_ptr<CBlock> MinerTestingSetup::FinalizeBlock(std::shared_ptr<CBlock> pblock)
|
||||
{
|
||||
LOCK(cs_main); // For LookupBlockIndex
|
||||
GenerateCoinbaseCommitment(*pblock, LookupBlockIndex(pblock->hashPrevBlock), Params().GetConsensus());
|
||||
LOCK(cs_main); // For g_chainman.m_blockman.LookupBlockIndex
|
||||
GenerateCoinbaseCommitment(*pblock, g_chainman.m_blockman.LookupBlockIndex(pblock->hashPrevBlock), Params().GetConsensus());
|
||||
|
||||
pblock->hashMerkleRoot = BlockMerkleRoot(*pblock);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user