code: func (lsi *LastSignedInfo) checkHRS(height int64, round int, step int8) (bool, error) {
  	if lsi.Height > height {
  		return false, errors.New("Height regression")
  	}
  
  	if lsi.Height == height {
  		if lsi.Round > round {
  			return false, errors.New("Round regression")
  		}
  
  		if lsi.Round == round {
  			if lsi.Step > step {
  				return false, errors.New("Step regression")
  			} else if lsi.Step == step {
  				if lsi.SignBytes != nil {
  					if lsi.Signature == nil {
  						panic("pv: Signature is nil but SignBytes is not!")
  					}
  					return true, nil
  				}
  				return false, errors.New("No Signature found")
  			}
  		}
  	}
  	return false, nil
  }
docs: // returns error if HRS regression or no SignBytes. returns true if HRS is unchanged