Browse Source

Check valid proof root while iterating notarizations

pull/451/head
miketout 2 years ago
parent
commit
b3205f4910
  1. 7
      src/pbaas/notarization.cpp

7
src/pbaas/notarization.cpp

@ -4379,7 +4379,9 @@ std::vector<uint256> CPBaaSNotarization::SubmitFinalizedNotarizations(const CRPC
{
CAddressIndexDbEntry tmpIndexEntry;
CObjectFinalization finalizationObj;
if (crosschainCND.vtx[i].second.FindEarnedNotarization(finalizationObj, &tmpIndexEntry) && finalizationObj.IsConfirmed())
if (crosschainCND.vtx[i].second.proofRoots.count(ASSETCHAINS_CHAINID) &&
crosschainCND.vtx[i].second.FindEarnedNotarization(finalizationObj, &tmpIndexEntry) &&
finalizationObj.IsConfirmed())
{
earnedNotarizationIndexEntry = tmpIndexEntry;
confirmingIdx = i;
@ -4397,8 +4399,7 @@ std::vector<uint256> CPBaaSNotarization::SubmitFinalizedNotarizations(const CRPC
uint256 blockHash;
CTransaction confirmedNTx;
CBlockIndex *pIndex;
if (crosschainCND.vtx[confirmingIdx].second.proofRoots.count(ASSETCHAINS_CHAINID) ||
earnedNotarizationIndexEntry.first.txhash.IsNull() ||
if (earnedNotarizationIndexEntry.first.txhash.IsNull() ||
!myGetTransaction(earnedNotarizationIndexEntry.first.txhash, confirmedNTx, blockHash) ||
!mapBlockIndex.count(blockHash) ||
!chainActive.Contains(pIndex = mapBlockIndex[blockHash]))

Loading…
Cancel
Save