package helpers import ( "errors" "net" "os" "path/filepath" "regexp" "strconv" "ripple/config" ) var errInvalidAddress = errors.New("invalid address") var UsernameRegex = regexp.MustCompile(`^[A-Za-z0-9_]{1,32}$`) func GetFilePath(filename string) (string, error) { homeDir, err := os.UserHomeDir() if err != nil { return "", err } dataDir := filepath.Join(homeDir, config.DataDir) filePath := filepath.Join(dataDir, filename) return filePath, nil } func ValidateAddress(addr string, port int) error { hostPort := net.JoinHostPort(addr, strconv.Itoa(port)) if _, err := net.ResolveUDPAddr("udp", hostPort); err != nil { return errInvalidAddress } return nil }