func DefaultClientConfig(clientID string) (*Client, error) {
	if len(clientID) == 0 {
		return nil, errors.New("invalid clientID provided")
	}
	return &Client{
		HomeDirectory:                   defaultHomeDirectory,
		ID:                              clientID,
		MixAppsDirectory:                defaultClientMixAppDirectory,
		DirectoryServerTopologyEndpoint: defaultDirectoryServerTopologyEndpoint,
		PrivateKey:                      defaultPrivateKeyPath,
		PublicKey:                       defaultPublicKeyPath,
	}, nil
}
DefaultClientConfig returns default Client config for provided clientID.
package config
import (
	"errors"
	"fmt"
	"os"
	"path/filepath"
	mainConfig "github.com/nymtech/nym-mixnet/config"
	"github.com/sirupsen/logrus"
)
const (
	defaultNymDirectory          = ".nym"
	defaultNymClientsDirectory   = "clients"
	defaultClientMixAppDirectory = "mixapps"
	defaultConfigDirectory       = "config"
	defaultConfigFileName        = "config.toml"
	defaultLogLevel = "info"
	defaultPrivateKeyFileName = "private_key.pem"
	defaultPublicKeyFileName  = "public_key.pem"
	defaultLoopCoverTrafficRate = 10.0
	defaultFetchMessageRate     = 10.0
	defaultMessageSendingRate   = 10.0
	defaultDirectoryServerTopologyEndpoint      = mainConfig.DirectoryServerTopology
	DefaultLocalDirectoryServerTopologyEndpoint = mainConfig.LocalDirectoryServerTopology
)
var (
	defaultHomeDirectory  = os.ExpandEnv(filepath.Join("$HOME", defaultNymDirectory, defaultNymClientsDirectory))
	defaultPrivateKeyPath = filepath.Join(defaultConfigDirectory, defaultPrivateKeyFileName)
	defaultPublicKeyPath  = filepath.Join(defaultConfigDirectory, defaultPublicKeyFileName)
)
func DefaultConfigPath(clientID string) (string, error) {
	if len(clientID) == 0 {
		return "", errors.New("invalid clientID provided")
	}
	return filepath.Join(
		defaultHomeDirectory,
		clientID,
		defaultConfigDirectory,
		defaultConfigFileName,
	), nil
}
type Client struct {
	HomeDirectory string `toml:"nym_home_directory"`
	ID string `toml:"id"`
	DirectoryServerTopologyEndpoint string `toml:"directory_server_topology"`
	MixAppsDirectory string `toml:"mixapps_directory"`
	PrivateKey string `toml:"priv_key_file"`
	PublicKey string `toml:"pub_key_file"`
	ProviderID string `toml:"provider_id"`
}