cmd

package
v2.11.0 Latest Latest
Warning

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

Go to latest
Published: May 1, 2024 License: MIT Imports: 108 Imported by: 4

Documentation

Overview

Package cmd is the front-end interface for the application as a command-line utility.

KeyStoreAuthenticator

KeyStoreAuthenticator prompts the user for their password, which is used to unlock their keystore file to interact with the Ethereum blockchain. Since multiple keystore files can exist at the configured directory, the KeyStoreAuthenticator will try the password on all keystore files present.

Shell

Shell is how the application is invoked from the command line. When you run the binary, for example `./chainlink n`, Shell.RunNode is called to start the Chainlink core. Similarly, running `./chainlink j` returns information on all jobs in the node, and `./chainlink s` with another argument as a JobID gives information specific to that job.

Renderer

Renderer helps format and display data (based on the kind of data it is) to the command line.

Index

Constants

View Source
const BootstrapTemplate = `` /* 330-byte string literal not displayed */
View Source
const DKGTemplate = `` /* 451-byte string literal not displayed */
View Source
const OCR2VRFTemplate = `` /* 584-byte string literal not displayed */

Variables

View Source
var ErrNoCredentialFile = errors.New("no API user credential file was passed")
View Source
var ErrProfileTooLong = errors.New("requested profile duration too large")
View Source
var (
	// ErrorNoAPICredentialsAvailable is returned when not run from a terminal
	// and no API credentials have been provided
	ErrorNoAPICredentialsAvailable = errors.New("API credentials must be supplied")
)

Functions

func NewApp

func NewApp(s *Shell) *cli.App

NewApp returns the command-line parser/function-router for the given client

Types

type APIInitializer

type APIInitializer interface {
	// Initialize creates a new local Admin user for API access, or does nothing if one exists.
	Initialize(orm sessions.BasicAdminUsersORM, lggr logger.Logger) (sessions.User, error)
}

APIInitializer is the interface used to create the API User credentials needed to access the API. Does nothing if API user already exists.

func NewFileAPIInitializer

func NewFileAPIInitializer(file string) APIInitializer

NewFileAPIInitializer creates a concrete instance of APIInitializer that pulls API user credentials from the passed file path.

func NewPromptingAPIInitializer

func NewPromptingAPIInitializer(prompter Prompter) APIInitializer

NewPromptingAPIInitializer creates a concrete instance of APIInitializer that uses the terminal to solicit credentials from the user.

type AdminUsersPresenter

type AdminUsersPresenter struct {
	JAID
	presenters.UserResource
}

func (*AdminUsersPresenter) RenderTable

func (p *AdminUsersPresenter) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

func (*AdminUsersPresenter) ToRow

func (p *AdminUsersPresenter) ToRow() []string

type AdminUsersPresenters

type AdminUsersPresenters []AdminUsersPresenter

func (AdminUsersPresenters) RenderTable

func (ps AdminUsersPresenters) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

type AppFactory

type AppFactory interface {
	NewApplication(ctx context.Context, cfg chainlink.GeneralConfig, appLggr logger.Logger, db *sqlx.DB) (chainlink.Application, error)
}

AppFactory implements the NewApplication method.

type BridgePresenter

type BridgePresenter struct {
	presenters.BridgeResource
}

func (*BridgePresenter) FriendlyConfirmations

func (p *BridgePresenter) FriendlyConfirmations() string

FriendlyConfirmations converts the confirmations to a string

func (*BridgePresenter) RenderTable

func (p *BridgePresenter) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

type BridgePresenters

type BridgePresenters []BridgePresenter

func (BridgePresenters) RenderTable

func (ps BridgePresenters) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

type CSAKeyPresenter

type CSAKeyPresenter struct {
	JAID
	presenters.CSAKeyResource
}

func (*CSAKeyPresenter) RenderTable

func (p *CSAKeyPresenter) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

func (*CSAKeyPresenter) ToRow

func (p *CSAKeyPresenter) ToRow() []string

type CSAKeyPresenters

type CSAKeyPresenters []CSAKeyPresenter

func (CSAKeyPresenters) RenderTable

func (ps CSAKeyPresenters) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

type ChainClient

type ChainClient interface {
	IndexChains(c *cli.Context) error
}

ChainClient is a generic client interface for any type of chain.

func CosmosChainClient

func CosmosChainClient(s *Shell) ChainClient

func EVMChainClient

func EVMChainClient(s *Shell) ChainClient

func SolanaChainClient

func SolanaChainClient(s *Shell) ChainClient

func StarkNetChainClient

func StarkNetChainClient(s *Shell) ChainClient

type ChainlinkAppFactory

type ChainlinkAppFactory struct{}

ChainlinkAppFactory is used to create a new Application.

func (ChainlinkAppFactory) NewApplication

func (n ChainlinkAppFactory) NewApplication(ctx context.Context, cfg chainlink.GeneralConfig, appLggr logger.Logger, sqlxDB *sqlx.DB) (app chainlink.Application, err error)

NewApplication returns a new instance of the node with the given config.

type ChainlinkRunner

type ChainlinkRunner struct{}

ChainlinkRunner is used to run the node application.

func (ChainlinkRunner) Run

Run sets the log level based on config and starts the web router to listen for input and return data.

type ChangePasswordPrompter

type ChangePasswordPrompter interface {
	Prompt() (web.UpdatePasswordRequest, error)
}

ChangePasswordPrompter is an interface primarily used for DI to obtain a password change request from the User.

func NewChangePasswordPrompter

func NewChangePasswordPrompter() ChangePasswordPrompter

NewChangePasswordPrompter returns the production password change request prompter

type ClientOpts

