code: func NewBlockValidator(config *params.ChainConfig, blockchain *BlockChain, engine consensus.Engine) *BlockValidator {
  	validator := &BlockValidator{
  		config: config,
  		engine: engine,
  		bc:     blockchain,
  	}
  	return validator
  }
docs: // NewBlockValidator returns a new block validator which is safe for re-use