code: func validateCommonHeader(hdr *common.Header) (*common.ChannelHeader, *common.SignatureHeader, error) {
  	if hdr == nil {
  		return nil, nil, errors.New("nil header")
  	}
  
  	chdr, err := utils.UnmarshalChannelHeader(hdr.ChannelHeader)
  	if err != nil {
  		return nil, nil, err
  	}
  
  	shdr, err := utils.GetSignatureHeader(hdr.SignatureHeader)
  	if err != nil {
  		return nil, nil, err
  	}
  
  	err = validateChannelHeader(chdr)
  	if err != nil {
  		return nil, nil, err
  	}
  
  	err = validateSignatureHeader(shdr)
  	if err != nil {
  		return nil, nil, err
  	}
  
  	return chdr, shdr, nil
  }
docs: // checks for a valid Header