Documentation
¶
Overview ¶
Package options contains a set of common CLI options and helper functions to use them.
Index ¶
- Constants
- Variables
- func GetConfigFromContext(ctx *cli.Context) (config.Config, error)
- func GetInvoker(c *rpcclient.Client, ctx *cli.Context, signers []transaction.Signer) (*invoker.Invoker, cli.ExitCoder)
- func GetNetwork(ctx *cli.Context) netmode.Magic
- func GetRPCClient(gctx context.Context, ctx *cli.Context) (*rpcclient.Client, cli.ExitCoder)
- func GetRPCWithInvoker(gctx context.Context, ctx *cli.Context, signers []transaction.Signer) (*rpcclient.Client, *invoker.Invoker, cli.ExitCoder)
- func GetTimeoutContext(ctx *cli.Context) (context.Context, func())
- func HandleLoggingParams(debug bool, cfg config.ApplicationConfiguration) (*zap.Logger, *zap.AtomicLevel, func() error, error)
- func NewFilteringCore(next zapcore.Core, filter FilterFunc) zapcore.Core
- type FilterFunc
- type FilteringCore
Constants ¶
const DefaultTimeout = 10 * time.Second
DefaultTimeout is the default timeout used for RPC requests.
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 ¶
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.
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.
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.
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.
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).
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
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 ¶
GetNetwork examines Context's flags and returns the appropriate network. It defaults to PrivNet if no flags are given.
func GetRPCClient ¶
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 ¶
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
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
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
func (c *FilteringCore) Check(e zapcore.Entry, ce *zapcore.CheckedEntry) *zapcore.CheckedEntry
Check implements zapcore.Core interface and performs log entries filtering.