type ClientOpts struct {
	RemoteNodeURL      url.URL
	InsecureSkipVerify bool
}

type CookieAuthenticator

type CookieAuthenticator interface {
	Cookie() (*http.Cookie, error)
	Authenticate(context.Context, sessions.SessionRequest) (*http.Cookie, error)
	Logout() error
}

CookieAuthenticator is the interface to generating a cookie to authenticate future HTTP requests.

func NewSessionCookieAuthenticator

func NewSessionCookieAuthenticator(config ClientOpts, store CookieStore, lggr logger.Logger) CookieAuthenticator

NewSessionCookieAuthenticator creates a SessionCookieAuthenticator using the passed config and builder.

type CookieStore

type CookieStore interface {
	Save(cookie *http.Cookie) error
	Retrieve() (*http.Cookie, error)
	Reset() error
}

CookieStore is a place to store and retrieve cookies.

type CosmosChainPresenter

type CosmosChainPresenter struct {
	presenters.CosmosChainResource
}

CosmosChainPresenter implements TableRenderer for a CosmosChainResource

func (CosmosChainPresenter) RenderTable

func (p CosmosChainPresenter) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer Just renders a single row

func (*CosmosChainPresenter) ToRow

func (p *CosmosChainPresenter) ToRow() []string

ToRow presents the CosmosChainResource as a slice of strings.

type CosmosChainPresenters

type CosmosChainPresenters []CosmosChainPresenter

CosmosChainPresenters implements TableRenderer for a slice of CosmosChainPresenters.

func (CosmosChainPresenters) RenderTable

func (ps CosmosChainPresenters) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

type CosmosKeyPresenter

type CosmosKeyPresenter struct {
	JAID
	presenters.CosmosKeyResource
}

func (CosmosKeyPresenter) RenderTable

func (p CosmosKeyPresenter) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

func (*CosmosKeyPresenter) ToRow

func (p *CosmosKeyPresenter) ToRow() []string

type CosmosKeyPresenters

type CosmosKeyPresenters []CosmosKeyPresenter

func (CosmosKeyPresenters) RenderTable

func (ps CosmosKeyPresenters) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

type CosmosMsgPresenter

type CosmosMsgPresenter struct {
	JAID
	presenters.CosmosMsgResource
}

func (*CosmosMsgPresenter) RenderTable

func (p *CosmosMsgPresenter) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

type CosmosNodePresenter

type CosmosNodePresenter struct {
	presenters.CosmosNodeResource
}

CosmosNodePresenter implements TableRenderer for a CosmosNodeResource.

func (CosmosNodePresenter) RenderTable

func (p CosmosNodePresenter) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

func (*CosmosNodePresenter) ToRow

func (p *CosmosNodePresenter) ToRow() []string

ToRow presents the CosmosNodeResource as a slice of strings.

type CosmosNodePresenters

type CosmosNodePresenters []CosmosNodePresenter

CosmosNodePresenters implements TableRenderer for a slice of CosmosNodePresenter.

func (CosmosNodePresenters) RenderTable

func (ps CosmosNodePresenters) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

type DKGEncryptKeyPresenter

type DKGEncryptKeyPresenter struct {
	JAID
	presenters.DKGEncryptKeyResource
}

func (DKGEncryptKeyPresenter) RenderTable

func (p DKGEncryptKeyPresenter) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

func (*DKGEncryptKeyPresenter) ToRow

func (p *DKGEncryptKeyPresenter) ToRow() []string

type DKGEncryptKeyPresenters

type DKGEncryptKeyPresenters []DKGEncryptKeyPresenter

func (DKGEncryptKeyPresenters) RenderTable

func (ps DKGEncryptKeyPresenters) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

type DKGSignKeyPresenter

type DKGSignKeyPresenter struct {
	JAID
	presenters.DKGSignKeyResource
}

func (DKGSignKeyPresenter) RenderTable

func (p DKGSignKeyPresenter) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

func (*DKGSignKeyPresenter) ToRow

func (p *DKGSignKeyPresenter) ToRow() []string

type DKGSignKeyPresenters

type DKGSignKeyPresenters []DKGSignKeyPresenter

func (DKGSignKeyPresenters) RenderTable

func (ps DKGSignKeyPresenters) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

type DiskCookieConfig

type DiskCookieConfig interface {
	RootDir() string
}

type DiskCookieStore

type DiskCookieStore struct {
	Config DiskCookieConfig
}

DiskCookieStore saves a single cookie in the local cli working directory.

func (DiskCookieStore) Reset

func (d DiskCookieStore) Reset() error

Removes any stored cookie.

func (DiskCookieStore) Retrieve

func (d DiskCookieStore) Retrieve() (*http.Cookie, error)

Retrieve returns any Saved cookies.

func (DiskCookieStore) Save

func (d DiskCookieStore) Save(cookie *http.Cookie) error

Save stores a cookie.

type EVMChainPresenter

type EVMChainPresenter struct {
	presenters.EVMChainResource
}

EVMChainPresenter implements TableRenderer for an EVMChainResource.

func (EVMChainPresenter) RenderTable

func (p EVMChainPresenter) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer Just renders a single row

func (*EVMChainPresenter) ToRow

func (p *EVMChainPresenter) ToRow() []string

ToRow presents the EVMChainResource as a slice of strings.

type EVMChainPresenters

type EVMChainPresenters []EVMChainPresenter

EVMChainPresenters implements TableRenderer for a slice of EVMChainPresenters.

func (EVMChainPresenters) RenderTable

func (ps EVMChainPresenters) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

type EVMForwarderPresenter

