services

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Oct 19, 2021 License: MIT Imports: 27 Imported by: 4

Documentation

Overview

Package services contain the key components of the Chainlink node. This includes the Application, JobRunner, LogListener, and Scheduler.

Application

The Application is the main component used for starting and stopping the Chainlink node.

JobRunner

The JobRunner keeps track of Runs within a Job and ensures that they're executed in order. Within each Run, the tasks are also executed from the JobRunner.

JobSubscriber

The JobSubscriber coordinates running job events with the EventLog in the Store, and also subscribes to the given address on the Ethereum blockchain.

Scheduler

The Scheduler ensures that recurring events are executed according to their schedule, and one-time events occur only when the specified time has passed.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ApproximateFloat64 added in v0.10.11

func ApproximateFloat64(e *assets.Eth) (float64, error)

func NewPromReporter added in v0.9.6

func NewPromReporter(db *sql.DB, opts ...PrometheusBackend) *promReporter

func NewSessionReaper added in v0.10.8

func NewSessionReaper(db *gorm.DB, config SessionReaperConfig) utils.SleeperTask

NewSessionReaper creates a reaper that cleans stale sessions from the store.

func ValidateBridgeType

func ValidateBridgeType(bt *models.BridgeTypeRequest, store *store.Store) error

ValidateBridgeType checks that the bridge type doesn't have a duplicate or invalid name or invalid url

func ValidateBridgeTypeNotExist added in v0.8.2

func ValidateBridgeTypeNotExist(bt *models.BridgeTypeRequest, store *store.Store) error

ValidateBridgeTypeNotExist checks that a bridge has not already been created

func ValidateExternalInitiator added in v0.6.6

func ValidateExternalInitiator(
	exi *models.ExternalInitiatorRequest,
	store *store.Store,
) error

ValidateExternalInitiator checks whether External Initiator parameters are safe for processing.

Types

type BalanceMonitor added in v0.8.11

type BalanceMonitor interface {
	httypes.HeadTrackable
	GetEthBalance(gethCommon.Address) *assets.Eth
	service.Service
}

BalanceMonitor checks the balance for each key on every new head

func NewBalanceMonitor added in v0.8.11

func NewBalanceMonitor(db *gorm.DB, ethClient eth.Client, ethKeyStore keystore.Eth, logger *logger.Logger) BalanceMonitor

NewBalanceMonitor returns a new balanceMonitor

type NullBalanceMonitor added in v0.9.3

type NullBalanceMonitor struct{}

func (*NullBalanceMonitor) Close added in v0.10.8

func (*NullBalanceMonitor) Close() error

func (*NullBalanceMonitor) GetEthBalance added in v0.9.3

func (*NullBalanceMonitor) GetEthBalance(gethCommon.Address) *assets.Eth

func (*NullBalanceMonitor) Healthy added in v0.10.8

func (*NullBalanceMonitor) Healthy() error

func (*NullBalanceMonitor) OnNewLongestChain added in v0.9.3

func (*NullBalanceMonitor) OnNewLongestChain(ctx context.Context, head models.Head)

func (*NullBalanceMonitor) Ready added in v0.10.8

func (*NullBalanceMonitor) Ready() error

func (*NullBalanceMonitor) Start added in v0.10.8

func (*NullBalanceMonitor) Start() error

type PrometheusBackend added in v0.9.6

type PrometheusBackend interface {
	SetUnconfirmedTransactions(int64)
	SetMaxUnconfirmedAge(float64)
	SetMaxUnconfirmedBlocks(int64)
	SetPipelineRunsQueued(n int)
	SetPipelineTaskRunsQueued(n int)
}

type SessionReaperConfig added in v0.10.11

type SessionReaperConfig interface {
	SessionTimeout() models.Duration
	ReaperExpiration() models.Duration
}

Directories

Path Synopsis
eth
gas
job
log
signatures
cryptotest
Package cryptotest provides convenience functions for kyber-based APIs.
Package cryptotest provides convenience functions for kyber-based APIs.
ethdss
Package ethdss implements the Distributed Schnorr Signature protocol from the ////////////////////////////////////////////////////////////////////////////// XXX: Do not use in production until this code has been audited.
Package ethdss implements the Distributed Schnorr Signature protocol from the ////////////////////////////////////////////////////////////////////////////// XXX: Do not use in production until this code has been audited.
ethschnorr
Package ethschnorr implements a version of the Schnorr signature which is ////////////////////////////////////////////////////////////////////////////// XXX: Do not use in production until this code has been audited.
Package ethschnorr implements a version of the Schnorr signature which is ////////////////////////////////////////////////////////////////////////////// XXX: Do not use in production until this code has been audited.
secp256k1
Package secp256k1 is an implementation of the kyber.{Group,Point,Scalar} ////////////////////////////////////////////////////////////////////////////// XXX: Do not use in production until this code has been audited.
Package secp256k1 is an implementation of the kyber.{Group,Point,Scalar} ////////////////////////////////////////////////////////////////////////////// XXX: Do not use in production until this code has been audited.
vrf

Jump to

Keyboard shortcuts

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