github smartcontractkit/chainlink v2.3.0

latest releases: v2.18.0, test-bw, v2.18.0-rc2...
15 months ago

Added

  • Add a new field called Order (range from 1 to 100) to EVM.Nodes that is used for the PriorityLevel node selector and also as a tie-breaker for HighestHead and TotalDifficulty. Order levels are considered in ascending order. If not defined it will default to Order = 100 (last level).
  • Added new node selection mode called PriorityLevel for EVM, it is a tiered round-robin in ascending order of theOrder field. Example:
[EVM.NodePool]
SelectionMode = 'PriorityLevel'

[[EVM.Nodes]]
Name = '...'
WSURL = '...'
HTTPURL = '...'
Order = 5 
  • The config keys WebServer.StartTimeout and WebServer.HTTPMaxSize. These keys respectively set a timeout for the node server to
    start and set the max request size for HTTP requests. Previously these attributes were set by
    JobPipeline.DefaultHTTPLimit/JobPipeline.DefaultHTTPTimeout. To migrate to these new fields, set their values to be identical to
    JobPipeline.DefaultHTTPLimit/JobPipeline.DefaultHTTPTimeout.

  • Low latency oracle jobs now support in-protocol block range guarantees. This
    is necessary in order to produce reports with block number ranges that do not
    overlap. It can now be guaranteed at the protocol level, so we can use local
    state instead of relying on an unreliable round-trip to the Mercury server.

  • New settings Evm.GasEstimator.LimitJobType.OCR2, OCR2.DefaultTransactionQueueDepth, OCR2.SimulateTransactions for OCR2
    jobs. These replace the settings Evm.GasEstimator.LimitJobType.OCR, OCR.DefaultTransactionQueueDepth, and OCR.SimulateTransactions
    for OCR2.

  • Add new config parameter to OCR and OCR2 named TraceLogging that enables trace logging of OCR and OCR2 jobs, previously this behavior was controlled from the P2P.TraceLogging parameter. To maintain the same behavior set OCR.TraceLogging and OCR2.TraceLogging to the same value P2P.TraceLogging was set.

  • Add two new config parameters WebServer.ListenIP and WebServer.TLS.ListenIP which allows binding Chainlink HTTP/HTTPS servers to a particular IP. The default is '0.0.0.0' which listens to all IP addresses (same behavior as before). Set to '127.0.0.1' to only allow connections from the local machine (this can be handy for local development).

  • Add several new metrics for mercury feeds, related to WSRPC connections:

    • mercury_transmit_timeout_count
    • mercury_dial_count
    • mercury_dial_success_count
    • mercury_dial_error_count
    • mercury_connection_reset_count

Node operators may wish to add alerting based around these metrics.

Fixed

  • Fixed a bug in the nodes xxx list command that caused results to not be displayed correctly

Changed

  • Assumption violations for MaxFeePerGas >= BaseFeePerGas and MaxFeePerGas >= MaxPriorityFeePerGas in EIP-1559 effective gas price calculation will now use a gas price if specified
  • Config validation now enforces protection against duplicate chain ids and node fields per provided TOML file. Duplicates accross multiple configuration files are still valid. If you have specified duplicate chain ids or nodes in a given configuration file, this change will error out of all node subcommands.
  • Restricted scope of the Evm.GasEstimator.LimitJobType.OCR, OCR.DefaultTransactionQueueDepth, and OCR.SimulateTransactions settings so they
    apply only to OCR. Previously these settings would apply to OCR2 as well as OCR. You must use the OCR2 equivalents added above if you
    want your settings to apply to OCR2.

Removed

  • Legacy chain types Optimism and Optimism2. OptimismBedrock is now used to handle Optimism's special cases.
  • Optimism Kovan configurations along with legacy error messages.

Don't miss a new chainlink release

NewReleases is sending notifications on new releases.