type EVMForwarderPresenter struct {
	JAID // This is needed to render the id for a JSONAPI Resource as normal JSON
	presenters.EVMForwarderResource
}

func (*EVMForwarderPresenter) RenderTable

func (p *EVMForwarderPresenter) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

func (*EVMForwarderPresenter) ToRow

func (p *EVMForwarderPresenter) ToRow() []string

ToRow presents the EVMForwarderResource as a slice of strings.

type EVMForwarderPresenters

type EVMForwarderPresenters []EVMForwarderPresenter

EVMForwarderPresenters implements TableRenderer for a slice of EVMForwarderPresenter.

func (EVMForwarderPresenters) RenderTable

func (ps EVMForwarderPresenters) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

type EVMNodePresenter

type EVMNodePresenter struct {
	presenters.EVMNodeResource
}

EVMNodePresenter implements TableRenderer for an EVMNodeResource.

func (EVMNodePresenter) RenderTable

func (p EVMNodePresenter) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

func (*EVMNodePresenter) ToRow

func (p *EVMNodePresenter) ToRow() []string

ToRow presents the EVMNodeResource as a slice of strings.

type EVMNodePresenters

type EVMNodePresenters []EVMNodePresenter

EVMNodePresenters implements TableRenderer for a slice of EVMNodePresenter.

func (EVMNodePresenters) RenderTable

func (ps EVMNodePresenters) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

type ErrIncompatible

type ErrIncompatible struct {
	CLIVersion, CLISha       string
	RemoteVersion, RemoteSha string
}

ErrIncompatible is returned when the cli and remote versions are not compatible.

func (ErrIncompatible) Error

func (e ErrIncompatible) Error() string

type EthKeyPresenter

type EthKeyPresenter struct {
	presenters.ETHKeyResource
}

func (*EthKeyPresenter) RenderTable

func (p *EthKeyPresenter) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

func (*EthKeyPresenter) ToRow

func (p *EthKeyPresenter) ToRow() []string

type EthKeyPresenters

type EthKeyPresenters []EthKeyPresenter

func (EthKeyPresenters) RenderTable

func (ps EthKeyPresenters) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

type EthTxPresenter

type EthTxPresenter struct {
	JAID
	presenters.EthTxResource
}

func (*EthTxPresenter) RenderTable

func (p *EthTxPresenter) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

type EthTxPresenters

type EthTxPresenters []EthTxPresenter

func (EthTxPresenters) RenderTable

func (ps EthTxPresenters) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

type ExternalInitiatorPresenter

type ExternalInitiatorPresenter struct {
	JAID
	presenters.ExternalInitiatorResource
}

func (*ExternalInitiatorPresenter) RenderTable

func (eip *ExternalInitiatorPresenter) RenderTable(rt RendererTable) error

func (*ExternalInitiatorPresenter) ToRow

func (eip *ExternalInitiatorPresenter) ToRow() []string

type ExternalInitiatorPresenters

type ExternalInitiatorPresenters []ExternalInitiatorPresenter

func (*ExternalInitiatorPresenters) RenderTable

func (eips *ExternalInitiatorPresenters) RenderTable(rt RendererTable) error

type HTTPClient

HTTPClient encapsulates all methods used to interact with a chainlink node API.

func NewAuthenticatedHTTPClient

func NewAuthenticatedHTTPClient(lggr logger.Logger, clientOpts ClientOpts, cookieAuth CookieAuthenticator, sessionRequest sessions.SessionRequest) HTTPClient

NewAuthenticatedHTTPClient uses the CookieAuthenticator to generate a sessionID which is then used for all subsequent HTTP API requests.

type HealthCheckPresenter

type HealthCheckPresenter struct {
	webPresenters.Check
}

func (*HealthCheckPresenter) ToRow

func (p *HealthCheckPresenter) ToRow() []string

type HealthCheckPresenters

type HealthCheckPresenters []HealthCheckPresenter

func (HealthCheckPresenters) RenderTable

func (ps HealthCheckPresenters) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

type JAID

type JAID struct {
	ID string `json:"id"`
}

JAID represents a JSON API ID.

It implements the api2go MarshalIdentifier and UnmarshalIdentitier interface.

When you embed a JSONAPI resource into a presenter, it will not render the ID into the JSON object when you perform a json.Marshal. Instead we use this to override the ID field of the resource with a JSON tag that will render.

Embed this into a Presenter to render the ID. For example

type JobPresenter struct {
	JAID
	presenters.JobResource
}

func NewJAID

func NewJAID(id string) JAID

func (JAID) GetID

func (jaid JAID) GetID() string

GetID implements the api2go MarshalIdentifier interface.

func (*JAID) SetID

func (jaid *JAID) SetID(value string) error

SetID implements the api2go UnmarshalIdentitier interface.

type JobPresenter

type JobPresenter struct {
	JAID // This is needed to render the id for a JSONAPI Resource as normal JSON
	presenters.JobResource
}

JobPresenter wraps the JSONAPI Job Resource and adds rendering functionality

func (JobPresenter) FriendlyCreatedAt

func (p JobPresenter) FriendlyCreatedAt() string

FriendlyCreatedAt returns the created at timestamp of the spec which matches the type in RFC3339 format.

func (JobPresenter) FriendlyTasks

func (p JobPresenter) FriendlyTasks() []string

FriendlyTasks returns the tasks

func (JobPresenter) GetTasks

func (p JobPresenter) GetTasks() ([]string, error)

GetTasks extracts the tasks from the dependency graph

func (*JobPresenter) RenderTable

func (p *JobPresenter) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

func (JobPresenter) ToRows

func (p JobPresenter) ToRows() [][]string

ToRows returns the job as a multiple rows per task

type JobPresenters

