Documentation
¶
Index ¶
- Variables
- func EVMProvider(db *sqlx.DB, chain evm.Chain, lggr logger.Logger, spec job.Job, ...) (evmrelay.OCR2KeeperProvider, error)
- func FilterNamesFromSpec20(spec *job.OCR2OracleSpec) (names []string, err error)
- func FilterNamesFromSpec21(spec *job.OCR2OracleSpec) (names []string, err error)
- func ValidatePluginConfig(cfg PluginConfig) error
- type Duration
- type Encoder20
- type Encoder21
- type PluginConfig
Constants ¶
This section is empty.
Variables ¶
View Source
var (
ErrNoChainFromSpec = fmt.Errorf("could not create chain from spec")
)
Functions ¶
func EVMProvider ¶
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 Encoder20 ¶ added in v2.5.0
type Encoder20 interface {
ocr2keepers20.Encoder
ocr2keepers20coordinator.Encoder
ocr2keepers20polling.Encoder
ocr2keepers20runner.Encoder
ocr2keepers20coordinator.Encoder
}
func EVMDependencies20 ¶ added in v2.3.0
type Encoder21 ¶ added in v2.4.0
type Encoder21 interface {
ocr2keepers21.Encoder
}
func EVMDependencies21 ¶ added in v2.3.0
func EVMDependencies21( spec job.Job, db *sqlx.DB, lggr logger.Logger, chain evm.Chain, pr pipeline.Runner, mc *models.MercuryCredentials, keyring ocrtypes.OnchainKeyring, ) (evmrelay.OCR2KeeperProvider, *kevm21.EvmRegistry, Encoder21, *kevm21.TransmitEventProvider, ocr2keepers21.LogEventProvider, ocr3types.OnchainKeyring[ocr2keepers21plugin.AutomationReportInfo], *kevm21.BlockSubscriber, ocr2keepers21.PayloadBuilder, ocr2keepers21.UpkeepStateUpdater, ocr2keepers21.ConditionalUpkeepProvider, 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"`
// ContractVersion is the contract version
ContractVersion string `json:"contractVersion"`
}
Click to show internal directories.
Click to hide internal directories.