Documentation ¶
Index ¶
- Constants
- Variables
- func CalcPositioningConstant(upkeepID int64, registryAddress ethkey.EIP55Address) (int32, error)
- func ValidatedKeeperSpec(tomlString string) (job.Job, error)
- type Config
- type Delegate
- type KeeperIndexMap
- type MailRoom
- type ORM
- func (korm ORM) BatchDeleteUpkeepsForJob(jobID int32, upkeepIDs []int64) (int64, error)
- func (korm ORM) EligibleUpkeepsForRegistry(registryAddress ethkey.EIP55Address, blockNumber, gracePeriod int64) (upkeeps []UpkeepRegistration, err error)
- func (korm ORM) LowestUnsyncedID(regID int64) (nextID int64, err error)
- func (korm ORM) NewEligibleUpkeepsForRegistry(registryAddress ethkey.EIP55Address, blockNumber int64, gracePeriod int64, ...) (upkeeps []UpkeepRegistration, err error)
- func (korm ORM) Q() pg.Q
- func (korm ORM) Registries() ([]Registry, error)
- func (korm ORM) RegistryByContractAddress(registryAddress ethkey.EIP55Address) (Registry, error)
- func (korm ORM) RegistryForJob(jobID int32) (Registry, error)
- func (korm ORM) SetLastRunInfoForUpkeepOnJob(jobID int32, upkeepID, height int64, fromAddress ethkey.EIP55Address, ...) error
- func (korm ORM) UpsertRegistry(registry *Registry) error
- func (korm ORM) UpsertUpkeep(registration *UpkeepRegistration) error
- type Registry
- type RegistrySynchronizer
- func (rs *RegistrySynchronizer) Close() error
- func (rs *RegistrySynchronizer) HandleLog(broadcast log.Broadcast)
- func (rs *RegistrySynchronizer) HandleUpkeepRegistered(broadcast log.Broadcast, registry Registry)
- func (rs *RegistrySynchronizer) JobID() int32
- func (rs *RegistrySynchronizer) Start(context.Context) error
- type RegistrySynchronizerOptions
- type UpkeepExecuter
- type UpkeepRegistration
Constants ¶
const ( // ExpectedObservationSource this is the expected observation source of the keeper job. ExpectedObservationSource = `` /* 1801-byte string literal not displayed */ )
Variables ¶
var RegistryABI = evmtypes.MustGetABI(keeper_registry_wrapper.KeeperRegistryABI)
Functions ¶
func CalcPositioningConstant ¶ added in v0.10.5
func CalcPositioningConstant(upkeepID int64, registryAddress ethkey.EIP55Address) (int32, error)
CalcPositioningConstant calculates a positioning constant. The positioning constant is fixed because upkeepID and registryAddress are immutable
Types ¶
type Config ¶ added in v0.10.11
type Config interface { EvmEIP1559DynamicFees() bool KeeperDefaultTransactionQueueDepth() uint32 KeeperGasPriceBufferPercent() uint32 KeeperGasTipCapBufferPercent() uint32 KeeperBaseFeeBufferPercent() uint32 KeeperMaximumGracePeriod() int64 KeeperRegistryCheckGasOverhead() uint64 KeeperRegistryPerformGasOverhead() uint64 KeeperRegistrySyncInterval() time.Duration KeeperRegistrySyncUpkeepQueueSize() uint32 KeeperCheckUpkeepGasPriceFeatureEnabled() bool KeeperTurnLookBack() int64 KeeperTurnFlagEnabled() bool LogSQL() bool }
type Delegate ¶
type Delegate struct {
// contains filtered or unexported fields
}
func NewDelegate ¶
func NewDelegate( db *sqlx.DB, jrm job.ORM, pr pipeline.Runner, logger logger.Logger, chainSet evm.ChainSet, ) *Delegate
NewDelegate is the constructor of Delegate
func (Delegate) AfterJobCreated ¶ added in v0.10.11
func (Delegate) BeforeJobDeleted ¶ added in v0.10.11
func (*Delegate) ServicesForSpec ¶
ServicesForSpec satisfies the job.Delegate interface.
type KeeperIndexMap ¶ added in v1.4.0
type KeeperIndexMap map[ethkey.EIP55Address]int32
func (*KeeperIndexMap) Scan ¶ added in v1.4.0
func (k *KeeperIndexMap) Scan(val interface{}) error
type MailRoom ¶ added in v0.10.4
type MailRoom struct {
// contains filtered or unexported fields
}
MailRoom holds the log mailboxes for all the log types that keeper cares about
type ORM ¶
type ORM struct {
// contains filtered or unexported fields
}
ORM implements ORM layer using PostgreSQL
func (ORM) BatchDeleteUpkeepsForJob ¶ added in v0.10.4
BatchDeleteUpkeepsForJob deletes all upkeeps by the given IDs for the job with the given ID
func (ORM) EligibleUpkeepsForRegistry ¶ added in v0.10.8
func (korm ORM) EligibleUpkeepsForRegistry(registryAddress ethkey.EIP55Address, blockNumber, gracePeriod int64) (upkeeps []UpkeepRegistration, err error)
func (ORM) LowestUnsyncedID ¶
LowestUnsyncedID returns the largest upkeepID + 1, indicating the expected next upkeepID to sync from the contract
func (ORM) NewEligibleUpkeepsForRegistry ¶ added in v1.4.0
func (korm ORM) NewEligibleUpkeepsForRegistry(registryAddress ethkey.EIP55Address, blockNumber int64, gracePeriod int64, binaryHash string) (upkeeps []UpkeepRegistration, err error)
EligibleUpkeepsForRegistry fetches eligible upkeeps for processing The query checks the following conditions - checks the registry address is correct and the registry has some keepers associated -- is it my turn AND my keeper was not the last perform for this upkeep OR my keeper was the last before BUT it is past the grace period -- OR is it my buddy's turn AND they were the last keeper to do the perform for this upkeep
func (ORM) Registries ¶
Registries returns all registries
func (ORM) RegistryByContractAddress ¶ added in v1.4.0
func (korm ORM) RegistryByContractAddress(registryAddress ethkey.EIP55Address) (Registry, error)
RegistryByContractAddress returns a single registry based on provided address
func (ORM) RegistryForJob ¶ added in v0.10.4
RegistryForJob returns a specific registry for a job with the given ID
func (ORM) SetLastRunInfoForUpkeepOnJob ¶ added in v1.4.0
func (korm ORM) SetLastRunInfoForUpkeepOnJob(jobID int32, upkeepID, height int64, fromAddress ethkey.EIP55Address, qopts ...pg.QOpt) error
SetLastRunInfoForUpkeepOnJob sets the last run block height and the associated keeper index only if the new block height is greater than the previous.
func (ORM) UpsertRegistry ¶
UpsertRegistry upserts registry by the given input
func (ORM) UpsertUpkeep ¶
func (korm ORM) UpsertUpkeep(registration *UpkeepRegistration) error
UpsertUpkeep upserts upkeep by the given input
type Registry ¶
type Registry struct { ID int64 BlockCountPerTurn int32 CheckGas int32 ContractAddress ethkey.EIP55Address FromAddress ethkey.EIP55Address JobID int32 KeeperIndex int32 NumKeepers int32 KeeperIndexMap KeeperIndexMap }
type RegistrySynchronizer ¶
type RegistrySynchronizer struct { utils.StartStopOnce // contains filtered or unexported fields }
func NewRegistrySynchronizer ¶
func NewRegistrySynchronizer(opts RegistrySynchronizerOptions) *RegistrySynchronizer
NewRegistrySynchronizer is the constructor of RegistrySynchronizer
func (*RegistrySynchronizer) Close ¶
func (rs *RegistrySynchronizer) Close() error
func (*RegistrySynchronizer) HandleLog ¶ added in v0.10.4
func (rs *RegistrySynchronizer) HandleLog(broadcast log.Broadcast)
func (*RegistrySynchronizer) HandleUpkeepRegistered ¶ added in v0.10.11
func (rs *RegistrySynchronizer) HandleUpkeepRegistered(broadcast log.Broadcast, registry Registry)
func (*RegistrySynchronizer) JobID ¶ added in v0.10.4
func (rs *RegistrySynchronizer) JobID() int32
type RegistrySynchronizerOptions ¶ added in v1.1.0
type RegistrySynchronizerOptions struct { Job job.Job Contract *keeper_registry_wrapper.KeeperRegistry ORM ORM JRM job.ORM LogBroadcaster log.Broadcaster SyncInterval time.Duration MinIncomingConfirmations uint32 Logger logger.Logger SyncUpkeepQueueSize uint32 // contains filtered or unexported fields }
type UpkeepExecuter ¶ added in v0.10.6
type UpkeepExecuter struct { utils.StartStopOnce // contains filtered or unexported fields }
UpkeepExecuter implements the logic to communicate with KeeperRegistry
func NewUpkeepExecuter ¶ added in v0.10.6
func NewUpkeepExecuter( job job.Job, orm ORM, pr pipeline.Runner, ethClient evmclient.Client, headBroadcaster httypes.HeadBroadcaster, gasEstimator gas.Estimator, logger logger.Logger, config Config, ) *UpkeepExecuter
NewUpkeepExecuter is the constructor of UpkeepExecuter
func (*UpkeepExecuter) Close ¶ added in v0.10.6
func (ex *UpkeepExecuter) Close() error
Close stops and closes upkeep executer
func (*UpkeepExecuter) OnNewLongestChain ¶ added in v0.10.6
func (ex *UpkeepExecuter) OnNewLongestChain(_ context.Context, head *evmtypes.Head)
OnNewLongestChain handles the given head of a new longest chain