type JobPresenters []JobPresenter

func (JobPresenters) RenderTable

func (ps JobPresenters) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

type KeysClient

type KeysClient interface {
	CreateKey(*cli.Context) error
	ImportKey(*cli.Context) error
	ExportKey(*cli.Context) error
	DeleteKey(*cli.Context) error
	ListKeys(*cli.Context) error
}

KeysClient is a generic client interface for any type of key.

func NewCosmosKeysClient

func NewCosmosKeysClient(s *Shell) KeysClient

func NewDKGEncryptKeysClient

func NewDKGEncryptKeysClient(s *Shell) KeysClient

func NewDKGSignKeysClient

func NewDKGSignKeysClient(s *Shell) KeysClient

func NewSolanaKeysClient

func NewSolanaKeysClient(s *Shell) KeysClient

func NewStarkNetKeysClient

func NewStarkNetKeysClient(s *Shell) KeysClient

type MemoryCookieStore

type MemoryCookieStore struct {
	Cookie *http.Cookie
}

MemoryCookieStore keeps a single cookie in memory

func (*MemoryCookieStore) Reset

func (m *MemoryCookieStore) Reset() error

Removes any stored cookie.

func (*MemoryCookieStore) Retrieve

func (m *MemoryCookieStore) Retrieve() (*http.Cookie, error)

Retrieve returns any Saved cookies.

func (*MemoryCookieStore) Save

func (m *MemoryCookieStore) Save(cookie *http.Cookie) error

Save stores a cookie.

type NodeClient

type NodeClient interface {
	IndexNodes(c *cli.Context) error
}

NodeClient is a generic client interface for any of node.

func NewCosmosNodeClient

func NewCosmosNodeClient(s *Shell) NodeClient

func NewEVMNodeClient

func NewEVMNodeClient(s *Shell) NodeClient

func NewSolanaNodeClient

func NewSolanaNodeClient(s *Shell) NodeClient

func NewStarkNetNodeClient

func NewStarkNetNodeClient(s *Shell) NodeClient

type OCR2KeyBundlePresenter

type OCR2KeyBundlePresenter struct {
	JAID // Include this to overwrite the presenter JAID so it can correctly render the ID in JSON
	presenters.OCR2KeysBundleResource
}

func (*OCR2KeyBundlePresenter) RenderTable

func (p *OCR2KeyBundlePresenter) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

func (*OCR2KeyBundlePresenter) ToRow

func (p *OCR2KeyBundlePresenter) ToRow() []string

type OCR2KeyBundlePresenters

type OCR2KeyBundlePresenters []OCR2KeyBundlePresenter

func (OCR2KeyBundlePresenters) RenderTable

func (ps OCR2KeyBundlePresenters) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

type OCRKeyBundlePresenter

type OCRKeyBundlePresenter struct {
	JAID // Include this to overwrite the presenter JAID so it can correctly render the ID in JSON
	presenters.OCRKeysBundleResource
}

func (*OCRKeyBundlePresenter) RenderTable

func (p *OCRKeyBundlePresenter) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

func (*OCRKeyBundlePresenter) ToRow

func (p *OCRKeyBundlePresenter) ToRow() []string

type OCRKeyBundlePresenters

type OCRKeyBundlePresenters []OCRKeyBundlePresenter

func (OCRKeyBundlePresenters) RenderTable

func (ps OCRKeyBundlePresenters) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

type P2PKeyPresenter

type P2PKeyPresenter struct {
	JAID
	presenters.P2PKeyResource
}

func (*P2PKeyPresenter) RenderTable

func (p *P2PKeyPresenter) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

func (*P2PKeyPresenter) ToRow

func (p *P2PKeyPresenter) ToRow() []string

type P2PKeyPresenters

type P2PKeyPresenters []P2PKeyPresenter

func (P2PKeyPresenters) RenderTable

func (ps P2PKeyPresenters) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

type PasswordPrompter

type PasswordPrompter interface {
	Prompt() string
}

PasswordPrompter is an interface primarily used for DI to obtain a password from the User.

func NewPasswordPrompter

func NewPasswordPrompter() PasswordPrompter

NewPasswordPrompter returns the production password change request prompter

type Prompter

type Prompter interface {
	Prompt(string) string
	PasswordPrompt(string) string
	IsTerminal() bool
}

Prompter implements the Prompt function to be used to display at the console.

func NewTerminalPrompter

func NewTerminalPrompter() Prompter

NewTerminalPrompter prompts the user via terminal.

type Renderer

type Renderer interface {
	Render(interface{}, ...string) error
}

Renderer implements the Render method.

type RendererJSON

type RendererJSON struct {
	io.Writer
}

RendererJSON is used to render JSON data.

func (RendererJSON) Render

func (rj RendererJSON) Render(v interface{}, _ ...string) error

Render writes the given input as a JSON string.

type RendererTable

type RendererTable struct {
	io.Writer
}

RendererTable is used for data to be rendered as a table.

func (RendererTable) Render

func (rt RendererTable) Render(v interface{}, headers ...string) error

Render returns a formatted table of text for a given Job or presenter and relevant information.

type Runner

type Runner interface {
	Run(context.Context, chainlink.Application) error
}

Runner implements the Run method.

type SessionCookieAuthenticator

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

SessionCookieAuthenticator is a concrete implementation of CookieAuthenticator that retrieves a session id for the user with credentials from the session request.

func (*SessionCookieAuthenticator) Authenticate

func (t *SessionCookieAuthenticator) Authenticate(ctx context.Context, sessionRequest sessions.SessionRequest) (*http.Cookie, error)

Authenticate retrieves a session ID via a cookie and saves it to disk.

