node of the decentralized oracle network, bridging on and off-chain computation
View the changelog at contracts/CHANGELOG.md
SuggestedPriceEstimator
. The bumping mechanism for this estimator refetches the price from the RPC and adds a buffer on top using the greater of BumpPercent
and BumpMin
.NodeIsSyncingEnabled
for EVM.NodePool
that will check on every reconnection to an RPC if it's syncing and should not be transitioned to Alive
state. Disabled by default.LogPrunePageSize
parameter to the EVM configuration. This parameter controls the number of logs removed during prune phase in LogPoller. Default value is 0, which deletes all logs at once - exactly how it used to work, so it doesn't require any changes on the product's side.P2P.V2
is required in configuration when either OCR
or OCR2
are enabled. The node will fail to boot if P2P.V2
is not enabled.LimitDefault
and LimitMax
configs types to uint64
chainlink health
CLI command and HTML /health
endpoint, to provide human-readable views of the underlying JSON health data.stream
to represent streamspecs. This job type is not yet used anywhere but will be required for Data Streams V1.CL_MEDIAN_ENV
, CL_SOLANA_ENV
, and CL_STARKNET_ENV
for setting environment variables in LOOP Plugins with an .env
file.
echo "Foo=Bar" >> median.env
echo "Baz=Val" >> median.env
CL_MEDIAN_ENV="median.env"
P2P.V1
is no longer supported and must not be set in TOML configuration in order to boot. Use P2P.V2
instead. If you are using both, V1
can simply be removed.TelemetryIngress.URL
and TelemetryIngress.ServerPubKey
from TOML configuration, these fields are replaced by [[TelemetryIngress.Endpoints]]
: [[TelemetryIngress.Endpoints]]
Network = '...' # e.g. EVM. Solana, Starknet, Cosmos
ChainID = '...' # e.g. 1, 5, devnet, mainnet-beta
URL = '...'
ServerPubKey = '...'
Tracing
TOML configurations. The default for collecting traces is off - you must explicitly enable traces and setup a valid OpenTelemetry collector. Refer to .github/tracing/README.md
for more details.[WebServer].AuthenticationMethod
config option, when set to ldap
requires the new [WebServer.LDAP]
config section to be defined, see the reference docs/core.toml
.mercury_transmit_queue_delete_error_count
mercury_transmit_queue_insert_error_count
mercury_transmit_queue_push_error_count
Nops should consider alerting on these.[Mercury]
# Mercury.Cache controls settings for the price retrieval cache querying a mercury server
[Mercury.Cache]
# LatestReportTTL controls how "stale" we will allow a price to be e.g. if
# set to 1s, a new price will always be fetched if the last result was
# from 1 second ago or older.
#
# Another way of looking at it is such: the cache will _never_ return a
# price that was queried from now-LatestReportTTL or before.
#
# Setting to zero disables caching entirely.
LatestReportTTL = "1s" # Default
# MaxStaleAge is that maximum amount of time that a value can be stale
# before it is deleted from the cache (a form of garbage collection).
#
# This should generally be set to something much larger than
# LatestReportTTL. Setting to zero disables garbage collection.
MaxStaleAge = "1h" # Default
# LatestReportDeadline controls how long to wait for a response from the
# mercury server before retrying. Setting this to zero will wait indefinitely.
LatestReportDeadline = "5s" # Default
mercury_cache_fetch_failure_count
mercury_cache_hit_count
mercury_cache_wait_count
mercury_cache_miss_count
EVM.OCR
TOML config fields DeltaCOverride
and DeltaCJitterOverride
for overriding the config DeltaC.mercury_insufficient_blocks_count
mercury_zero_blocks_count
PromReporter
no longer directly reads txm related status from the db, and instead uses the txStore API.L2Suggested
mode is now called SuggestedPrice
evm_pool_rpc_node_states
→ multi_node_states
evm_pool_rpc_node_num_transitions_to_alive
→ pool_rpc_node_num_transitions_to_alive
evm_pool_rpc_node_num_transitions_to_in_sync
→ pool_rpc_node_num_transitions_to_in_sync
evm_pool_rpc_node_num_transitions_to_out_of_sync
→ pool_rpc_node_num_transitions_to_out_of_sync
evm_pool_rpc_node_num_transitions_to_unreachable
→ pool_rpc_node_num_transitions_to_unreachable
evm_pool_rpc_node_num_transitions_to_invalid_chain_id
→ pool_rpc_node_num_transitions_to_invalid_chain_id
evm_pool_rpc_node_num_transitions_to_unusable
→ pool_rpc_node_num_transitions_to_unusable
evm_pool_rpc_node_highest_seen_block
→ pool_rpc_node_highest_seen_block
evm_pool_rpc_node_num_seen_blocks
→ pool_rpc_node_num_seen_blocks
evm_pool_rpc_node_polls_total
→ pool_rpc_node_polls_total
evm_pool_rpc_node_polls_failed
→ pool_rpc_node_polls_failed
evm_pool_rpc_node_polls_success
→ pool_rpc_node_polls_success
Optimism2
as a supported gas estimator modeLinkContractAddress
to 0x779877A7B0D9E8603169DdbD7836e478b4624789
Starting in v2.9.0
:
TelemetryIngress.URL
and TelemetryIngress.ServerPubKey
will no longer be allowed. Any TOML configuration that sets this fields will prevent the node from booting. These fields will be replaced by [[TelemetryIngress.Endpoints]]
P2P.V1
will no longer be supported and must not be set in TOML configuration in order to boot. Use P2P.V2
instead. If you are using both, V1
can simply be removed.LeaseDuration
for EVM.NodePool
that will periodically check if internal subscriptions are connected to the "best" (as defined by the SelectionMode
) node and switch to it if necessary. Setting this value to 0s
will disable this feature.[[TelemetryIngress.Endpoints]]
Network = '...' # e.g. EVM. Solana, Starknet, Cosmos
ChainID = '...' # e.g. 1, 5, devnet, mainnet-beta
URL = '...'
ServerPubKey = '...'
These will eventually replace TelemetryIngress.URL
and TelemetryIngress.ServerPubKey
. Setting TelemetryIngress.URL
and TelemetryIngress.ServerPubKey
alongside [[TelemetryIngress.Endpoints]]
will prevent the node from booting. Only one way of configuring telemetry endpoints is supported.
Added bridge_name label to pipeline_tasks_total_finished
prometheus metric. This should make it easier to see directly what bridge was failing out from the CL NODE perspective.
LogPoller will now use finality tags to dynamically determine finality on evm chains if UseFinalityTags=true
, rather than the fixed FinalityDepth
specified in toml config
P2P.V1
is now disabled (Enabled = false
) by default. It must be explicitly enabled with true
to be used. However, it is deprecated and will be removed in the future.P2P.V2
is now enabled (Enabled = true
) by default.Starting in v2.9.0
:
TelemetryIngress.URL
and TelemetryIngress.ServerPubKey
will no longer be allowed. Any TOML configuration that sets this fields will prevent the node from booting. These fields will be replaced by [[TelemetryIngress.Endpoints]]
P2P.V1
will no longer be supported and must not be set in TOML configuration in order to boot. Use P2P.V2
instead. If you are using both, V1
can simply be removed.ConfigContractAddress
in the relay config TOML.Explorer
related keys from TOML configuration and env vars.All nodes will have to remove the following secret configurations:
Explorer.AccessKey
Explorer.Secret
All nodes will have to remove the following configuration field: ExplorerURL
[ERROR] Error in transaction, rolling back: session missing or expired, please login again pg/transaction.go:118
chainID
was disabled.chainlink txs evm create
returns a transaction hash for the attempted transaction in the CLI. Previously only the sender, recipient and unstarted
state were returned.evmChainId
is requested instead of id
or evm-chain-id
in CLI error verbatimhealth
metric and HTTP /health
endpointnode start
or node validate
:AllowSimplePasswords=true