Documentation ¶
Overview ¶
Package presenters allow for the specification and result of a Job, its associated TaskSpecs, and every JobRun and TaskRun to be returned in a user friendly human readable format.
Index ¶
- Variables
- func FriendlyBigInt(n *big.Int) string
- type ChainType
- type ConfigPrinter
- type DatabaseBackupMode
- type EnvPrinter
- type FeatureFlags
- type FilePersistedSecretGenerator
- type GeneralConfig
- type GeneralOnlyConfig
- type GlobalConfig
- type OCR1Config
- type OCR2Config
- type P2PDeprecated
- type P2PNetworking
- type P2PV1Networking
- type P2PV2Networking
- type SecretGenerator
Constants ¶
This section is empty.
Variables ¶
var ( ErrUnset = errors.New("env var unset") ErrInvalid = errors.New("env var invalid") )
nolint
Functions ¶
func FriendlyBigInt ¶
FriendlyBigInt returns a string printing the integer in both decimal and hexadecimal formats.
Types ¶
type ChainType ¶ added in v1.4.0
type ChainType string
ChainType denotes the chain or network to work with
const ( ChainArbitrum ChainType = "arbitrum" ChainExChain ChainType = "exchain" ChainOptimism ChainType = "optimism" ChainXDai ChainType = "xdai" )
nolint
type ConfigPrinter ¶
type ConfigPrinter struct {
EnvPrinter
}
ConfigPrinter are the non-secret values of the node
If you add an entry here, you should update NewConfigPrinter and ConfigPrinter#String accordingly.
func NewConfigPrinter ¶
func NewConfigPrinter(cfg GeneralConfig) ConfigPrinter
NewConfigPrinter creates an instance of ConfigPrinter
func (ConfigPrinter) GetID ¶
func (c ConfigPrinter) GetID() string
GetID generates a new ID for jsonapi serialization.
func (*ConfigPrinter) SetID ¶
func (c *ConfigPrinter) SetID(value string) error
SetID is used to conform to the UnmarshallIdentifier interface for deserializing from jsonapi documents.
func (ConfigPrinter) String ¶
func (c ConfigPrinter) String() string
String returns the values as a newline delimited string
type DatabaseBackupMode ¶
type DatabaseBackupMode string
var ( DatabaseBackupModeNone DatabaseBackupMode = "none" DatabaseBackupModeLite DatabaseBackupMode = "lite" DatabaseBackupModeFull DatabaseBackupMode = "full" )
type EnvPrinter ¶
type EnvPrinter struct { AdvisoryLockCheckInterval time.Duration `json:"ADVISORY_LOCK_CHECK_INTERVAL"` AdvisoryLockID int64 `json:"ADVISORY_LOCK_ID"` AllowOrigins string `json:"ALLOW_ORIGINS"` BlockBackfillDepth uint64 `json:"BLOCK_BACKFILL_DEPTH"` BlockHistoryEstimatorBlockDelay uint16 `json:"GAS_UPDATER_BLOCK_DELAY"` BlockHistoryEstimatorBlockHistorySize uint16 `json:"GAS_UPDATER_BLOCK_HISTORY_SIZE"` BlockHistoryEstimatorTransactionPercentile uint16 `json:"GAS_UPDATER_TRANSACTION_PERCENTILE"` BridgeResponseURL string `json:"BRIDGE_RESPONSE_URL,omitempty"` ChainType string `json:"CHAIN_TYPE"` ClientNodeURL string `json:"CLIENT_NODE_URL"` DatabaseBackupFrequency time.Duration `json:"DATABASE_BACKUP_FREQUENCY"` DatabaseBackupMode string `json:"DATABASE_BACKUP_MODE"` DatabaseBackupOnVersionUpgrade bool `json:"DATABASE_BACKUP_ON_VERSION_UPGRADE"` DatabaseLockingMode string `json:"DATABASE_LOCKING_MODE"` DefaultChainID string `json:"ETH_CHAIN_ID"` DefaultHTTPLimit int64 `json:"DEFAULT_HTTP_LIMIT"` DefaultHTTPTimeout models.Duration `json:"DEFAULT_HTTP_TIMEOUT"` Dev bool `json:"CHAINLINK_DEV"` ShutdownGracePeriod time.Duration `json:"SHUTDOWN_GRACE_PERIOD"` EVMRPCEnabled bool `json:"EVM_RPC_ENABLED"` EthereumHTTPURL string `json:"ETH_HTTP_URL"` EthereumSecondaryURLs []string `json:"ETH_SECONDARY_URLS"` EthereumURL string `json:"ETH_URL"` ExplorerURL string `json:"EXPLORER_URL"` FMDefaultTransactionQueueDepth uint32 `json:"FM_DEFAULT_TRANSACTION_QUEUE_DEPTH"` FeatureExternalInitiators bool `json:"FEATURE_EXTERNAL_INITIATORS"` FeatureOffchainReporting bool `json:"FEATURE_OFFCHAIN_REPORTING"` GasEstimatorMode string `json:"GAS_ESTIMATOR_MODE"` InsecureFastScrypt bool `json:"INSECURE_FAST_SCRYPT"` JSONConsole bool `json:"JSON_CONSOLE"` JobPipelineReaperInterval time.Duration `json:"JOB_PIPELINE_REAPER_INTERVAL"` JobPipelineReaperThreshold time.Duration `json:"JOB_PIPELINE_REAPER_THRESHOLD"` KeeperDefaultTransactionQueueDepth uint32 `json:"KEEPER_DEFAULT_TRANSACTION_QUEUE_DEPTH"` KeeperGasPriceBufferPercent uint32 `json:"KEEPER_GAS_PRICE_BUFFER_PERCENT"` KeeperGasTipCapBufferPercent uint32 `json:"KEEPER_GAS_TIP_CAP_BUFFER_PERCENT"` KeeperBaseFeeBufferPercent uint32 `json:"KEEPER_BASE_FEE_BUFFER_PERCENT"` KeeperMaximumGracePeriod int64 `json:"KEEPER_MAXIMUM_GRACE_PERIOD"` KeeperRegistryCheckGasOverhead uint64 `json:"KEEPER_REGISTRY_CHECK_GAS_OVERHEAD"` KeeperRegistryPerformGasOverhead uint64 `json:"KEEPER_REGISTRY_PERFORM_GAS_OVERHEAD"` KeeperRegistrySyncInterval time.Duration `json:"KEEPER_REGISTRY_SYNC_INTERVAL"` KeeperRegistrySyncUpkeepQueueSize uint32 `json:"KEEPER_REGISTRY_SYNC_UPKEEP_QUEUE_SIZE"` KeeperCheckUpkeepGasPriceFeatureEnabled bool `json:"KEEPER_CHECK_UPKEEP_GAS_PRICE_FEATURE_ENABLED"` KeeperTurnLookBack int64 `json:"KEEPER_TURN_LOOK_BACK"` KeeperTurnFlagEnabled bool `json:"KEEPER_TURN_FLAG_ENABLED"` LeaseLockDuration time.Duration `json:"LEASE_LOCK_DURATION"` LeaseLockRefreshInterval time.Duration `json:"LEASE_LOCK_REFRESH_INTERVAL"` FlagsContractAddress string `json:"FLAGS_CONTRACT_ADDRESS"` LinkContractAddress string `json:"LINK_CONTRACT_ADDRESS"` LogFileDir string `json:"LOG_FILE_DIR"` LogLevel zapcore.Level `json:"LOG_LEVEL"` LogSQL bool `json:"LOG_SQL"` LogFileMaxSize utils.FileSize `json:"LOG_FILE_MAX_SIZE"` LogFileMaxAge int64 `json:"LOG_FILE_MAX_AGE"` LogFileMaxBackups int64 `json:"LOG_FILE_MAX_BACKUPS"` TriggerFallbackDBPollInterval time.Duration `json:"JOB_PIPELINE_DB_POLL_INTERVAL"` // OCR1 OCRContractTransmitterTransmitTimeout time.Duration `json:"OCR_CONTRACT_TRANSMITTER_TRANSMIT_TIMEOUT"` OCRDatabaseTimeout time.Duration `json:"OCR_DATABASE_TIMEOUT"` OCRDefaultTransactionQueueDepth uint32 `json:"OCR_DEFAULT_TRANSACTION_QUEUE_DEPTH"` OCRTraceLogging bool `json:"OCR_TRACE_LOGGING"` // P2P General P2PNetworkingStack string `json:"P2P_NETWORKING_STACK"` P2PPeerID string `json:"P2P_PEER_ID"` P2PIncomingMessageBufferSize int `json:"P2P_INCOMING_MESSAGE_BUFFER_SIZE"` P2POutgoingMessageBufferSize int `json:"P2P_OUTGOING_MESSAGE_BUFFER_SIZE"` // P2P V1 P2PBootstrapPeers []string `json:"P2P_BOOTSTRAP_PEERS"` P2PListenIP string `json:"P2P_LISTEN_IP"` P2PListenPort string `json:"P2P_LISTEN_PORT"` P2PNewStreamTimeout time.Duration `json:"P2P_NEW_STREAM_TIMEOUT"` P2PDHTLookupInterval int `json:"P2P_DHT_LOOKUP_INTERVAL"` P2PBootstrapCheckInterval time.Duration `json:"P2P_BOOTSTRAP_CHECK_INTERVAL"` // P2P V2 P2PV2AnnounceAddresses []string `json:"P2PV2_ANNOUNCE_ADDRESSES"` P2PV2Bootstrappers []string `json:"P2PV2_BOOTSTRAPPERS"` P2PV2DeltaDial models.Duration `json:"P2PV2_DELTA_DIAL"` P2PV2DeltaReconcile models.Duration `json:"P2PV2_DELTA_RECONCILE"` P2PV2ListenAddresses []string `json:"P2PV2_LISTEN_ADDRESSES"` Port uint16 `json:"CHAINLINK_PORT"` ReaperExpiration models.Duration `json:"REAPER_EXPIRATION"` RootDir string `json:"ROOT"` SecureCookies bool `json:"SECURE_COOKIES"` SessionTimeout models.Duration `json:"SESSION_TIMEOUT"` TelemetryIngressLogging bool `json:"TELEMETRY_INGRESS_LOGGING"` TelemetryIngressServerPubKey string `json:"TELEMETRY_INGRESS_SERVER_PUB_KEY"` TelemetryIngressURL string `json:"TELEMETRY_INGRESS_URL"` TLSHost string `json:"CHAINLINK_TLS_HOST"` TLSPort uint16 `json:"CHAINLINK_TLS_PORT"` TLSRedirect bool `json:"CHAINLINK_TLS_REDIRECT"` }
EnvPrinter contains the supported environment variables
type FeatureFlags ¶ added in v1.2.0
type FeatureFlags interface { FeatureExternalInitiators() bool FeatureFeedsManager() bool FeatureOffchainReporting() bool FeatureOffchainReporting2() bool FeatureUICSAKeys() bool FeatureLogPoller() bool AutoPprofEnabled() bool EVMEnabled() bool EVMRPCEnabled() bool KeeperCheckUpkeepGasPriceFeatureEnabled() bool P2PEnabled() bool SolanaEnabled() bool TerraEnabled() bool }
FeatureFlags contains bools that toggle various features or chains TODO: document the new ones
type FilePersistedSecretGenerator ¶
type FilePersistedSecretGenerator struct{}
type GeneralConfig ¶
type GeneralConfig interface { GeneralOnlyConfig GlobalConfig }
func NewGeneralConfig ¶
func NewGeneralConfig(lggr logger.Logger) GeneralConfig
NewGeneralConfig returns the config with the environment variables set to their respective fields, or their defaults if environment variables are not set.
type GeneralOnlyConfig ¶
type GeneralOnlyConfig interface { Validate() error SetLogLevel(lvl zapcore.Level) error SetLogSQL(logSQL bool) FeatureFlags AdminCredentialsFile() string AdvisoryLockCheckInterval() time.Duration AdvisoryLockID() int64 AllowOrigins() string AppID() uuid.UUID AuthenticatedRateLimit() int64 AuthenticatedRateLimitPeriod() models.Duration AutoPprofBlockProfileRate() int AutoPprofCPUProfileRate() int AutoPprofGatherDuration() models.Duration AutoPprofGatherTraceDuration() models.Duration AutoPprofGoroutineThreshold() int AutoPprofMaxProfileSize() utils.FileSize AutoPprofMemProfileRate() int AutoPprofMemThreshold() utils.FileSize AutoPprofMutexProfileFraction() int AutoPprofPollInterval() models.Duration AutoPprofProfileRoot() string BlockBackfillDepth() uint64 BlockBackfillSkip() bool BridgeResponseURL() *url.URL CertFile() string ClientNodeURL() string DatabaseBackupDir() string DatabaseBackupFrequency() time.Duration DatabaseBackupMode() DatabaseBackupMode DatabaseBackupOnVersionUpgrade() bool DatabaseBackupURL() *url.URL DatabaseListenerMaxReconnectDuration() time.Duration DatabaseListenerMinReconnectInterval() time.Duration DatabaseLockingMode() string DatabaseURL() url.URL DefaultChainID() *big.Int DefaultHTTPAllowUnrestrictedNetworkAccess() bool DefaultHTTPLimit() int64 DefaultHTTPTimeout() models.Duration DefaultLogLevel() zapcore.Level Dev() bool ShutdownGracePeriod() time.Duration EthereumHTTPURL() *url.URL EthereumNodes() string EthereumSecondaryURLs() []url.URL EthereumURL() string ExplorerAccessKey() string ExplorerSecret() string ExplorerURL() *url.URL FMDefaultTransactionQueueDepth() uint32 FMSimulateTransactions() bool GetAdvisoryLockIDConfiguredOrDefault() int64 GetDatabaseDialectConfiguredOrDefault() dialects.DialectName HTTPServerWriteTimeout() time.Duration InsecureFastScrypt() bool InsecureSkipVerify() bool JSONConsole() bool JobPipelineMaxRunDuration() time.Duration JobPipelineReaperInterval() time.Duration JobPipelineReaperThreshold() time.Duration JobPipelineResultWriteQueueDepth() uint64 KeeperDefaultTransactionQueueDepth() uint32 KeeperGasPriceBufferPercent() uint32 KeeperGasTipCapBufferPercent() uint32 KeeperBaseFeeBufferPercent() uint32 KeeperMaximumGracePeriod() int64 KeeperRegistryCheckGasOverhead() uint64 KeeperRegistryPerformGasOverhead() uint64 KeeperRegistrySyncInterval() time.Duration KeeperRegistrySyncUpkeepQueueSize() uint32 KeeperTurnLookBack() int64 KeeperTurnFlagEnabled() bool KeyFile() string LeaseLockDuration() time.Duration LeaseLockRefreshInterval() time.Duration LogFileDir() string LogLevel() zapcore.Level LogSQL() bool LogFileMaxSize() utils.FileSize LogFileMaxAge() int64 LogFileMaxBackups() int64 LogUnixTimestamps() bool MigrateDatabase() bool ORMMaxIdleConns() int ORMMaxOpenConns() int Port() uint16 RPID() string RPOrigin() string ReaperExpiration() models.Duration RootDir() string SecureCookies() bool SessionOptions() sessions.Options SessionSecret() ([]byte, error) SessionTimeout() models.Duration SolanaNodes() string TerraNodes() string TLSCertPath() string TLSDir() string TLSHost() string TLSKeyPath() string TLSPort() uint16 TLSRedirect() bool TelemetryIngressLogging() bool TelemetryIngressUniConn() bool TelemetryIngressServerPubKey() string TelemetryIngressURL() *url.URL TelemetryIngressBufferSize() uint TelemetryIngressMaxBatchSize() uint TelemetryIngressSendInterval() time.Duration TelemetryIngressSendTimeout() time.Duration TelemetryIngressUseBatchSend() bool TriggerFallbackDBPollInterval() time.Duration UnAuthenticatedRateLimit() int64 UnAuthenticatedRateLimitPeriod() models.Duration }
type GlobalConfig ¶
type GlobalConfig interface { GlobalBalanceMonitorEnabled() (bool, bool) GlobalBlockEmissionIdleWarningThreshold() (time.Duration, bool) GlobalBlockHistoryEstimatorBatchSize() (uint32, bool) GlobalBlockHistoryEstimatorBlockDelay() (uint16, bool) GlobalBlockHistoryEstimatorBlockHistorySize() (uint16, bool) GlobalBlockHistoryEstimatorEIP1559FeeCapBufferBlocks() (uint16, bool) GlobalBlockHistoryEstimatorTransactionPercentile() (uint16, bool) GlobalChainType() (string, bool) GlobalEthTxReaperInterval() (time.Duration, bool) GlobalEthTxReaperThreshold() (time.Duration, bool) GlobalEthTxResendAfterThreshold() (time.Duration, bool) GlobalEvmEIP1559DynamicFees() (bool, bool) GlobalEvmFinalityDepth() (uint32, bool) GlobalEvmGasBumpPercent() (uint16, bool) GlobalEvmGasBumpThreshold() (uint64, bool) GlobalEvmGasBumpTxDepth() (uint16, bool) GlobalEvmGasBumpWei() (*big.Int, bool) GlobalEvmGasFeeCapDefault() (*big.Int, bool) GlobalEvmGasLimitDefault() (uint64, bool) GlobalEvmGasLimitMultiplier() (float32, bool) GlobalEvmGasLimitTransfer() (uint64, bool) GlobalEvmGasPriceDefault() (*big.Int, bool) GlobalEvmGasTipCapDefault() (*big.Int, bool) GlobalEvmGasTipCapMinimum() (*big.Int, bool) GlobalEvmHeadTrackerHistoryDepth() (uint32, bool) GlobalEvmHeadTrackerMaxBufferSize() (uint32, bool) GlobalEvmHeadTrackerSamplingInterval() (time.Duration, bool) GlobalEvmLogBackfillBatchSize() (uint32, bool) GlobalEvmLogPollInterval() (time.Duration, bool) GlobalEvmMaxGasPriceWei() (*big.Int, bool) GlobalEvmMaxInFlightTransactions() (uint32, bool) GlobalEvmMaxQueuedTransactions() (uint64, bool) GlobalEvmMinGasPriceWei() (*big.Int, bool) GlobalEvmNonceAutoSync() (bool, bool) GlobalEvmUseForwarders() (bool, bool) GlobalEvmRPCDefaultBatchSize() (uint32, bool) GlobalFlagsContractAddress() (string, bool) GlobalGasEstimatorMode() (string, bool) GlobalLinkContractAddress() (string, bool) GlobalMinIncomingConfirmations() (uint32, bool) GlobalMinRequiredOutgoingConfirmations() (uint64, bool) GlobalMinimumContractPayment() (*assets.Link, bool) GlobalNodeNoNewHeadsThreshold() (time.Duration, bool) GlobalNodePollFailureThreshold() (uint32, bool) GlobalNodePollInterval() (time.Duration, bool) OCR1Config OCR2Config P2PNetworking P2PV1Networking P2PV2Networking }
GlobalConfig holds global ENV overrides for EVM chains If set the global ENV will override everything The second bool indicates if it is set or not
type OCR1Config ¶ added in v1.2.0
type OCR1Config interface { // OCR1 config, can override in jobs, only ethereum. GlobalOCRContractConfirmations() (uint16, bool) GlobalOCRContractTransmitterTransmitTimeout() (time.Duration, bool) GlobalOCRDatabaseTimeout() (time.Duration, bool) GlobalOCRObservationGracePeriod() (time.Duration, bool) OCRBlockchainTimeout() time.Duration OCRContractPollInterval() time.Duration OCRContractSubscribeInterval() time.Duration OCRMonitoringEndpoint() string OCRKeyBundleID() (string, error) OCRObservationTimeout() time.Duration OCRSimulateTransactions() bool OCRTransmitterAddress() (ethkey.EIP55Address, error) // OCR2 can support non-evm changes // OCR1 config, cannot override in jobs OCRTraceLogging() bool OCRDefaultTransactionQueueDepth() uint32 }
OCR1Config is a subset of global config relevant to OCR v1.
type OCR2Config ¶ added in v1.2.0
type OCR2Config interface { // OCR2 config, can override in jobs, all chains OCR2ContractConfirmations() uint16 OCR2ContractTransmitterTransmitTimeout() time.Duration OCR2BlockchainTimeout() time.Duration OCR2DatabaseTimeout() time.Duration OCR2ContractPollInterval() time.Duration OCR2ContractSubscribeInterval() time.Duration OCR2MonitoringEndpoint() string OCR2KeyBundleID() (string, error) // OCR2 config, cannot override in jobs OCR2TraceLogging() bool }
OCR2Config is a subset of global config relevant to OCR v2.
type P2PDeprecated ¶ added in v1.2.0
type P2PNetworking ¶ added in v1.2.0
type P2PNetworking interface { P2PNetworkingStack() (n ocrnetworking.NetworkingStack) P2PNetworkingStackRaw() string P2PPeerID() p2pkey.PeerID P2PPeerIDRaw() string P2PIncomingMessageBufferSize() int P2POutgoingMessageBufferSize() int P2PDeprecated }
P2PNetworking is a subset of global config relevant to p2p networking.
type P2PV1Networking ¶ added in v1.2.0
type P2PV1Networking interface { P2PAnnounceIP() net.IP P2PAnnouncePort() uint16 P2PBootstrapPeers() ([]string, error) P2PDHTAnnouncementCounterUserPrefix() uint32 P2PListenIP() net.IP P2PListenPort() uint16 P2PListenPortRaw() string P2PNewStreamTimeout() time.Duration P2PBootstrapCheckInterval() time.Duration P2PDHTLookupInterval() int P2PPeerstoreWriteInterval() time.Duration }
P2PV1Networking is a subset of global config relevant to p2p v1 networking.
type P2PV2Networking ¶ added in v1.2.0
type P2PV2Networking interface { P2PV2AnnounceAddresses() []string P2PV2Bootstrappers() (locators []ocrcommontypes.BootstrapperLocator) P2PV2BootstrappersRaw() []string P2PV2DeltaDial() models.Duration P2PV2DeltaReconcile() models.Duration P2PV2ListenAddresses() []string }
P2PV2Networking is a subset of global config relevant to p2p v2 networking.
type SecretGenerator ¶
SecretGenerator is the interface for objects that generate a secret used to sign or encrypt.