code: func medianAdjustedTime(chainState *blockchain.BestState, timeSource blockchain.MedianTimeSource) time.Time {
  	// The timestamp for the block must not be before the median timestamp
  	// of the last several blocks.  Thus, choose the maximum between the
  	// current time and one second after the past median time.  The current
  	// timestamp is truncated to a second boundary before comparison since a
  	// block timestamp does not supported a precision greater than one
  	// second.
  	newTimestamp := timeSource.AdjustedTime()
  	minTimestamp := MinimumMedianTime(chainState)
  	if newTimestamp.Before(minTimestamp) {
  		newTimestamp = minTimestamp
  	}
  
  	return newTimestamp
  }
docs: // medianAdjustedTime returns the current time adjusted to ensure it is at least
  // one second after the median timestamp of the last several blocks per the
  // chain consensus rules.