func (*SessionCookieAuthenticator) Cookie

func (t *SessionCookieAuthenticator) Cookie() (*http.Cookie, error)

Cookie Returns the previously saved authentication cookie.

func (*SessionCookieAuthenticator) Logout

func (t *SessionCookieAuthenticator) Logout() error

Deletes any stored session

type SessionRequestBuilder

type SessionRequestBuilder interface {
	Build(flag string) (sessions.SessionRequest, error)
}

SessionRequestBuilder is an interface that returns a SessionRequest, abstracting how session requests are generated, whether they be from the prompt or from a file.

func NewFileSessionRequestBuilder

func NewFileSessionRequestBuilder(lggr logger.Logger) SessionRequestBuilder

NewFileSessionRequestBuilder pulls credentials from a file to generate a SessionRequest.

func NewPromptingSessionRequestBuilder

func NewPromptingSessionRequestBuilder(prompter Prompter) SessionRequestBuilder

NewPromptingSessionRequestBuilder uses a prompter, often via terminal, to solicit information from a user to generate the SessionRequest.

type SetupOCR2VRFNodePayload

type SetupOCR2VRFNodePayload struct {
	OnChainPublicKey  string
	OffChainPublicKey string
	ConfigPublicKey   string
	PeerID            string
	Transmitter       string
	DkgEncrypt        string
	DkgSign           string
	SendingKeys       []string
}

type Shell added in v2.3.0

type Shell struct {
	Renderer
	Config                         chainlink.GeneralConfig // initialized in Before
	Logger                         logger.Logger           // initialized in Before
	CloseLogger                    func() error            // called in After
	AppFactory                     AppFactory
	KeyStoreAuthenticator          TerminalKeyStoreAuthenticator
	FallbackAPIInitializer         APIInitializer
	Runner                         Runner
	HTTP                           HTTPClient
	CookieAuthenticator            CookieAuthenticator
	FileSessionRequestBuilder      SessionRequestBuilder
	PromptingSessionRequestBuilder SessionRequestBuilder
	ChangePasswordPrompter         ChangePasswordPrompter
	PasswordPrompter               PasswordPrompter
	// contains filtered or unexported fields
}

Shell for the node, local commands and remote commands.

func (*Shell) ChangePassword added in v2.3.0

func (s *Shell) ChangePassword(_ *cli.Context) (err error)

ChangePassword prompts the user for the old password and a new one, then posts it to Chainlink to change the password.

func (*Shell) ChangeRole added in v2.3.0

func (s *Shell) ChangeRole(c *cli.Context) (err error)

ChangeRole can change a user's role

func (*Shell) CleanupChainTables added in v2.4.0

func (s *Shell) CleanupChainTables(c *cli.Context) error

CleanupChainTables deletes database table rows based on chain type and chain id input.

func (*Shell) ConfigFileValidate added in v2.3.0

func (s *Shell) ConfigFileValidate(_ *cli.Context) error

ConfigValidate validate the client configuration and pretty-prints results

func (*Shell) ConfigV2 added in v2.3.0

func (s *Shell) ConfigV2(c *cli.Context) error

func (*Shell) ConfigureOCR2VRFNode added in v2.3.0

func (s *Shell) ConfigureOCR2VRFNode(c *cli.Context, owner *bind.TransactOpts, ec *ethclient.Client) (*SetupOCR2VRFNodePayload, error)

func (*Shell) CosmosSendNativeToken added in v2.5.0

func (s *Shell) CosmosSendNativeToken(c *cli.Context) (err error)

CosmosSendNativeToken transfers coins from the node's account to a specified address.

func (*Shell) CreateBridge added in v2.3.0

func (s *Shell) CreateBridge(c *cli.Context) (err error)

CreateBridge adds a new bridge to the chainlink node

func (*Shell) CreateCSAKey added in v2.3.0

func (s *Shell) CreateCSAKey(_ *cli.Context) (err error)

CreateCSAKey creates a new CSA key

func (*Shell) CreateETHKey added in v2.3.0

func (s *Shell) CreateETHKey(c *cli.Context) (err error)

CreateETHKey creates a new ethereum key with the same password as the one used to unlock the existing key.

func (*Shell) CreateExternalInitiator added in v2.3.0

func (s *Shell) CreateExternalInitiator(c *cli.Context) (err error)

CreateExternalInitiator adds an external initiator

func (*Shell) CreateJob added in v2.3.0

func (s *Shell) CreateJob(c *cli.Context) (err error)

CreateJob creates a job Valid input is a TOML string or a path to TOML file

func (*Shell) CreateMigration added in v2.3.0

func (s *Shell) CreateMigration(c *cli.Context) error

CreateMigration displays the database migration status

func (*Shell) CreateOCR2KeyBundle added in v2.3.0

func (s *Shell) CreateOCR2KeyBundle(c *cli.Context) error

CreateOCR2KeyBundle creates an OCR2 key bundle and saves it to the keystore

func (*Shell) CreateOCRKeyBundle added in v2.3.0

func (s *Shell) CreateOCRKeyBundle(_ *cli.Context) error

CreateOCR2KeyBundle creates an OCR key bundle and saves it to the keystore

func (*Shell) CreateP2PKey added in v2.3.0

func (s *Shell) CreateP2PKey(_ *cli.Context) (err error)

CreateP2PKey creates a new P2P key

func (*Shell) CreateUser added in v2.3.0

func (s *Shell) CreateUser(c *cli.Context) (err error)

CreateUser creates a new user by prompting for email, password, and role

func (*Shell) CreateVRFKey added in v2.3.0

func (s *Shell) CreateVRFKey(_ *cli.Context) error

