Documentation
¶
Overview ¶
Package managed provides "managed" versions of Oracle and Bootstrapper that perform garbage collection, track on-chain configuration changes, serializes messages to binary, etc...
Index ¶
- func CopyAllTreeSyncChunksFromPrevInstance(ctx context.Context, logger loghelper.LoggerWithContext, ...) error
- func FindRoundedUpSnapshot(logger loghelper.LoggerWithContext, prevRegisterer prometheus.Registerer, ...) (jmt.Version, protocol.StateRootDigest, error)
- func RunManagedBootstrapper(ctx context.Context, bootstrapperFactory types.BootstrapperFactory, ...)
- func RunManagedMercuryOracle(ctx context.Context, v2bootstrappers []commontypes.BootstrapperLocator, ...)
- func RunManagedOCR2Oracle(ctx context.Context, v2bootstrappers []commontypes.BootstrapperLocator, ...)
- func RunManagedOCR3Oracle[RI any](ctx context.Context, v2bootstrappers []commontypes.BootstrapperLocator, ...)
- func RunManagedOCR3_1Oracle[RI any](ctx context.Context, v2bootstrappers []commontypes.BootstrapperLocator, ...)
- func TrackConfig(ctx context.Context, configDigester prefixCheckConfigDigester, ...)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CopyAllTreeSyncChunksFromPrevInstance ¶
func CopyAllTreeSyncChunksFromPrevInstance( ctx context.Context, logger loghelper.LoggerWithContext, publicConfig ocr3_1config.PublicConfig, prevSeqNr uint64, prevStateRootDigest protocol.StateRootDigest, prevTxn protocol.KeyValueDatabaseReadTransaction, nextSemanticKeyValueDatabase protocol.KeyValueDatabase, ) error
func FindRoundedUpSnapshot ¶
func FindRoundedUpSnapshot( logger loghelper.LoggerWithContext, prevRegisterer prometheus.Registerer, prevKeyValueDatabase ocr3_1types.KeyValueDatabase, prevConfigDigest types.ConfigDigest, prevSeqNr uint64, ) (jmt.Version, protocol.StateRootDigest, error)
Returns the snapshot/tree root version and the digest of the tree root at that version, for the minimum snapshot version that is expected to cover prevSeqNr, without knowing the snapshot interval. The caller is responsible for checking that indeed the state root is valid and covers up to and including prevSeqNr but no further sequence numbers.
func RunManagedBootstrapper ¶
func RunManagedBootstrapper( ctx context.Context, bootstrapperFactory types.BootstrapperFactory, v2bootstrappers []commontypes.BootstrapperLocator, contractConfigTracker types.ContractConfigTracker, database types.ConfigDatabase, localConfig types.LocalConfig, logger loghelper.LoggerWithContext, offchainConfigDigester types.OffchainConfigDigester, )
RunManagedBootstrapper runs a "managed" bootstrapper. It handles configuration updates on the contract.
func RunManagedMercuryOracle ¶
func RunManagedMercuryOracle( ctx context.Context, v2bootstrappers []commontypes.BootstrapperLocator, configTracker types.ContractConfigTracker, contractTransmitter types.ContractTransmitter, database ocr3types.Database, localConfig types.LocalConfig, logger loghelper.LoggerWithContext, metricsRegisterer prometheus.Registerer, monitoringEndpoint commontypes.MonitoringEndpoint, netEndpointFactory types.BinaryNetworkEndpointFactory, offchainConfigDigester types.OffchainConfigDigester, offchainKeyring types.OffchainKeyring, onchainKeyring types.OnchainKeyring, mercuryPluginFactory ocr3types.MercuryPluginFactory, )
RunManagedMercuryOracle runs a "managed" version of protocol.RunOracle. It handles setting up telemetry, garbage collection, configuration updates, translating from commontypes.BinaryNetworkEndpoint to protocol.NetworkEndpoint, and creation/teardown of reporting plugins.
func RunManagedOCR2Oracle ¶
func RunManagedOCR2Oracle( ctx context.Context, v2bootstrappers []commontypes.BootstrapperLocator, configTracker types.ContractConfigTracker, contractTransmitter types.ContractTransmitter, database types.Database, localConfig types.LocalConfig, logger loghelper.LoggerWithContext, metricsRegisterer prometheus.Registerer, monitoringEndpoint commontypes.MonitoringEndpoint, netEndpointFactory types.BinaryNetworkEndpointFactory, offchainConfigDigester types.OffchainConfigDigester, offchainKeyring types.OffchainKeyring, onchainKeyring types.OnchainKeyring, reportingPluginFactory types.ReportingPluginFactory, )
RunManagedOCR2Oracle runs a "managed" version of protocol.RunOracle. It handles setting up telemetry, garbage collection, configuration updates, translating from commontypes.BinaryNetworkEndpoint to protocol.NetworkEndpoint, and creation/teardown of reporting plugins.
func RunManagedOCR3Oracle ¶
func RunManagedOCR3Oracle[RI any]( ctx context.Context, v2bootstrappers []commontypes.BootstrapperLocator, configTracker types.ContractConfigTracker, contractTransmitter ocr3types.ContractTransmitter[RI], database ocr3types.Database, localConfig types.LocalConfig, logger loghelper.LoggerWithContext, metricsRegisterer prometheus.Registerer, monitoringEndpoint commontypes.MonitoringEndpoint, netEndpointFactory types.BinaryNetworkEndpointFactory, offchainConfigDigester types.OffchainConfigDigester, offchainKeyring types.OffchainKeyring, onchainKeyring ocr3types.OnchainKeyring2[RI], reportingPluginFactory ocr3types.ReportingPluginFactory[RI], )
RunManagedOCR3Oracle runs a "managed" version of protocol.RunOracle. It handles setting up telemetry, garbage collection, configuration updates, translating from commontypes.BinaryNetworkEndpoint to protocol.NetworkEndpoint, and creation/teardown of reporting plugins.
func RunManagedOCR3_1Oracle ¶
func RunManagedOCR3_1Oracle[RI any]( ctx context.Context, v2bootstrappers []commontypes.BootstrapperLocator, configTracker types.ContractConfigTracker, contractTransmitter ocr3types.ContractTransmitter[RI], database ocr3_1types.Database, keyValueDatabaseFactory ocr3_1types.KeyValueDatabaseFactory, localConfig types.LocalConfig, logger loghelper.LoggerWithContext, metricsRegisterer prometheus.Registerer, monitoringEndpoint commontypes.MonitoringEndpoint, messageNetEndpointFactory types.BinaryNetworkEndpoint2Factory, offchainConfigDigester types.OffchainConfigDigester, offchainKeyring types.OffchainKeyring, onchainKeyring ocr3types.OnchainKeyring2[RI], reportingPluginFactory ocr3_1types.ReportingPluginFactory[RI], )
RunManagedOCR3_1Oracle runs a "managed" version of protocol.RunOracle. It handles setting up telemetry, garbage collection, configuration updates, translating from types.BinaryNetworkEndpoint2 to protocol.NetworkEndpoint, and creation/teardown of reporting plugins.
func TrackConfig ¶
func TrackConfig( ctx context.Context, configDigester prefixCheckConfigDigester, configTracker types.ContractConfigTracker, initialConfigDigest types.ConfigDigest, localConfig types.LocalConfig, logger loghelper.LoggerWithContext, chChanges chan<- types.ContractConfig, )
Uses configTracker to track the latest configuration. When a new configuration is detected, it is validated with configDigester and sent to chChanges.
Types ¶
This section is empty.