[DO NOT MERGE] Changeset Release Preview - v2.18.0 #1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR is a preview of the changes that will be included in the next release. Please do not merge this PR.
Changelog Chainlink Core
2.18.0 - PREVIEW
nops
5d96be59a2
Thanks @huangzhen1997! - Make websocket URLWSURL
forEVM.Nodes
optional, and apply logic so that:#nops
added
#14305
5ca0d1f19f
Thanks @DeividasK! - #added oracle support in standard capabilities#14308
3e9e058da4
Thanks @kidambisrinivas! - #added log-event-trigger LOOPP capability, using ChainReader#14741
89fcfea8a4
Thanks @amit-momin! - Added the compute unit limit estimation feature for the Solana TXM #added#14651
8ca41fc8f7
Thanks @0xnogo! - #added Use ApplyDefaultsAndValidate#14588
fc1fefcba7
Thanks @0xnogo! - #added Add RMNRemote in the chain reader definition#14574
accbf0fe96
Thanks @reductionista! - #added LogPoller MaxLogsKept feature: recency count-based instead of time based log retention#14729
770d2bc9b0
Thanks @graham-chainlink! - #added Introduce aptosKeys Graphql query#14576
0e35bc794c
Thanks @aalu1418! - #added solana: compute unit limit configuration and transaction instruction#14661
9641ea29da
Thanks @emate! - #added Add prometheus metrics exposing health of telemetry client#14629
4928e60ddf
Thanks @huangzhen1997! - Support Zircuit fraud transactions detection and zk overflow detection #added#14334
0ad624673f
Thanks @krehermann! - #added keystone contract deployment#14491
c6e6e213a6
Thanks @jinhoonbang! - #added HTTP target capability and gateway connector handler#14764
56d4b84cc2
Thanks @graham-chainlink! - #added introduce cosmosKeys and starknetKeys graphql query#14500
d435981038
Thanks @0xnogo! - #added Pass the home chain selector to the commit plugin factory#14829
83c3a329b8
Thanks @asoliman92! - #added #fix add chain fee tests to initial deploy#14558
133e347872
Thanks @dhaidashenko! - AddedEVM.HeadTracker.PersistenceEnabled
config option to disable persistence for HeadTracker. #added#14827
a9f86b51bf
Thanks @cawthorne! - #added Handle Hex String in EA Telemetry#14710
12174c79c4
Thanks @ogtownsend! - Adds new custom calldata DA oracle #added#14656
004a0de233
Thanks @dimkouv! - #added graceful shutdown for ccip oracles#14859
80b0501bee
Thanks @ma33r! - Added a custom client error message for Mantle to capture NonceTooLow error. #added#14628
6ec5ab8315
Thanks @samsondav! - Implement blue-green Configurator contract and retirement report handover for LLO#added
#14734
ca71878aa5
Thanks @RyanRHall! - #added new config field to FeeQuoterchanged
#13386
4b21c32e25
Thanks @DylanTinianov! - Implemented new chain agnostic MultiNode design along with the corresponding EVM implementation. The chain agnostic components enable Multinode to be integrated with Solana and other non-EVM chains. Previously the Multinode was coupled with EVM specific actions, and was called to execute these actions direclty. With this change, the MultiNode's responsibility has been simplified to focus on RPC selection along with performing health checks. Chain specific actions will instead be executed on the RPC directly after being selected by MultiNode. The Chain Agnostic MultiNode provides improved reliability and metrics for all chain integrations using it.These are following main components:
Node: Common component which wraps an RPC with state information, health checks, and an alive loop to handle state changes along with maintaining chain information.
RPCClient: Chain-specific RPC wrapper which implements required interface for MultiNode along with any chain-specific functionality needed.
MultiNode: Perform RPCClient selection and performs health checks on all RPCs.
TransactionSender: Chain agnostic component which broadcasts transactions to all healthy RPCs and aggregates results. A chain-specific error classifier must be implemented.
MultiNode picks the "best" RPC based on one of the configurable criteria:
Benefits of Chain Agnostic MultiNode:
Reliability: Improved RPC reliability scaleable to all chains
Maintainability: Can apply changes across all chain integrations through the use of common code
Extendability: Can add new health checks, RPC selection and ranking algorithms
Integration Speed: Much faster to integrate MultiNode with new chains
Reduced Generics: Significantly less bulky code!
#updated #changed #internal
#14635
ee1d6e3b1a
Thanks @dhaidashenko! - Hedera chain type: broadcast transactions only to a single healthy RPC instead of all healthy RPCs to avoid redundant relay fees. #changedremoved
f7abc3eb0e
Thanks @pavel-raykov! - #removed Removing unreferenced unused files.updated
#14765
ca31213970
Thanks @graham-chainlink! - #updated support aptos creation in chain config UI#14718
16499e5cb7
Thanks @graham-chainlink! - #updated introduce network field on chain resolver#13386
4b21c32e25
Thanks @DylanTinianov! - Implemented new chain agnostic MultiNode design along with the corresponding EVM implementation. The chain agnostic components enable Multinode to be integrated with Solana and other non-EVM chains. Previously the Multinode was coupled with EVM specific actions, and was called to execute these actions direclty. With this change, the MultiNode's responsibility has been simplified to focus on RPC selection along with performing health checks. Chain specific actions will instead be executed on the RPC directly after being selected by MultiNode. The Chain Agnostic MultiNode provides improved reliability and metrics for all chain integrations using it.These are following main components:
Node: Common component which wraps an RPC with state information, health checks, and an alive loop to handle state changes along with maintaining chain information.
RPCClient: Chain-specific RPC wrapper which implements required interface for MultiNode along with any chain-specific functionality needed.
MultiNode: Perform RPCClient selection and performs health checks on all RPCs.
TransactionSender: Chain agnostic component which broadcasts transactions to all healthy RPCs and aggregates results. A chain-specific error classifier must be implemented.
MultiNode picks the "best" RPC based on one of the configurable criteria:
Benefits of Chain Agnostic MultiNode:
Reliability: Improved RPC reliability scaleable to all chains
Maintainability: Can apply changes across all chain integrations through the use of common code
Extendability: Can add new health checks, RPC selection and ranking algorithms
Integration Speed: Much faster to integrate MultiNode with new chains
Reduced Generics: Significantly less bulky code!
#updated #changed #internal
#14509
dbd42db9b8
Thanks @huangzhen1997! - Remove finality depth as the default value for minConfirmation for tx jobs.Update the sql query for fetching pending callback transactions:
if minConfirmation is not null, we check difference if the current block - tx block > minConfirmation
else we check if the tx block is <= finalizedBlock
#updated
#14375
816b25c001
Thanks @vyzaldysanchez! - #updated Workflows Engine loop refactored#14693
03df8989e8
Thanks @ChrisAmora! - #updated Consume Feeds Manager WSRPC protos from Chainlink Protos Repository.#14720
4f8c55eb01
Thanks @vyzaldysanchez! - #updated Refactors store_db#14530
2c16f46311
Thanks @Madalosso! - #updated default config values for FinalityTagEnabled to match CCIP configswip
#14536
4b977021ed
Thanks @jinhoonbang! - #wip implement gateway handler that forwards outgoing request from http target capability. introduce gateway http client#14599
4ac405a6d5
Thanks @ogtownsend! - Refactor OP oracle to accept generic DA oracle config #wip#14743
d5dfe4af8c
Thanks @ogtownsend! - Rename DA oracle consts to be more descriptive #wipbugfix
#14912
bb6a20a882
Thanks @cedric-cordenier! - Use correct OCR2OracleSpecID when setting up RequestedRoundTracker #bugfix#14670
ad29b19612
Thanks @dimriou! - Fix BHE PriceMax bug #bugfix#14685
c5e9f932ca
Thanks @huangzhen1997! - The findBroadcastedAttempts in detectStuckTransactionsHeuristic can returns uninitialized struct that potentially cause nil pointer error. Changed the return type of findBroadcastedAttempts to be pointers and added nil pointer check. #bugfix#14835
468fc4cd35
Thanks @ogtownsend! - Add DA oracle type to arbitrum and zksync configs #bugfix#14534
de268e98b8
Thanks @huangzhen1997! - - register polling subscription to avoid subscription leaking when rpc client gets closed.#bugfix
internal
#14696
072bfb667a
Thanks @0xsuryansh! - #internal add getNextDonId() and getNodes(bytes32[] calldata p2pIds) in CapabilitiesRegistry and define interface for node infoPR issue: CCIP-3569
#14602
002296d9db
Thanks @dimriou! - Update dynamic fee types to align with geth #internal#14622
c654322ace
Thanks @ilija42! - #internal Add support for data word detail manual input in Contract Reader for searching through EVM log event data with Contract Reader QueryKey ValueComparators.#14857
b8ae4adcfc
Thanks @dimriou! - FHE empty reward fix #internal#14702
ca9fb64356
Thanks @dimriou! - Return ErrConnectivity error when halting bumping #internal#14511
8fa9a67dfc
Thanks @silaslenihan! - #internal Updated QueryKey to be able to do advanced queries on contract event data words#14697
4c3e7ec8c3
Thanks @dimriou! - Fix TXM flakey test #internal#14620
09145baa9b
Thanks @Farber98! - add address bytes to string modifier to chainReader. #internal#13386
4b21c32e25
Thanks @DylanTinianov! - Implemented new chain agnostic MultiNode design along with the corresponding EVM implementation. The chain agnostic components enable Multinode to be integrated with Solana and other non-EVM chains. Previously the Multinode was coupled with EVM specific actions, and was called to execute these actions direclty. With this change, the MultiNode's responsibility has been simplified to focus on RPC selection along with performing health checks. Chain specific actions will instead be executed on the RPC directly after being selected by MultiNode. The Chain Agnostic MultiNode provides improved reliability and metrics for all chain integrations using it.These are following main components:
Node: Common component which wraps an RPC with state information, health checks, and an alive loop to handle state changes along with maintaining chain information.
RPCClient: Chain-specific RPC wrapper which implements required interface for MultiNode along with any chain-specific functionality needed.
MultiNode: Perform RPCClient selection and performs health checks on all RPCs.
TransactionSender: Chain agnostic component which broadcasts transactions to all healthy RPCs and aggregates results. A chain-specific error classifier must be implemented.
MultiNode picks the "best" RPC based on one of the configurable criteria:
Benefits of Chain Agnostic MultiNode:
Reliability: Improved RPC reliability scaleable to all chains
Maintainability: Can apply changes across all chain integrations through the use of common code
Extendability: Can add new health checks, RPC selection and ranking algorithms
Integration Speed: Much faster to integrate MultiNode with new chains
Reduced Generics: Significantly less bulky code!
#updated #changed #internal
#14789
5dfb13071e
Thanks @0xnogo! - #internal: Adding test for rmn home reader#14496
25c469880f
Thanks @cedric-cordenier! - Add compute capability #internal#14855
7cd384b945
Thanks @dimriou! - Rename SequenceAt to NonceAt #internal#14631
ad9398a8fd
Thanks @martin-cll! - Fix for Mercury transmitter decoding reports of a different codec version #internal#14798
26e22eb6cf
Thanks @0xsuryansh! - #internal Update gethwrapper for FeeQuoter, Internal.sol comment and byte calc update#14719
de9ce674c6
Thanks @amit-momin! - Set chainType in chain client #internal#14603
19690b0c44
Thanks @mateusz-sekara! - Implementing evm specific token data encoder for CCIP #internal#14607
eec0ff9469
Thanks @winder! - #internal update ccip chainreader config.#14694
e9b3397f46
Thanks @mateusz-sekara! - Adjustments for usdc reader tests #internal#14624
be774f00a9
Thanks @mateusz-sekara! - Registering USDC/CCTP events in the ChainReader during oracle creation #internal#14575
1b41e69cca
Thanks @DylanTinianov! - Bump chainlink-solana and fix tests #internal#14668
dacb6a8c70
Thanks @winder! - #internal ccip contract reader config.#14814
f708ebb094
Thanks @DylanTinianov! - Fix testWSServer issue causing panic in testing #internaluntagged
#14709
1560aa9167
Thanks @KuphJr! - Add encryptionPublicKey to CapabilitiesRegistry.sol#14564
8b01661e03
Thanks @momentmaker! - start of next release#14760
3af39c8032
Thanks @KuphJr! - Enable rotating encryptionPublicKey in CapabilitiesRegistry contract