CreateVRFKey creates a key in the VRF keystore, protected by the password in the vrf password file provided when starting the chainlink node.

func (*Shell) DeleteETHKey added in v2.3.0

func (s *Shell) DeleteETHKey(c *cli.Context) (err error)

DeleteETHKey hard deletes an Ethereum key, address of key must be passed

func (*Shell) DeleteExternalInitiator added in v2.3.0

func (s *Shell) DeleteExternalInitiator(c *cli.Context) (err error)

DeleteExternalInitiator removes an external initiator

func (*Shell) DeleteForwarder added in v2.3.0

func (s *Shell) DeleteForwarder(c *cli.Context) (err error)

DeleteForwarder deletes forwarder address from node db by id.

func (*Shell) DeleteJob added in v2.3.0

func (s *Shell) DeleteJob(c *cli.Context) error

DeleteJob deletes a job

func (*Shell) DeleteOCR2KeyBundle added in v2.3.0

func (s *Shell) DeleteOCR2KeyBundle(c *cli.Context) error

DeleteOCR2KeyBundle deletes an OCR2 key bundle

func (*Shell) DeleteOCRKeyBundle added in v2.3.0

func (s *Shell) DeleteOCRKeyBundle(c *cli.Context) error

DeleteOCR2KeyBundle deletes an OCR key bundle

func (*Shell) DeleteP2PKey added in v2.3.0

func (s *Shell) DeleteP2PKey(c *cli.Context) (err error)

DeleteP2PKey deletes a P2P key, key ID must be passed

func (*Shell) DeleteUser added in v2.3.0

func (s *Shell) DeleteUser(c *cli.Context) (err error)

DeleteUser deletes an API user by email

func (*Shell) DeleteVRFKey added in v2.3.0

func (s *Shell) DeleteVRFKey(c *cli.Context) error

DeleteVRFKey deletes (hard or soft) the VRF key with given public key from the db and memory. V2 jobs referencing the VRF key will be removed if the key is deleted (no such protection for the V1 jobs exists).

func (*Shell) ExportCSAKey added in v2.3.0

func (s *Shell) ExportCSAKey(c *cli.Context) (err error)

ExportCSAKey exports a CSA key. Key ID must be passed.

func (*Shell) ExportETHKey added in v2.3.0

func (s *Shell) ExportETHKey(c *cli.Context) (err error)

ExportETHKey exports an ETH key, address must be passed

func (*Shell) ExportOCR2Key added in v2.3.0

func (s *Shell) ExportOCR2Key(c *cli.Context) (err error)

ExportOCR2Key exports an OCR2 key bundle by ID

func (*Shell) ExportOCRKey added in v2.3.0

func (s *Shell) ExportOCRKey(c *cli.Context) (err error)

ExportOCR2Key exports an OCR key bundle by ID

func (*Shell) ExportP2PKey added in v2.3.0

func (s *Shell) ExportP2PKey(c *cli.Context) (err error)

ExportP2PKey exports a P2P key, key ID must be passed

func (*Shell) ExportVRFKey added in v2.3.0

func (s *Shell) ExportVRFKey(c *cli.Context) error

ExportVRFKey saves encrypted copy of VRF key with given public key to requested file path.

func (*Shell) Health added in v2.9.0

func (s *Shell) Health(c *cli.Context) error

func (*Shell) ImportCSAKey added in v2.3.0

func (s *Shell) ImportCSAKey(c *cli.Context) (err error)

ImportCSAKey imports and stores a CSA key. Path to key must be passed.

func (*Shell) ImportETHKey added in v2.3.0

func (s *Shell) ImportETHKey(c *cli.Context) (err error)

ImportETHKey imports an Ethereum key, file path must be passed

func (*Shell) ImportOCR2Key added in v2.3.0

func (s *Shell) ImportOCR2Key(c *cli.Context) (err error)

ImportOCR2Key imports OCR2 key bundle

func (*Shell) ImportOCRKey added in v2.3.0

func (s *Shell) ImportOCRKey(c *cli.Context) (err error)

ImportOCR2Key imports OCR key bundle

func (*Shell) ImportP2PKey added in v2.3.0

func (s *Shell) ImportP2PKey(c *cli.Context) (err error)

ImportP2PKey imports and stores a P2P key, path to key must be passed

func (*Shell) ImportVRFKey added in v2.3.0

func (s *Shell) ImportVRFKey(c *cli.Context) error

ImportVRFKey reads a file into an EncryptedVRFKey in the db

func (*Shell) IndexBridges added in v2.3.0

func (s *Shell) IndexBridges(c *cli.Context) (err error)

IndexBridges returns all bridges.

func (*Shell) IndexExternalInitiators added in v2.3.0

func (s *Shell) IndexExternalInitiators(c *cli.Context) (err error)

IndexExternalInitiators lists external initiators

func (*Shell) IndexTransactions added in v2.3.0

func (s *Shell) IndexTransactions(c *cli.Context) error

IndexTransactions returns the list of transactions in descending order, taking an optional page parameter

func (*Shell) IndexTxAttempts added in v2.3.0

func (s *Shell) IndexTxAttempts(c *cli.Context) error

IndexTxAttempts returns the list of transactions in descending order, taking an optional page parameter

func (*Shell) ListCSAKeys added in v2.3.0

func (s *Shell) ListCSAKeys(_ *cli.Context) (err error)

ListCSAKeys retrieves a list of all CSA keys

func (*Shell) ListETHKeys added in v2.3.0

func (s *Shell) ListETHKeys(_ *cli.Context) (err error)

ListETHKeys renders the active account address with its ETH & LINK balance

func (*Shell) ListForwarders added in v2.3.0

