ocr2keeper

package
v2.12.0 Latest Latest
Warning

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

Go to latest
Published: Jun 5, 2024 License: MIT Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNoChainFromSpec = fmt.Errorf("could not create chain from spec")
)

Functions

func EVMDependencies21 added in v2.3.0

func EVMDependencies21(
	keyring ocrtypes.OnchainKeyring,
) (evmregistry21.AutomationServices, error)

func EVMProvider

func EVMProvider(ds sqlutil.DataSource, chain legacyevm.Chain, lggr logger.Logger, spec job.Job, ethKeystore keystore.Eth) (evmrelay.OCR2KeeperProvider, error)

func FilterNamesFromSpec20 added in v2.3.0

func FilterNamesFromSpec20(spec *job.OCR2OracleSpec) (names []string, err error)

func FilterNamesFromSpec21 added in v2.3.0

func FilterNamesFromSpec21(spec *job.OCR2OracleSpec) (names []string, err error)

func ValidatePluginConfig

func ValidatePluginConfig(cfg PluginConfig) error

Types

type Duration

type Duration time.Duration

func (Duration) MarshalJSON

func (d Duration) MarshalJSON() ([]byte, error)

func (*Duration) UnmarshalJSON

func (d *Duration) UnmarshalJSON(b []byte) error

func (Duration) Value

func (d Duration) Value() time.Duration

type Encoder21 added in v2.4.0

type Encoder21 interface {
	ocr2keepers21.Encoder
}

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"`
	// ContractVersion is the contract version
	ContractVersion string `json:"contractVersion"`
	// CaptureAutomationCustomTelemetry is a bool flag to toggle Custom Telemetry Service
	CaptureAutomationCustomTelemetry *bool `json:"captureAutomationCustomTelemetry,omitempty"`
	// UseBufferV1 is a bool flag to toggle the new log buffer implementation
	// TODO: (AUTO-9355) remove once we have a single version
	UseBufferV1 *bool `json:"useBufferV1,omitempty"`
}

NOTE: This plugin config is shared among different versions of keepers Any changes to this config should keep in mind existing production deployments of all versions of keepers and should be backwards compatible with existing job specs.

Jump to

Keyboard shortcuts

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