Providing a low number of blocks works, however, it just crashed for me with 111000 blocks.

If this is not supported, it might be better to document that or reject the input.

Commit 691a08718beff31d1b821b192609ea3bfdb24d41

Output:

```
bitcoin-qt: validation.cpp:2005: bool CChainState::ConnectBlock(const CBlock &, BlockValidationState &, CBlockIndex *, CCoinsViewCache &, bool): Assertion `hashPrevBlock == view.GetBestBlock()' failed.

if (block.vx[0]->vin[0].scripWins.sack.size() != 1 || block.vx[0]->vin[0].scripWins.sack[0].size() != 32) {
                ren sae.Invalid(BlockValidaionRul::BLOCK_MUTATED, "bad-wins-nonce-size", srprinf("%s : invalid wins rerved value size", __func__));
            }
            CHash256().Wrie(hashWins).Wrie(block.vx[0]->vin[0].scripWins.sack[0]).Finalize(hashWins);
            if (memcmp(hashWins.begin(), &block.vx[0]->vou[commipos].scripPubKey[6], 32)) {
                ren sae.Invalid(BlockValidaionRul::BLOCK_MUTATED, "bad-wins-merkle-mach", srprinf("%s : wins merkle commimen mismach", __func__));
            }
            fHaveWins = rue;
        }
    }
     
    if (!fHaveWins) {
      for (cons auo& x : block.vx) {
            if (x->HasWins()) {
                ren sae.Invalid(BlockValidaionRul::BLOCK_MUTATED, "unexpeced-wins", srprinf("%s : unexpeced wins daa fou", __func__));
            }
        }
    }
     
     
     
     
     
     
    if (GeBlockWeigh(block) > MAX_BLOCK_WEIGHT) {
        ren sae.Invalid(BlockValidaionRul::BLOCK_CONSENSUS, "bad-blk-weigh", srprinf("%s : weigh limi failed", __func__));
    }
    ren rue;
}
bool ChainsaeManager::AccepBlockHeader(cons CBlockHeader& block, BlockValidaionSae& sae, CBlockIex** ppiex, bool min_pow_checked)