func (s *Shell) ListForwarders(c *cli.Context) (err error)

ListForwarders list all forwarder addresses tracked by node

func (*Shell) ListJobs added in v2.3.0

func (s *Shell) ListJobs(c *cli.Context) (err error)

ListJobs lists all jobs

func (*Shell) ListOCR2KeyBundles added in v2.3.0

func (s *Shell) ListOCR2KeyBundles(_ *cli.Context) error

ListOCR2KeyBundles lists the available OCR2 Key Bundles

func (*Shell) ListOCRKeyBundles added in v2.3.0

func (s *Shell) ListOCRKeyBundles(_ *cli.Context) error

ListOCRKeyBundles lists the available OCR Key Bundles

func (*Shell) ListP2PKeys added in v2.3.0

func (s *Shell) ListP2PKeys(_ *cli.Context) (err error)

ListP2PKeys retrieves a list of all P2P keys

func (*Shell) ListUsers added in v2.3.0

func (s *Shell) ListUsers(_ *cli.Context) (err error)

ListUsers renders all API users and their roles

func (*Shell) ListVRFKeys added in v2.3.0

func (s *Shell) ListVRFKeys(_ *cli.Context) error

ListKeys Lists the keys in the db

func (*Shell) Logout added in v2.3.0

func (s *Shell) Logout(_ *cli.Context) (err error)

Logout removes local and remote session.

func (*Shell) MigrateDatabase added in v2.3.0

func (s *Shell) MigrateDatabase(_ *cli.Context) error

MigrateDatabase migrates the database

func (*Shell) PrepareTestDatabase added in v2.3.0

func (s *Shell) PrepareTestDatabase(c *cli.Context) error

PrepareTestDatabase calls ResetDatabase then loads fixtures required for tests

func (*Shell) PrepareTestDatabaseUserOnly added in v2.3.0

func (s *Shell) PrepareTestDatabaseUserOnly(c *cli.Context) error

PrepareTestDatabaseUserOnly calls ResetDatabase then loads only user fixtures required for local testing against testnets. Does not include fake chain fixtures.

func (*Shell) Profile added in v2.3.0

func (s *Shell) Profile(c *cli.Context) error

Profile will collect pprof metrics and store them in a folder.

func (*Shell) RebroadcastTransactions added in v2.3.0

func (s *Shell) RebroadcastTransactions(c *cli.Context) (err error)

RebroadcastTransactions run locally to force manual rebroadcasting of transactions in a given nonce range.

func (*Shell) RemoteLogin added in v2.3.0

func (s *Shell) RemoteLogin(c *cli.Context) error

RemoteLogin creates a cookie session to run remote commands.

func (*Shell) RemoveBridge added in v2.3.0

func (s *Shell) RemoveBridge(c *cli.Context) (err error)

RemoveBridge removes a specific Bridge by name.

func (*Shell) ReplayFromBlock added in v2.3.0

func (s *Shell) ReplayFromBlock(c *cli.Context) (err error)

ReplayFromBlock replays chain data from the given block number until the most recent

func (*Shell) ResetDatabase added in v2.3.0

func (s *Shell) ResetDatabase(c *cli.Context) error

ResetDatabase drops, creates and migrates the database specified by CL_DATABASE_URL or Database.URL in secrets TOML. This is useful to set up the database for testing

func (*Shell) RollbackDatabase added in v2.3.0

func (s *Shell) RollbackDatabase(c *cli.Context) error

RollbackDatabase rolls back the database via down migrations.

func (*Shell) RunNode added in v2.3.0

func (s *Shell) RunNode(c *cli.Context) error

RunNode starts the Chainlink core.

func (*Shell) SendEther added in v2.3.0

func (s *Shell) SendEther(c *cli.Context) (err error)

SendEther transfers ETH from the node's account to a specified address.

func (*Shell) SetLogLevel added in v2.3.0

func (s *Shell) SetLogLevel(c *cli.Context) (err error)

SetLogLevel sets the log level on the node

func (*Shell) SetLogSQL added in v2.3.0

func (s *Shell) SetLogSQL(c *cli.Context) (err error)

SetLogSQL enables or disables the log sql statements

func (*Shell) ShowBridge added in v2.3.0

func (s *Shell) ShowBridge(c *cli.Context) (err error)

ShowBridge returns the info for the given Bridge name.

func (*Shell) ShowJob added in v2.3.0

func (s *Shell) ShowJob(c *cli.Context) (err error)

ShowJob displays the details of a job

func (*Shell) ShowTransaction added in v2.3.0

func (s *Shell) ShowTransaction(c *cli.Context) (err error)

ShowTransaction returns the info for the given transaction hash

func (*Shell) SolanaSendSol added in v2.3.0

func (s *Shell) SolanaSendSol(c *cli.Context) (err error)

SolanaSendSol transfers sol from the node's account to a specified address.

func (*Shell) Status added in v2.3.0

func (s *Shell) Status(c *cli.Context) error

Status will display the health of various services

func (*Shell) StatusDatabase added in v2.3.0

func (s *Shell) StatusDatabase(_ *cli.Context) error

StatusDatabase displays the database migration status

func (*Shell) TrackForwarder added in v2.3.0

func (s *Shell) TrackForwarder(c *cli.Context) (err error)

TrackForwarder tracks forwarder address in db.

func (*Shell) TriggerPipelineRun added in v2.3.0

func (s *Shell) TriggerPipelineRun(c *cli.Context) error

TriggerPipelineRun triggers a job run based on a job ID

func (*Shell) UpdateChainEVMKey added in v2.3.0

func (s *Shell) UpdateChainEVMKey(c *cli.Context) (err error)

