prompts

package
v1.0.3 Latest Latest
Warning

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

Go to latest
Published: Dec 9, 2022 License: BSD-3-Clause Imports: 18 Imported by: 4

Documentation

Overview

Copyright (C) 2022, Ava Labs, Inc. All rights reserved. See the file LICENSE for licensing terms.

Index

Constants

View Source
const (
	Yes = "Yes"
	No  = "No"

	Add      = "Add"
	Del      = "Delete"
	Preview  = "Preview"
	MoreInfo = "More Info"
	Done     = "Done"
	Cancel   = "Cancel"
)

Variables

This section is empty.

Functions

func CaptureListDecision added in v0.2.3

func CaptureListDecision[T comparable](

	prompter Prompter,

	prompt string,

	capture func(prompt string) (T, error),

	capturePrompt string,

	label string,

	info string,
) ([]T, bool, error)

CaptureListDecision runs a for loop and continuously asks the user for a specific input (currently only `CapturePChainAddress` and `CaptureAddress` is supported) until the user cancels or chooses `Done`. It does also offer an optional `info` to print (if provided) and a preview. Items can also be removed.

func CheckSubnetAuthKeys added in v1.0.0

func CheckSubnetAuthKeys(subnetAuthKeys []string, controlKeys []string, threshold uint32) error

check subnet authorization criteria: - [subnetAuthKeys] satisfy subnet's [threshold] - [subnetAuthKeys] is a subset of subnet's [controlKeys]

func GetFujiKeyOrLedger added in v1.0.0

func GetFujiKeyOrLedger(prompt Prompter, keyDir string) (bool, string, error)

func GetSubnetAuthKeys added in v1.0.0

func GetSubnetAuthKeys(prompt Prompter, controlKeys []string, threshold uint32) ([]string, error)

get subnet authorization keys from the user, as a subset of the subnet's [controlKeys] with a len equal to the subnet's [threshold]

Types

type Prompter added in v0.2.0

type Prompter interface {
	CapturePositiveBigInt(promptStr string) (*big.Int, error)
	CaptureAddress(promptStr string) (common.Address, error)
	CaptureNewFilepath(promptStr string) (string, error)
	CaptureExistingFilepath(promptStr string) (string, error)
	CaptureYesNo(promptStr string) (bool, error)
	CaptureNoYes(promptStr string) (bool, error)
	CaptureList(promptStr string, options []string) (string, error)
	CaptureString(promptStr string) (string, error)
	CaptureGitURL(promptStr string) (*url.URL, error)
	CaptureStringAllowEmpty(promptStr string) (string, error)
	CaptureEmail(promptStr string) (string, error)
	CaptureIndex(promptStr string, options []any) (int, error)
	CaptureVersion(promptStr string) (string, error)
	CaptureDuration(promptStr string) (time.Duration, error)
	CaptureDate(promptStr string) (time.Time, error)
	CaptureNodeID(promptStr string) (ids.NodeID, error)
	CaptureID(promptStr string) (ids.ID, error)
	CaptureWeight(promptStr string) (uint64, error)
	CaptureUint64(promptStr string) (uint64, error)
	CapturePChainAddress(promptStr string, network models.Network) (string, error)
	ChooseKeyOrLedger() (bool, error)
}

func NewPrompter added in v0.2.0

func NewPrompter() Prompter

NewProcessChecker creates a new process checker which can respond if the server is running

Jump to

Keyboard shortcuts

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