code: func (bc *BlockChain) addFutureBlock(block *types.Block) error {
  	max := uint64(time.Now().Unix() + maxTimeFutureBlocks)
  	if block.Time() > max {
  		return fmt.Errorf("future block timestamp %v > allowed %v", block.Time(), max)
  	}
  	bc.futureBlocks.Add(block.Hash(), block)
  	return nil
  }
docs: // addFutureBlock checks if the block is within the max allowed window to get
  // accepted for future processing, and returns an error if the block is too far
  // ahead and was not added.