code: func (pa PermArgs) String() string {
  	body := make([]string, 0, 5)
  	body = append(body, fmt.Sprintf("PermFlag: %v", String(pa.Action)))
  	if pa.Target != nil {
  		body = append(body, fmt.Sprintf("Address: %s", *pa.Target))
  	}
  	if pa.Permission != nil {
  		body = append(body, fmt.Sprintf("Permission: %v", String(*pa.Permission)))
  	}
  	if pa.Role != nil {
  		body = append(body, fmt.Sprintf("Role: %s", *pa.Role))
  	}
  	if pa.Value != nil {
  		body = append(body, fmt.Sprintf("Value: %v", *pa.Value))
  	}
  	return fmt.Sprintf("PermArgs{%s}", strings.Join(body, ", "))
  }
docs: //---------------------------------------------------------------------------------------------------
  // PermissionsTx.PermArgs interface and argument encoding