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.
Client ¶
Client is how the application is invoked from the command line. When you run the binary, for example `./chainlink n`, client.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 ¶
- Variables
- func NewApp(client *Client) *cli.App
- type APIInitializer
- type AppFactory
- type BridgePresenter
- type BridgePresenters
- type ChainlinkAppFactory
- type ChainlinkRunner
- type ChangePasswordPrompter
- type Client
- func (cli *Client) ArchiveJobSpec(c *clipkg.Context) error
- func (cli *Client) CancelJobRun(c *clipkg.Context) error
- func (cli *Client) ChangePassword(c *clipkg.Context) (err error)
- func (cli *Client) CreateAndExportWeakVRFKey(c *cli.Context) error
- func (cli *Client) CreateBridge(c *cli.Context) (err error)
- func (cli *Client) CreateETHKey(c *cli.Context) (err error)
- func (cli *Client) CreateExternalInitiator(c *clipkg.Context) (err error)
- func (cli *Client) CreateJobRun(c *clipkg.Context) (err error)
- func (cli *Client) CreateJobSpec(c *clipkg.Context) (err error)
- func (cli *Client) CreateJobV2(c *cli.Context) (err error)
- func (cli *Client) CreateOCRKeyBundle(c *cli.Context) error
- func (cli *Client) CreateP2PKey(c *cli.Context) (err error)
- func (cli *Client) CreateServiceAgreement(c *clipkg.Context) (err error)
- func (cli *Client) CreateVRFKey(c *cli.Context) error
- func (cli *Client) DeleteETHKey(c *cli.Context) (err error)
- func (cli *Client) DeleteExternalInitiator(c *clipkg.Context) (err error)
- func (cli *Client) DeleteJobV2(c *cli.Context) error
- func (cli *Client) DeleteOCRKeyBundle(c *cli.Context) error
- func (cli *Client) DeleteP2PKey(c *cli.Context) (err error)
- func (cli *Client) DeleteUser(c *clipkg.Context) (err error)
- func (cli *Client) DeleteVRFKey(c *cli.Context) error
- func (cli *Client) ExportETHKey(c *cli.Context) (err error)
- func (cli *Client) ExportOCRKey(c *cli.Context) (err error)
- func (cli *Client) ExportP2PKey(c *cli.Context) (err error)
- func (cli *Client) ExportVRFKey(c *cli.Context) error
- func (cli *Client) GetConfiguration(c *clipkg.Context) (err error)
- func (cli *Client) HardReset(c *clipkg.Context) error
- func (cli *Client) ImportETHKey(c *cli.Context) (err error)
- func (cli *Client) ImportKey(c *clipkg.Context) error
- func (cli *Client) ImportOCRKey(c *cli.Context) (err error)
- func (cli *Client) ImportP2PKey(c *cli.Context) (err error)
- func (cli *Client) ImportVRFKey(c *cli.Context) error
- func (cli *Client) IndexBridges(c *cli.Context) (err error)
- func (cli *Client) IndexJobRuns(c *clipkg.Context) error
- func (cli *Client) IndexJobSpecs(c *clipkg.Context) error
- func (cli *Client) IndexTransactions(c *cli.Context) error
- func (cli *Client) IndexTxAttempts(c *cli.Context) error
- func (cli *Client) ListETHKeys(c *cli.Context) (err error)
- func (cli *Client) ListJobsV2(c *cli.Context) (err error)
- func (cli *Client) ListOCRKeyBundles(c *cli.Context) error
- func (cli *Client) ListP2PKeys(c *cli.Context) (err error)
- func (cli *Client) ListVRFKeys(c *cli.Context) error
- func (cli *Client) Migrate(c *cli.Context) error
- func (cli *Client) PrepareTestDatabase(c *clipkg.Context) error
- func (cli *Client) RebroadcastTransactions(c *clipkg.Context) (err error)
- func (cli *Client) RemoteLogin(c *clipkg.Context) error
- func (cli *Client) RemoveBridge(c *cli.Context) (err error)
- func (cli *Client) ResetDatabase(c *clipkg.Context) error
- func (cli *Client) RunNode(c *clipkg.Context) error
- func (cli *Client) SendEther(c *cli.Context) (err error)
- func (cli *Client) SetLogLevel(c *clipkg.Context) (err error)
- func (cli *Client) SetLogPkg(c *clipkg.Context) (err error)
- func (cli *Client) SetLogSQL(c *clipkg.Context) (err error)
- func (cli *Client) SetMinimumGasPrice(c *clipkg.Context) (err error)
- func (cli *Client) SetNextNonce(c *clipkg.Context) error
- func (cli *Client) ShowBridge(c *cli.Context) (err error)
- func (cli *Client) ShowJobRun(c *clipkg.Context) (err error)
- func (cli *Client) ShowJobSpec(c *clipkg.Context) (err error)
- func (cli *Client) ShowTransaction(c *cli.Context) (err error)
- func (cli *Client) TriggerPipelineRun(c *clipkg.Context) error
- type CookieAuthenticator
- type CookieStore
- type DiskCookieStore
- type EthKeyPresenter
- type EthKeyPresenters
- type EthTxPresenter
- type EthTxPresenters
- type HTTPClient
- type JAID
- type JobPresenter
- type JobPresenters
- type KeyStoreAuthenticator
- type MemoryCookieStore
- type OCRKeyBundlePresenter
- type OCRKeyBundlePresenters
- type P2PKeyPresenter
- type P2PKeyPresenters
- type PasswordPrompter
- type Prompter
- type Renderer
- type RendererJSON
- type RendererTable
- type Runner
- type SessionCookieAuthenticator
- type SessionRequestBuilder
- type TableRenderer
- type TerminalKeyStoreAuthenticator
- func (auth TerminalKeyStoreAuthenticator) Authenticate(store *store.Store, password string) (string, error)
- func (auth TerminalKeyStoreAuthenticator) AuthenticateOCRKey(store *store.Store, password string) error
- func (auth TerminalKeyStoreAuthenticator) AuthenticateVRFKey(store *store.Store, password string) error
- type VRFKeyPresenter
- type VRFKeyPresenters
Constants ¶
This section is empty.
Variables ¶
var ErrNoCredentialFile = errors.New("no API user credential file was passed")
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 ¶
Types ¶
type APIInitializer ¶
type APIInitializer interface { // Initialize creates a new user for API access, or does nothing if one exists. Initialize(store *store.Store) (models.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 AppFactory ¶
type AppFactory interface {
NewApplication(*orm.Config, ...func(chainlink.Application)) (chainlink.Application, error)
}
AppFactory implements the NewApplication method.
type BridgePresenter ¶ added in v0.10.6
type BridgePresenter struct {
presenters.BridgeResource
}
func (*BridgePresenter) FriendlyConfirmations ¶ added in v0.10.6
func (p *BridgePresenter) FriendlyConfirmations() string
FriendlyConfirmations converts the confirmations to a string
func (*BridgePresenter) RenderTable ¶ added in v0.10.6
func (p *BridgePresenter) RenderTable(rt RendererTable) error
RenderTable implements TableRenderer
type BridgePresenters ¶ added in v0.10.6
type BridgePresenters []BridgePresenter
func (BridgePresenters) RenderTable ¶ added in v0.10.6
func (ps BridgePresenters) RenderTable(rt RendererTable) error
RenderTable implements TableRenderer
type ChainlinkAppFactory ¶
type ChainlinkAppFactory struct{}
ChainlinkAppFactory is used to create a new Application.
func (ChainlinkAppFactory) NewApplication ¶
func (n ChainlinkAppFactory) NewApplication(config *orm.Config, onConnectCallbacks ...func(chainlink.Application)) (chainlink.Application, 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 ¶
func (n ChainlinkRunner) Run(app chainlink.Application) error
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 Client ¶
type Client struct { Renderer Config *orm.Config AppFactory AppFactory KeyStoreAuthenticator KeyStoreAuthenticator FallbackAPIInitializer APIInitializer Runner Runner HTTP HTTPClient CookieAuthenticator CookieAuthenticator FileSessionRequestBuilder SessionRequestBuilder PromptingSessionRequestBuilder SessionRequestBuilder ChangePasswordPrompter ChangePasswordPrompter PasswordPrompter PasswordPrompter }
Client is the shell for the node, local commands and remote commands.
func (*Client) ArchiveJobSpec ¶
ArchiveJobSpec soft deletes a job and its associated runs.
func (*Client) CancelJobRun ¶ added in v0.8.2
CancelJobRun cancels a running job, Run ID must be passed
func (*Client) ChangePassword ¶
ChangePassword prompts the user for the old password and a new one, then posts it to Chainlink to change the password.
func (*Client) CreateAndExportWeakVRFKey ¶ added in v0.8.2
CreateAndExportWeakVRFKey creates a key in the VRF keystore, protected by the password in the password file, but with weak key-derivation-function parameters, which makes it cheaper for testing, but also more vulnerable to bruteforcing of the encrypted key material. For testing purposes only!
The key is only stored at the specified file location, not stored in the DB.
func (*Client) CreateBridge ¶ added in v0.6.6
CreateBridge adds a new bridge to the chainlink node
func (*Client) CreateETHKey ¶ added in v0.9.9
CreateETHKey creates a new ethereum key with the same password as the one used to unlock the existing key.
func (*Client) CreateExternalInitiator ¶
CreateExternalInitiator adds an external initiator
func (*Client) CreateJobRun ¶
CreateJobRun creates job run based on SpecID and optional JSON
func (*Client) CreateJobSpec ¶
CreateJobSpec creates a JobSpec based on JSON input
func (*Client) CreateJobV2 ¶ added in v0.9.7
CreateJobV2 creates a V2 job Valid input is a TOML string or a path to TOML file
func (*Client) CreateOCRKeyBundle ¶ added in v0.8.17
CreateOCRKeyBundle creates a key and inserts it into encrypted_ocr_key_bundles, protected by the password in the password file
func (*Client) CreateP2PKey ¶ added in v0.8.12
CreateP2PKey creates a new P2P key
func (*Client) CreateServiceAgreement ¶
CreateServiceAgreement creates a ServiceAgreement based on JSON input
func (*Client) CreateVRFKey ¶ added in v0.8.2
CreateVRFKey creates a key in the VRF keystore, protected by the password in the password file
func (*Client) DeleteETHKey ¶ added in v0.9.9
DeleteETHKey deletes an Ethereum key, address of key must be passed
func (*Client) DeleteExternalInitiator ¶
DeleteExternalInitiator removes an external initiator
func (*Client) DeleteJobV2 ¶ added in v0.9.3
DeleteJobV2 deletes a V2 job
func (*Client) DeleteOCRKeyBundle ¶ added in v0.8.17
DeleteOCRKeyBundle creates a key and inserts it into encrypted_ocr_keys, protected by the password in the password file
func (*Client) DeleteP2PKey ¶ added in v0.9.0
DeleteP2PKey deletes a P2P key, key ID must be passed
func (*Client) DeleteUser ¶
DeleteUser is run locally to remove the User row from the node's database.
func (*Client) DeleteVRFKey ¶ added in v0.8.2
DeleteVRFKey soft-deletes the VRF key with given public key from the db
Since this runs in an independent process from any chainlink node, it cannot cause running nodes to forget the key, if they already have it unlocked.
func (*Client) ExportETHKey ¶ added in v0.9.9
ExportETHKey exports an ETH key, address must be passed
func (*Client) ExportOCRKey ¶ added in v0.9.9
ExportOCRKey exports OCR key bundles by ID ID of the key must be passed
func (*Client) ExportP2PKey ¶ added in v0.9.9
ExportP2PKey exports a P2P key, key ID must be passed
func (*Client) ExportVRFKey ¶ added in v0.8.2
ExportVRFKey saves encrypted copy of VRF key with given public key to requested file path.
func (*Client) GetConfiguration ¶ added in v0.6.10
GetConfiguration gets the nodes environment variables
func (*Client) HardReset ¶ added in v0.9.3
HardReset will remove all non-started transactions if any are found.
func (*Client) ImportETHKey ¶ added in v0.9.9
ImportETHKey imports an Ethereum key, file path must be passed
func (*Client) ImportOCRKey ¶ added in v0.9.9
ImportOCRKey imports OCR key bundle, file path must be passed
func (*Client) ImportP2PKey ¶ added in v0.9.9
ImportP2PKey imports and stores a P2P key, path to key must be passed
func (*Client) ImportVRFKey ¶ added in v0.8.2
ImportVRFKey reads a file into an EncryptedVRFKey in the db
func (*Client) IndexBridges ¶ added in v0.6.6
IndexBridges returns all bridges.
func (*Client) IndexJobRuns ¶ added in v0.6.6
IndexJobRuns returns the list of all job runs for a specific job if no jobid is passed, defaults to returning all jobruns
func (*Client) IndexJobSpecs ¶ added in v0.6.6
IndexJobSpecs returns all job specs.
func (*Client) IndexTransactions ¶ added in v0.6.6
IndexTransactions returns the list of transactions in descending order, taking an optional page parameter
func (*Client) IndexTxAttempts ¶ added in v0.6.6
IndexTxAttempts returns the list of transactions in descending order, taking an optional page parameter
func (*Client) ListETHKeys ¶ added in v0.9.3
ListETHKeys renders the active account address with its ETH & LINK balance
func (*Client) ListJobsV2 ¶ added in v0.10.3
ListJobsV2 lists all v2 jobs
func (*Client) ListOCRKeyBundles ¶ added in v0.8.17
ListOCRKeyBundles lists the available OCR Key Bundles
func (*Client) ListP2PKeys ¶ added in v0.9.0
ListP2PKeys retrieves a list of all P2P keys
func (*Client) ListVRFKeys ¶ added in v0.10.5
ListKeys Lists the keys in the db
func (*Client) PrepareTestDatabase ¶ added in v0.8.4
PrepareTestDatabase calls ResetDatabase then loads fixtures required for tests
func (*Client) RebroadcastTransactions ¶ added in v0.8.2
RebroadcastTransactions run locally to force manual rebroadcasting of transactions in a given nonce range.
func (*Client) RemoteLogin ¶
RemoteLogin creates a cookie session to run remote commands.
func (*Client) RemoveBridge ¶
RemoveBridge removes a specific Bridge by name.
func (*Client) ResetDatabase ¶ added in v0.8.4
ResetDatabase drops, creates and migrates the database specified by DATABASE_URL This is useful to setup the database for testing
func (*Client) SetLogLevel ¶ added in v0.10.4
SetLogLevel sets the log level on the node
func (*Client) SetMinimumGasPrice ¶ added in v0.6.6
SetMinimumGasPrice specifies the minimum gas price to use for outgoing transactions
func (*Client) SetNextNonce ¶ added in v0.8.7
SetNextNonce manually updates the keys.next_nonce field for the given key with the given nonce value
func (*Client) ShowBridge ¶
ShowBridge returns the info for the given Bridge name.
func (*Client) ShowJobRun ¶
ShowJobRun returns the status of the given Jobrun.
func (*Client) ShowJobSpec ¶
ShowJobSpec returns the status of the given JobID.
func (*Client) ShowTransaction ¶ added in v0.6.6
ShowTransaction returns the info for the given transaction hash
type CookieAuthenticator ¶
type CookieAuthenticator interface { Cookie() (*http.Cookie, error) Authenticate(models.SessionRequest) (*http.Cookie, error) }
CookieAuthenticator is the interface to generating a cookie to authenticate future HTTP requests.
func NewSessionCookieAuthenticator ¶
func NewSessionCookieAuthenticator(config *orm.Config, store CookieStore) CookieAuthenticator
NewSessionCookieAuthenticator creates a SessionCookieAuthenticator using the passed config and builder.
type CookieStore ¶
CookieStore is a place to store and retrieve cookies.
type DiskCookieStore ¶
DiskCookieStore saves a single cookie in the local cli working directory.
type EthKeyPresenter ¶ added in v0.10.6
type EthKeyPresenter struct {
presenters.ETHKeyResource
}
func (*EthKeyPresenter) RenderTable ¶ added in v0.10.6
func (p *EthKeyPresenter) RenderTable(rt RendererTable) error
RenderTable implements TableRenderer
func (*EthKeyPresenter) ToRow ¶ added in v0.10.6
func (p *EthKeyPresenter) ToRow() []string
type EthKeyPresenters ¶ added in v0.10.6
type EthKeyPresenters []EthKeyPresenter
func (EthKeyPresenters) RenderTable ¶ added in v0.10.6
func (ps EthKeyPresenters) RenderTable(rt RendererTable) error
RenderTable implements TableRenderer
type EthTxPresenter ¶ added in v0.10.6
type EthTxPresenter struct { JAID presenters.EthTxResource }
func (*EthTxPresenter) RenderTable ¶ added in v0.10.6
func (p *EthTxPresenter) RenderTable(rt RendererTable) error
RenderTable implements TableRenderer
type EthTxPresenters ¶ added in v0.10.6
type EthTxPresenters []EthTxPresenter
func (EthTxPresenters) RenderTable ¶ added in v0.10.6
func (ps EthTxPresenters) RenderTable(rt RendererTable) error
RenderTable implements TableRenderer
type HTTPClient ¶
type HTTPClient interface { Get(string, ...map[string]string) (*http.Response, error) Post(string, io.Reader) (*http.Response, error) Put(string, io.Reader) (*http.Response, error) Patch(string, io.Reader, ...map[string]string) (*http.Response, error) Delete(string) (*http.Response, error) }
HTTPClient encapsulates all methods used to interact with a chainlink node API.
func NewAuthenticatedHTTPClient ¶
func NewAuthenticatedHTTPClient(config orm.ConfigReader, cookieAuth CookieAuthenticator, sessionRequest models.SessionRequest) HTTPClient
NewAuthenticatedHTTPClient uses the CookieAuthenticator to generate a sessionID which is then used for all subsequent HTTP API requests.
type JAID ¶ added in v0.10.3
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 }
type JobPresenter ¶ added in v0.10.5
type JobPresenter struct { JAID // This is needed to render the id for a JSONAPI Resource as normal JSON presenters.JobResource }
JobRenderer wraps the JSONAPI Job Resource and adds rendering functionality
func (JobPresenter) FriendlyCreatedAt ¶ added in v0.10.5
func (p JobPresenter) FriendlyCreatedAt() string
FriendlyCreatedAt returns the created at timestamp of the spec which matches the type in RFC3339 format.
func (JobPresenter) FriendlyTasks ¶ added in v0.10.5
func (p JobPresenter) FriendlyTasks() []string
FriendlyTasks returns the tasks
func (JobPresenter) GetTasks ¶ added in v0.10.5
func (p JobPresenter) GetTasks() ([]string, error)
GetTasks extracts the tasks from the dependency graph
func (*JobPresenter) RenderTable ¶ added in v0.10.6
func (p *JobPresenter) RenderTable(rt RendererTable) error
RenderTable implements TableRenderer
func (JobPresenter) ToRows ¶ added in v0.10.5
func (p JobPresenter) ToRows() [][]string
ToRows returns the job as a multiple rows per task
type JobPresenters ¶ added in v0.10.6
type JobPresenters []JobPresenter
func (JobPresenters) RenderTable ¶ added in v0.10.6
func (ps JobPresenters) RenderTable(rt RendererTable) error
RenderTable implements TableRenderer
type KeyStoreAuthenticator ¶
type KeyStoreAuthenticator interface { Authenticate(*store.Store, string) (string, error) AuthenticateVRFKey(*store.Store, string) error AuthenticateOCRKey(store *store.Store, password string) error }
KeyStoreAuthenticator implements the Authenticate method for the store and a password string.
type MemoryCookieStore ¶
MemoryCookieStore keeps a single cookie in memory
type OCRKeyBundlePresenter ¶ added in v0.10.6
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 ¶ added in v0.10.6
func (p *OCRKeyBundlePresenter) RenderTable(rt RendererTable) error
RenderTable implements TableRenderer
func (*OCRKeyBundlePresenter) ToRow ¶ added in v0.10.6
func (p *OCRKeyBundlePresenter) ToRow() []string
type OCRKeyBundlePresenters ¶ added in v0.10.6
type OCRKeyBundlePresenters []OCRKeyBundlePresenter
func (OCRKeyBundlePresenters) RenderTable ¶ added in v0.10.6
func (ps OCRKeyBundlePresenters) RenderTable(rt RendererTable) error
RenderTable implements TableRenderer
type P2PKeyPresenter ¶ added in v0.10.5
type P2PKeyPresenter struct { JAID presenters.P2PKeyResource }
func (*P2PKeyPresenter) RenderTable ¶ added in v0.10.6
func (p *P2PKeyPresenter) RenderTable(rt RendererTable) error
RenderTable implements TableRenderer
func (*P2PKeyPresenter) ToRow ¶ added in v0.10.6
func (p *P2PKeyPresenter) ToRow() []string
type P2PKeyPresenters ¶ added in v0.10.6
type P2PKeyPresenters []P2PKeyPresenter
func (P2PKeyPresenters) RenderTable ¶ added in v0.10.6
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 ¶
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 RendererJSON ¶
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 ¶
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(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(sessionRequest models.SessionRequest) (*http.Cookie, error)
Authenticate retrieves a session ID via a cookie and saves it to disk.
type SessionRequestBuilder ¶
type SessionRequestBuilder interface {
Build(flag string) (models.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() 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 TableRenderer ¶ added in v0.10.6
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.
func (TerminalKeyStoreAuthenticator) Authenticate ¶
func (auth TerminalKeyStoreAuthenticator) Authenticate(store *store.Store, password string) (string, error)
Authenticate checks to see if there are accounts present in the KeyStore, and if there are none, a new account will be created by prompting for a password. If there are accounts present, all accounts will be unlocked.
func (TerminalKeyStoreAuthenticator) AuthenticateOCRKey ¶ added in v0.9.3
func (auth TerminalKeyStoreAuthenticator) AuthenticateOCRKey(store *store.Store, password string) error
AuthenticateOCRKey authenticates OCR keypairs
func (TerminalKeyStoreAuthenticator) AuthenticateVRFKey ¶ added in v0.8.2
func (auth TerminalKeyStoreAuthenticator) AuthenticateVRFKey(store *store.Store, password string) error
AuthenticateVRFKey creates an encrypted VRF key protected by password in store's db if db store has no extant keys. It unlocks at least one VRF key with given password, or returns an error. password must be non-trivial, as an empty password signifies that the VRF oracle functionality is disabled.
type VRFKeyPresenter ¶ added in v0.10.5
type VRFKeyPresenter struct { Compressed string `json:"compressed"` Uncompressed string `json:"uncompressed"` Hash string `json:"hash"` CreatedAt *time.Time `json:"createdAt"` UpdatedAt *time.Time `json:"updatedAt"` DeletedAt *time.Time `json:"deletedAt"` }
func (VRFKeyPresenter) FriendlyCreatedAt ¶ added in v0.10.5
func (p VRFKeyPresenter) FriendlyCreatedAt() string
func (VRFKeyPresenter) FriendlyDeletedAt ¶ added in v0.10.5
func (p VRFKeyPresenter) FriendlyDeletedAt() string
func (VRFKeyPresenter) FriendlyUpdatedAt ¶ added in v0.10.5
func (p VRFKeyPresenter) FriendlyUpdatedAt() string
func (*VRFKeyPresenter) RenderTable ¶ added in v0.10.6
func (p *VRFKeyPresenter) RenderTable(rt RendererTable) error
RenderTable implements TableRenderer
func (*VRFKeyPresenter) ToRow ¶ added in v0.10.6
func (p *VRFKeyPresenter) ToRow() []string
type VRFKeyPresenters ¶ added in v0.10.6
type VRFKeyPresenters []VRFKeyPresenter
func (VRFKeyPresenters) RenderTable ¶ added in v0.10.6
func (ps VRFKeyPresenters) RenderTable(rt RendererTable) error
RenderTable implements TableRenderer