UpdateChainEVMKey updates settings for the given key on the given chain

func (*Shell) VersionDatabase added in v2.3.0

func (s *Shell) VersionDatabase(_ *cli.Context) error

VersionDatabase displays the current database version.

type SolanaChainPresenter

type SolanaChainPresenter struct {
	presenters.SolanaChainResource
}

SolanaChainPresenter implements TableRenderer for a SolanaChainResource

func (SolanaChainPresenter) RenderTable

func (p SolanaChainPresenter) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer Just renders a single row

func (*SolanaChainPresenter) ToRow

func (p *SolanaChainPresenter) ToRow() []string

ToRow presents the SolanaChainResource as a slice of strings.

type SolanaChainPresenters

type SolanaChainPresenters []SolanaChainPresenter

SolanaChainPresenters implements TableRenderer for a slice of SolanaChainPresenters.

func (SolanaChainPresenters) RenderTable

func (ps SolanaChainPresenters) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

type SolanaKeyPresenter

type SolanaKeyPresenter struct {
	JAID
	presenters.SolanaKeyResource
}

func (SolanaKeyPresenter) RenderTable

func (p SolanaKeyPresenter) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

func (*SolanaKeyPresenter) ToRow

func (p *SolanaKeyPresenter) ToRow() []string

type SolanaKeyPresenters

type SolanaKeyPresenters []SolanaKeyPresenter

func (SolanaKeyPresenters) RenderTable

func (ps SolanaKeyPresenters) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

type SolanaMsgPresenter

type SolanaMsgPresenter struct {
	JAID
	presenters.SolanaMsgResource
}

func (*SolanaMsgPresenter) RenderTable

func (p *SolanaMsgPresenter) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

type SolanaNodePresenter

type SolanaNodePresenter struct {
	presenters.SolanaNodeResource
}

SolanaNodePresenter implements TableRenderer for a SolanaNodeResource.

func (SolanaNodePresenter) RenderTable

func (p SolanaNodePresenter) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

func (*SolanaNodePresenter) ToRow

func (p *SolanaNodePresenter) ToRow() []string

ToRow presents the SolanaNodeResource as a slice of strings.

type SolanaNodePresenters

type SolanaNodePresenters []SolanaNodePresenter

SolanaNodePresenters implements TableRenderer for a slice of SolanaNodePresenter.

func (SolanaNodePresenters) RenderTable

func (ps SolanaNodePresenters) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

type StarkNetChainPresenter

type StarkNetChainPresenter struct {
	presenters.StarkNetChainResource
}

StarkNetChainPresenter implements TableRenderer for a StarkNetChainResource

func (StarkNetChainPresenter) RenderTable

func (p StarkNetChainPresenter) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer Just renders a single row

func (*StarkNetChainPresenter) ToRow

func (p *StarkNetChainPresenter) ToRow() []string

ToRow presents the StarkNetChainResource as a slice of strings.

type StarkNetChainPresenters

type StarkNetChainPresenters []StarkNetChainPresenter

StarkNetChainPresenters implements TableRenderer for a slice of StarkNetChainPresenters.

func (StarkNetChainPresenters) RenderTable

func (ps StarkNetChainPresenters) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

type StarkNetKeyPresenter

type StarkNetKeyPresenter struct {
	JAID
	presenters.StarkNetKeyResource
}

func (StarkNetKeyPresenter) RenderTable

func (p StarkNetKeyPresenter) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

func (*StarkNetKeyPresenter) ToRow

func (p *StarkNetKeyPresenter) ToRow() []string

type StarkNetKeyPresenters

type StarkNetKeyPresenters []StarkNetKeyPresenter

func (StarkNetKeyPresenters) RenderTable

func (ps StarkNetKeyPresenters) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

type StarkNetNodePresenter

type StarkNetNodePresenter struct {
	presenters.StarkNetNodeResource
}

StarkNetNodePresenter implements TableRenderer for a StarkNetNodeResource.

func (StarkNetNodePresenter) RenderTable

func (p StarkNetNodePresenter) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

func (*StarkNetNodePresenter) ToRow

func (p *StarkNetNodePresenter) ToRow() []string

ToRow presents the StarkNetNodeResource as a slice of strings.

type StarkNetNodePresenters

type StarkNetNodePresenters []StarkNetNodePresenter

StarkNetNodePresenters implements TableRenderer for a slice of StarkNetNodePresenter.

func (StarkNetNodePresenters) RenderTable

func (ps StarkNetNodePresenters) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

type TableRenderer

type TableRenderer interface {
	RenderTable(rt RendererTable) error
}

type TerminalKeyStoreAuthenticator

type TerminalKeyStoreAuthenticator struct {
	Prompter Prompter
}

TerminalKeyStoreAuthenticator contains fields for prompting the user and an exit code.

type UserCache

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

func NewUserCache

func NewUserCache(subdir string, lggr func() logger.Logger) (*UserCache, error)

func (*UserCache) RootDir

func (cs *UserCache) RootDir() string

type VRFKeyPresenter

type VRFKeyPresenter struct {
	JAID // Include this to overwrite the presenter JAID so it can correctly render the ID in JSON
	presenters.VRFKeyResource
}

func (*VRFKeyPresenter) RenderTable

func (p *VRFKeyPresenter) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

func (*VRFKeyPresenter) ToRow

func (p *VRFKeyPresenter) ToRow() []string

type VRFKeyPresenters

type VRFKeyPresenters []VRFKeyPresenter

func (VRFKeyPresenters) RenderTable

func (ps VRFKeyPresenters) RenderTable(rt RendererTable) error

RenderTable implements TableRenderer

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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