code: func (api *SignerAPI) SignData(ctx context.Context, contentType string, addr common.MixedcaseAddress, data interface{}) (hexutil.Bytes, error) {
  	var req, transformV, err = api.determineSignatureFormat(ctx, contentType, addr, data)
  	if err != nil {
  		return nil, err
  	}
  
  	signature, err := api.sign(addr, req, transformV)
  	if err != nil {
  		api.UI.ShowError(err.Error())
  		return nil, err
  	}
  	return signature, nil
  }
docs: // SignData signs the hash of the provided data, but does so differently
  // depending on the content-type specified.
  //
  // Different types of validation occur.