config

package
v0.30.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 15, 2021 License: Apache-2.0 Imports: 12 Imported by: 6

Documentation

Index

Constants

View Source
const (
	KeyTypeHex                        KeyType = "hex"
	KeyTypeGoogleKMS                  KeyType = "google-kms"
	DefaultEmulatorConfigName                 = "default"
	DefaultEmulatorServiceAccountName         = "emulator-account"
)
View Source
const DefaultPath = "flow.json"

Variables

View Source
var ErrDoesNotExist = errors.New("missing configuration")

ErrDoesNotExist is error to be returned when config file does not exists.

View Source
var ErrOutdatedFormat = errors.New("you are using old configuration format")

Functions

func DefaultPaths

func DefaultPaths() []string

DefaultPaths determines default paths for configuration.

func Exists

func Exists(path string) bool

Exists checks if file exists on the specified path.

func GlobalPath

func GlobalPath() string

GlobalPath gets global path based on home dir.

func IsDefaultPath added in v0.28.0

func IsDefaultPath(paths []string) bool

func ProcessorRun

func ProcessorRun(raw []byte) ([]byte, map[string]string)

ProcessorRun all pre-processors.

func StringToAddress

func StringToAddress(value string) (*flow.Address, error)

StringToAddress converts string to valid Flow address.

func StringToHexKey

func StringToHexKey(key string, sigAlgo string) (crypto.PrivateKey, error)

StringToHexKey converts string private key and signature algorithm to private key.

func StringToKeyIndex

func StringToKeyIndex(value string) (int, error)

StringToKeyIndex converts string key index to valid key index integer.

Types

type Account

type Account struct {
	Name    string
	Address flow.Address
	Key     AccountKey
}

Account defines the configuration for a Flow account.

func StringToAccount

func StringToAccount(
	name string,
	address string,
	index string,
	sigAlgo string,
	hashAlgo string,
	key string,
) (*Account, error)

StringToAccount converts string values to account.

type AccountKey

type AccountKey struct {
	Type       KeyType
	Index      int
	SigAlgo    crypto.SignatureAlgorithm
	HashAlgo   crypto.HashAlgorithm
	ResourceID string
	PrivateKey crypto.PrivateKey
}

AccountKey represents account key and all their possible configuration formats.

type Accounts

type Accounts []Account

func (*Accounts) AddOrUpdate

func (a *Accounts) AddOrUpdate(name string, account Account)

AddOrUpdate add new or update if already present.

func (*Accounts) ByName

func (a *Accounts) ByName(name string) (*Account, error)

ByName get account by name.

func (*Accounts) Remove

func (a *Accounts) Remove(name string)

Remove remove account by name.

type Config

type Config struct {
	Emulators   Emulators
	Contracts   Contracts
	Networks    Networks
	Accounts    Accounts
	Deployments Deployments
}

Config contains all the configuration for CLI and implements getters and setters for properties. Config is agnostic to format from which it is built and it doesn't provide persistence functionality.

Emulators contains all the emulator config Contracts contains all contracts definitions and their sources Networks defines all the Flow networks addresses Accounts defines Flow accounts and their addresses, private key and more properties Deployments describes which contracts should be deployed to which accounts

func DefaultConfig

func DefaultConfig() *Config

DefaultConfig gets default configuration.

func (*Config) Validate

func (c *Config) Validate() error

Validate the configuration values.

type Contract

type Contract struct {
	Name    string
	Source  string
	Network string
	Alias   string
}

Contract defines the configuration for a Cadence contract.

func StringToContracts

func StringToContracts(
	name string,
	source string,
	emulatorAlias string,
	testnetAlias string,
	mainnetAlias string,
) []Contract

StringToContracts converts strings to contracts.

func (*Contract) IsAlias

func (c *Contract) IsAlias() bool

IsAlias checks if contract has an alias.

type ContractDeployment

type ContractDeployment struct {
	Name string
	Args []cadence.Value
}

ContractDeployment defines the deployment of the contract with possible args.

type Contracts

type Contracts []Contract

func (*Contracts) AddOrUpdate

func (c *Contracts) AddOrUpdate(name string, contract Contract)

AddOrUpdate add new or update if already present.

func (*Contracts) ByName

func (c *Contracts) ByName(name string) (*Contract, error)

ByName get contract by name.

func (*Contracts) ByNameAndNetwork

func (c *Contracts) ByNameAndNetwork(name string, network string) (*Contract, error)

