options

package
v0.103.1 Latest Latest
Warning

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

Go to latest
Published: Nov 9, 2023 License: MIT Imports: 18 Imported by: 0

Documentation

Overview

Package options contains a set of common CLI options and helper functions to use them.

Index

Constants

View Source
const DefaultTimeout = 10 * time.Second

DefaultTimeout is the default timeout used for RPC requests.

View Source
const RPCEndpointFlag = "rpc-endpoint"

RPCEndpointFlag is a long flag name for an RPC endpoint. It can be used to check for flag presence in the context.

Variables

View Source
var Config = cli.StringFlag{
	Name:  "config-path",
	Usage: "path to directory with per-network configuration files (may be overridden by --config-file option for the configuration file)",
}

Config is a flag for commands that use node configuration.

View Source
var ConfigFile = cli.StringFlag{
	Name:  "config-file",
	Usage: "path to the node configuration file (overrides --config-path option)",
}

ConfigFile is a flag for commands that use node configuration and provide path to the specific config file instead of config path.

View Source
var Debug = cli.BoolFlag{
	Name:  "debug, d",
	Usage: "enable debug logging (LOTS of output, overrides configuration)",
}

Debug is a flag for commands that allow node in debug mode usage.

View Source
var Historic = cli.StringFlag{
	Name:  "historic",
	Usage: "Use historic state (height, block hash or state root hash)",
}

Historic is a flag for commands that can perform historic invocations.

View Source
var Network = []cli.Flag{
	cli.BoolFlag{Name: "privnet, p", Usage: "use private network configuration (if --config-file option is not specified)"},
	cli.BoolFlag{Name: "mainnet, m", Usage: "use mainnet network configuration (if --config-file option is not specified)"},
	cli.BoolFlag{Name: "testnet, t", Usage: "use testnet network configuration (if --config-file option is not specified)"},
	cli.BoolFlag{Name: "unittest", Hidden: true},
}

Network is a set of flags for choosing the network to operate on (privnet/mainnet/testnet).

View Source
var RPC = []cli.Flag{
	cli.StringFlag{
		Name:  RPCEndpointFlag + ", r",
		Usage: "RPC node address",
	},
	cli.DurationFlag{
		Name:  "timeout, s",
		Value: DefaultTimeout,
		Usage: "Timeout for the operation",
	},
}

RPC is a set of flags used for RPC connections (endpoint and timeout).

Functions

func GetConfigFromContext added in v0.99.4

func GetConfigFromContext(ctx *cli.Context) (config.Config, error)

GetConfigFromContext looks at the path and the mode flags in the given config and returns an appropriate config.

func GetInvoker added in v0.99.3

func GetInvoker(c *rpcclient.Client, ctx *cli.Context, signers []transaction.Signer) (*invoker.Invoker, cli.ExitCoder)

GetInvoker returns an invoker using the given RPC client, context and signers. It parses "--historic" parameter to adjust it.

func GetNetwork

func GetNetwork(ctx *cli.Context) netmode.Magic

GetNetwork examines Context's flags and returns the appropriate network. It defaults to PrivNet if no flags are given.

func GetRPCClient

func GetRPCClient(gctx context.Context, ctx *cli.Context) (*rpcclient.Client, cli.ExitCoder)

GetRPCClient returns an RPC client instance for the given Context.

func GetRPCWithInvoker added in v0.99.3

func GetRPCWithInvoker(gctx context.Context, ctx *cli.Context, signers []transaction.Signer) (*rpcclient.Client, *invoker.Invoker, cli.ExitCoder)

GetRPCWithInvoker combines GetRPCClient with GetInvoker for cases where it's appropriate to do so.

func GetTimeoutContext

func GetTimeoutContext(ctx *cli.Context) (context.Context, func())

GetTimeoutContext returns a context.Context with the default or a user-set timeout.

func HandleLoggingParams added in v0.99.4

func HandleLoggingParams(debug bool, cfg config.ApplicationConfiguration) (*zap.Logger, *zap.AtomicLevel, func() error, error)

HandleLoggingParams reads logging parameters. If a user selected debug level -- function enables it. If logPath is configured -- function creates a dir and a file for logging. If logPath is configured on Windows -- function returns closer to be able to close sink for the opened log output file.

func NewFilteringCore added in v0.99.4

func NewFilteringCore(next zapcore.Core, filter FilterFunc) zapcore.Core

NewFilteringCore returns a core middleware that uses the given filter function to decide whether to log this message or not.

Types

type FilterFunc added in v0.99.4

type FilterFunc func(zapcore.Entry) bool

FilterFunc is the filter function that is called to check whether the given entry together with the associated fields is to be written to a core or not.

type FilteringCore added in v0.99.4

type FilteringCore struct {
	zapcore.Core
	// contains filtered or unexported fields
}

FilteringCore is custom implementation of zapcore.Core that allows to filter log entries using custom filtering function.

func (*FilteringCore) Check added in v0.99.4

Check implements zapcore.Core interface and performs log entries filtering.

Jump to

Keyboard shortcuts

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