1711 | @@ -1712,10 +1712,7 @@ static bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockInd
1712 | // before the first had been spent. Since those coinbases are sufficiently buried its no longer possible to create further
1713 | // duplicate transactions descending from the known pairs either.
1714 | // If we're on the known chain at height greater than where BIP34 activated, we can save the db accesses needed for the BIP30 check.
1715 | - assert(pindex->pprev);
1716 | - CBlockIndex *pindexBIP34height = pindex->pprev->GetAncestor(chainparams.GetConsensus().BIP34Height);
1717 | - //Only continue to enforce if we're below BIP34 activation height or the block hash at that height doesn't correspond.
1718 | - fEnforceBIP30 = fEnforceBIP30 && (!pindexBIP34height || !(pindexBIP34height->GetBlockHash() == chainparams.GetConsensus().BIP34Hash));
1719 | + fEnforceBIP30 = fEnforceBIP30 && pindex->nHeight > chainparams.GetConsensus().BIP34Height;
should be pindex->nHeight < chainparams.GetConsensus().BIP34Height; ?
oops, yeah it's bip34 that we need to enforce it after BIP34Height but not before, not bip30. bip30b is the opposite. Thanks!