ByNameAndNetwork get contract array for account and network.

func (*Contracts) ByNetwork

func (c *Contracts) ByNetwork(network string) Contracts

ByNetwork returns all contracts for specific network.

func (*Contracts) Remove

func (c *Contracts) Remove(name string) error

Remove contract by its name.

type Deployment

type Deployment struct {
	Network   string               // network name to deploy to
	Account   string               // account name to which to deploy to
	Contracts []ContractDeployment // contracts to deploy
}

Deployment defines the configuration for a contract deployment.

func StringToDeployment

func StringToDeployment(network string, account string, contracts []string) Deployment

StringToDeployment converts string to deployment.

type Deployments

type Deployments []Deployment

func (*Deployments) AddOrUpdate

func (d *Deployments) AddOrUpdate(deployment Deployment)

AddOrUpdate add new or update if already present.

func (*Deployments) ByAccountAndNetwork

func (d *Deployments) ByAccountAndNetwork(account string, network string) Deployments

ByAccountAndNetwork get deploy by account and network.

func (*Deployments) ByNetwork

func (d *Deployments) ByNetwork(network string) Deployments

ByNetwork get all deployments by network.

func (*Deployments) Remove

func (d *Deployments) Remove(account string, network string) error

Remove removes deployment by account and network.

type Emulator

type Emulator struct {
	Name           string
	Port           int
	ServiceAccount string
}

Emulator defines the configuration for a Flow Emulator instance.

func DefaultEmulator

func DefaultEmulator() Emulator

DefaultEmulator gets default emulator.

type Emulators

type Emulators []Emulator

func DefaultEmulators

func DefaultEmulators() Emulators

DefaultEmulators gets all default emulators.

func (*Emulators) AddOrUpdate

func (e *Emulators) AddOrUpdate(name string, emulator Emulator)

AddOrUpdate add new or update if already present.

func (Emulators) Default

func (e Emulators) Default() *Emulator

Default gets default emulator.

type KeyType

type KeyType string

type Loader

type Loader struct {
	// contains filtered or unexported fields
}

Loader contains actions for composing and modifying configuration.

func NewLoader

func NewLoader(readerWriter ReaderWriter) *Loader

NewLoader returns a new loader.

func (*Loader) AddConfigParser

func (l *Loader) AddConfigParser(format Parser)

AddConfigParser adds a new configuration parser.

func (*Loader) Load

func (l *Loader) Load(paths []string) (*Config, error)

Load loads configuration from one or more file paths.

If more than one path is specified, their contents are merged together into on configuration object.

func (*Loader) Save

func (l *Loader) Save(conf *Config, path string) error

Save saves a configuration to a path with correct serializer.

type Network

type Network struct {
	Name string
	Host string
}

Network defines the configuration for a Flow network.

func DefaultEmulatorNetwork

func DefaultEmulatorNetwork() Network

DefaultEmulatorNetwork get default emulator network.

func DefaultMainnetNetwork

func DefaultMainnetNetwork() Network

DefaultMainnetNetwork get default mainnet network.

func DefaultTestnetNetwork

func DefaultTestnetNetwork() Network

DefaultTestnetNetwork get default testnet network.

func StringToNetwork

func StringToNetwork(name string, host string) Network

StringToNetwork converts string to network.

type Networks

type Networks []Network

func DefaultNetworks

func DefaultNetworks() Networks

DefaultNetworks gets all default networks.

func (*Networks) AddOrUpdate

func (n *Networks) AddOrUpdate(name string, network Network)

AddOrUpdate add new network or update if already present.

func (*Networks) ByName

func (n *Networks) ByName(name string) (*Network, error)

ByName get network by name.

func (*Networks) Remove

func (n *Networks) Remove(name string) error

Remove network by the name.

type Parser

type Parser interface {
	Serialize(*Config) ([]byte, error)
	Deserialize([]byte) (*Config, error)
	SupportsFormat(string) bool
}

Parser is interface for any configuration format parser to implement.

type Parsers

type Parsers []Parser

Parsers is a list of all configuration parsers.

func (*Parsers) FindForFormat

func (c *Parsers) FindForFormat(extension string) Parser

FindForFormat finds a parser that can parse a specific format based on extension.

type ReaderWriter

type ReaderWriter interface {
	ReadFile(source string) ([]byte, error)
	WriteFile(filename string, data []byte, perm os.FileMode) error
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL