Documentation
¶
Index ¶
- Variables
- func EVMProvider(db *sqlx.DB, chain evm.Chain, lggr logger.Logger, spec job.Job, ...) (evmrelay.OCR2KeeperProvider, error)
- func FilterNamesFromSpec(spec *job.OCR2OracleSpec) (names []string, err error)
- func ValidatePluginConfig(cfg PluginConfig) error
- type Duration
- type LogProvider
- func (c *LogProvider) Close() error
- func (c *LogProvider) HealthReport() map[string]error
- func (c *LogProvider) Name() string
- func (c *LogProvider) PerformLogs(ctx context.Context) ([]plugintypes.PerformLog, error)
- func (c *LogProvider) Ready() error
- func (c *LogProvider) StaleReportLogs(ctx context.Context) ([]plugintypes.StaleReportLog, error)
- func (c *LogProvider) Start(ctx context.Context) error
- type PluginConfig
- type TransmitUnpacker
Constants ¶
This section is empty.
Variables ¶
View Source
var (
ErrNoChainFromSpec = fmt.Errorf("could not create chain from spec")
)
Functions ¶
func EVMProvider ¶
func FilterNamesFromSpec ¶
func FilterNamesFromSpec(spec *job.OCR2OracleSpec) (names []string, err error)
func ValidatePluginConfig ¶
func ValidatePluginConfig(cfg PluginConfig) error
Types ¶
type LogProvider ¶
type LogProvider struct {
// contains filtered or unexported fields
}
func EVMDependencies ¶
func EVMDependencies(spec job.Job, db *sqlx.DB, lggr logger.Logger, set evm.ChainSet, pr pipeline.Runner, mc *models.MercuryCredentials) (evmrelay.OCR2KeeperProvider, *kevm.EvmRegistry, ktypes.ReportEncoder, *LogProvider, error)
func NewLogProvider ¶
func (*LogProvider) Close ¶
func (c *LogProvider) Close() error
func (*LogProvider) HealthReport ¶
func (c *LogProvider) HealthReport() map[string]error
func (*LogProvider) Name ¶
func (c *LogProvider) Name() string
func (*LogProvider) PerformLogs ¶
func (c *LogProvider) PerformLogs(ctx context.Context) ([]plugintypes.PerformLog, error)
func (*LogProvider) Ready ¶
func (c *LogProvider) Ready() error
func (*LogProvider) StaleReportLogs ¶
func (c *LogProvider) StaleReportLogs(ctx context.Context) ([]plugintypes.StaleReportLog, error)
type PluginConfig ¶
type PluginConfig struct {
// CacheExpiration is the duration of time a cached key is available. Use
// this value to balance memory usage and RPC calls. A new set of keys is
// generated with every block so a good setting might come from block time
// times number of blocks of history to support not replaying reports.
CacheExpiration Duration `json:"cacheExpiration"`
// CacheEvictionInterval is a parameter for how often the cache attempts to
// evict expired keys. This value should be short enough to ensure key
// eviction doesn't block for too long, and long enough that it doesn't
// cause frequent blocking.
CacheEvictionInterval Duration `json:"cacheEvictionInterval"`
// MaxServiceWorkers is the total number of go-routines allowed to make RPC
// simultaneous calls on behalf of the sampling operation. This parameter
// is 10x the number of available CPUs by default. The RPC calls are memory
// heavy as opposed to CPU heavy as most of the work involves waiting on
// network responses.
MaxServiceWorkers int `json:"maxServiceWorkers"`
// ServiceQueueLength is the buffer size for the RPC service queue. Fewer
// workers or slower RPC responses will cause this queue to build up.
// Adding new items to the queue will block if the queue becomes full.
ServiceQueueLength int `json:"serviceQueueLength"`
}
type TransmitUnpacker ¶
type TransmitUnpacker interface {
UnpackTransmitTxInput([]byte) ([]plugintypes.UpkeepResult, error)
}
Click to show internal directories.
Click to hide internal directories.