From 53639fde79f4297959e7880e3f6c60578263de7e Mon Sep 17 00:00:00 2001 From: bwest981 <3317895+Bwest981@users.noreply.github.com> Date: Tue, 19 Nov 2024 14:43:42 -0500 Subject: [PATCH 1/9] Bump version and update CHANGELOG for core v2.19.0 Signed-off-by: bwest981 <3317895+Bwest981@users.noreply.github.com> --- .changeset/brave-frogs-greet.md | 5 - .changeset/breezy-suits-float.md | 5 - ...cool-owls-laugh.md => cold-dogs-scream.md} | 0 .changeset/cool-feet-happen.md | 5 - .changeset/cyan-hairs-obey.md | 5 - .changeset/famous-ligers-heal.md | 5 - .changeset/few-sloths-explain.md | 5 - .changeset/forty-foxes-watch.md | 5 - .changeset/four-kangaroos-appear.md | 5 - .changeset/fresh-boxes-taste.md | 5 - .changeset/fuzzy-dodos-travel.md | 5 - .changeset/giant-cats-run.md | 5 - .changeset/good-chairs-boil.md | 5 - .changeset/good-roses-smash.md | 5 - .changeset/great-spiders-greet.md | 5 - .changeset/happy-tips-nail.md | 5 - .changeset/healthy-shirts-remain.md | 5 - .changeset/hip-clocks-joke.md | 5 - .changeset/honest-bugs-grin.md | 7 -- .changeset/hot-mice-yell.md | 5 - .changeset/hot-pants-clean.md | 5 - .changeset/late-windows-clean.md | 11 -- .changeset/lemon-ads-fix.md | 5 - .changeset/lovely-glasses-film.md | 5 - .changeset/many-carrots-share.md | 5 - .changeset/metal-forks-arrive.md | 5 - .changeset/neat-singers-notice.md | 5 - .changeset/nine-stingrays-march.md | 5 - .changeset/perfect-peaches-work.md | 5 - .changeset/purple-seas-help.md | 5 - .changeset/purple-shrimps-invent.md | 5 - .changeset/rotten-timers-give.md | 6 - .changeset/rude-geckos-switch.md | 5 - .changeset/seven-schools-invent.md | 5 - .changeset/short-gifts-eat.md | 5 - .changeset/silent-goats-jog.md | 5 - .changeset/six-wombats-shake.md | 5 - .changeset/sixty-queens-wait.md | 5 - .changeset/small-gifts-play.md | 5 - .changeset/strange-radios-teach.md | 5 - .changeset/swift-fireants-compare.md | 5 - .changeset/tame-tomatoes-refuse.md | 5 - .changeset/tasty-years-behave.md | 5 - .changeset/tender-colts-return.md | 5 - .changeset/thick-chefs-deliver.md | 5 - .changeset/three-mayflies-learn.md | 5 - .changeset/tricky-candles-matter.md | 5 - .changeset/two-spies-arrive.md | 5 - .changeset/weak-weeks-grin.md | 5 - CHANGELOG.md | 114 ++++++++++++++++++ package.json | 2 +- 51 files changed, 115 insertions(+), 250 deletions(-) delete mode 100644 .changeset/brave-frogs-greet.md delete mode 100644 .changeset/breezy-suits-float.md rename .changeset/{cool-owls-laugh.md => cold-dogs-scream.md} (100%) delete mode 100644 .changeset/cool-feet-happen.md delete mode 100644 .changeset/cyan-hairs-obey.md delete mode 100644 .changeset/famous-ligers-heal.md delete mode 100644 .changeset/few-sloths-explain.md delete mode 100644 .changeset/forty-foxes-watch.md delete mode 100644 .changeset/four-kangaroos-appear.md delete mode 100644 .changeset/fresh-boxes-taste.md delete mode 100644 .changeset/fuzzy-dodos-travel.md delete mode 100644 .changeset/giant-cats-run.md delete mode 100644 .changeset/good-chairs-boil.md delete mode 100644 .changeset/good-roses-smash.md delete mode 100644 .changeset/great-spiders-greet.md delete mode 100644 .changeset/happy-tips-nail.md delete mode 100644 .changeset/healthy-shirts-remain.md delete mode 100644 .changeset/hip-clocks-joke.md delete mode 100644 .changeset/honest-bugs-grin.md delete mode 100644 .changeset/hot-mice-yell.md delete mode 100644 .changeset/hot-pants-clean.md delete mode 100644 .changeset/late-windows-clean.md delete mode 100644 .changeset/lemon-ads-fix.md delete mode 100644 .changeset/lovely-glasses-film.md delete mode 100644 .changeset/many-carrots-share.md delete mode 100644 .changeset/metal-forks-arrive.md delete mode 100644 .changeset/neat-singers-notice.md delete mode 100644 .changeset/nine-stingrays-march.md delete mode 100644 .changeset/perfect-peaches-work.md delete mode 100644 .changeset/purple-seas-help.md delete mode 100644 .changeset/purple-shrimps-invent.md delete mode 100644 .changeset/rotten-timers-give.md delete mode 100644 .changeset/rude-geckos-switch.md delete mode 100644 .changeset/seven-schools-invent.md delete mode 100644 .changeset/short-gifts-eat.md delete mode 100644 .changeset/silent-goats-jog.md delete mode 100644 .changeset/six-wombats-shake.md delete mode 100644 .changeset/sixty-queens-wait.md delete mode 100644 .changeset/small-gifts-play.md delete mode 100644 .changeset/strange-radios-teach.md delete mode 100644 .changeset/swift-fireants-compare.md delete mode 100644 .changeset/tame-tomatoes-refuse.md delete mode 100644 .changeset/tasty-years-behave.md delete mode 100644 .changeset/tender-colts-return.md delete mode 100644 .changeset/thick-chefs-deliver.md delete mode 100644 .changeset/three-mayflies-learn.md delete mode 100644 .changeset/tricky-candles-matter.md delete mode 100644 .changeset/two-spies-arrive.md delete mode 100644 .changeset/weak-weeks-grin.md diff --git a/.changeset/brave-frogs-greet.md b/.changeset/brave-frogs-greet.md deleted file mode 100644 index 907e8f1ee75..00000000000 --- a/.changeset/brave-frogs-greet.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": minor ---- - -update plugin and evm chainwriter to remove evmConfig dependency #updated diff --git a/.changeset/breezy-suits-float.md b/.changeset/breezy-suits-float.md deleted file mode 100644 index 60e061223d8..00000000000 --- a/.changeset/breezy-suits-float.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": minor ---- - -#added address book remove feature diff --git a/.changeset/cool-owls-laugh.md b/.changeset/cold-dogs-scream.md similarity index 100% rename from .changeset/cool-owls-laugh.md rename to .changeset/cold-dogs-scream.md diff --git a/.changeset/cool-feet-happen.md b/.changeset/cool-feet-happen.md deleted file mode 100644 index 8d4aa22e79c..00000000000 --- a/.changeset/cool-feet-happen.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": patch ---- - -Ensure RPCClient with enabled polling respects health check flag #internal diff --git a/.changeset/cyan-hairs-obey.md b/.changeset/cyan-hairs-obey.md deleted file mode 100644 index 8bff6c8aad0..00000000000 --- a/.changeset/cyan-hairs-obey.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": minor ---- - -#added support enable and disable feed manager diff --git a/.changeset/famous-ligers-heal.md b/.changeset/famous-ligers-heal.md deleted file mode 100644 index e469ea85785..00000000000 --- a/.changeset/famous-ligers-heal.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": patch ---- - -Set `NodePool.EnforceRepeatableRead = true` by default for all chains. This forces Core to stop using RPCs behind on the latest finalized block. #changed #nops diff --git a/.changeset/few-sloths-explain.md b/.changeset/few-sloths-explain.md deleted file mode 100644 index 78efd6cc7f3..00000000000 --- a/.changeset/few-sloths-explain.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": patch ---- - -#updated ignoring tx type 126 on celo diff --git a/.changeset/forty-foxes-watch.md b/.changeset/forty-foxes-watch.md deleted file mode 100644 index cb118d50021..00000000000 --- a/.changeset/forty-foxes-watch.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": minor ---- - -Updated Solana TXM's in-memory storage to track statuses across the Solana transaction lifecycle. Added a method to translate Solana transaction statuses into states expected by the ChainWriter interface. Made the duration transactions are retained in storage after finality or error configurable using `TxRetentionTimeout`. #added diff --git a/.changeset/four-kangaroos-appear.md b/.changeset/four-kangaroos-appear.md deleted file mode 100644 index b8ef32ff69e..00000000000 --- a/.changeset/four-kangaroos-appear.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": patch ---- - -Add config validation so it requires ws url when http polling disabled #bugfix diff --git a/.changeset/fresh-boxes-taste.md b/.changeset/fresh-boxes-taste.md deleted file mode 100644 index ab68bdb5cfc..00000000000 --- a/.changeset/fresh-boxes-taste.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": minor ---- - -Implement secrets interpolation with dummy workflow registry syncer #internal diff --git a/.changeset/fuzzy-dodos-travel.md b/.changeset/fuzzy-dodos-travel.md deleted file mode 100644 index 8c79beb73d4..00000000000 --- a/.changeset/fuzzy-dodos-travel.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": minor ---- - -#changed UI(chainconfig): make admin address optional diff --git a/.changeset/giant-cats-run.md b/.changeset/giant-cats-run.md deleted file mode 100644 index 22a0cde247d..00000000000 --- a/.changeset/giant-cats-run.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": patch ---- - -#internal Add tokenDestGasOverhead to CalculateMessageMaxGas diff --git a/.changeset/good-chairs-boil.md b/.changeset/good-chairs-boil.md deleted file mode 100644 index ead73f68103..00000000000 --- a/.changeset/good-chairs-boil.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": minor ---- - -#added Enable and Disable Feeds Manager mutations diff --git a/.changeset/good-roses-smash.md b/.changeset/good-roses-smash.md deleted file mode 100644 index 3efa2dd439f..00000000000 --- a/.changeset/good-roses-smash.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": minor ---- - -#internal Fix Contract Reader data word index calculation and change ccip contract reader config for more optimal querying. diff --git a/.changeset/great-spiders-greet.md b/.changeset/great-spiders-greet.md deleted file mode 100644 index cd8e20a32a6..00000000000 --- a/.changeset/great-spiders-greet.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": patch ---- - -Fixed outdated headtracker config doc. #internal diff --git a/.changeset/happy-tips-nail.md b/.changeset/happy-tips-nail.md deleted file mode 100644 index ad42dc47beb..00000000000 --- a/.changeset/happy-tips-nail.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": patch ---- - -#updated bump CTF to v1.50.13, more robust ethereum client compatibility pipeline diff --git a/.changeset/healthy-shirts-remain.md b/.changeset/healthy-shirts-remain.md deleted file mode 100644 index 0ce310e1ce3..00000000000 --- a/.changeset/healthy-shirts-remain.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": minor ---- - -#removed Remove unused deprecated key interfaces. diff --git a/.changeset/hip-clocks-joke.md b/.changeset/hip-clocks-joke.md deleted file mode 100644 index 21f53718b22..00000000000 --- a/.changeset/hip-clocks-joke.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": patch ---- - -#internal OracleFactory error handling change diff --git a/.changeset/honest-bugs-grin.md b/.changeset/honest-bugs-grin.md deleted file mode 100644 index 7d3ff3c7848..00000000000 --- a/.changeset/honest-bugs-grin.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"chainlink": minor ---- - -#updated -update ethkeys, ethtransactions to handle duplicate chain id in different network -introduce network arg input to Chain graphql query to allow better lookup based on network and chain id diff --git a/.changeset/hot-mice-yell.md b/.changeset/hot-mice-yell.md deleted file mode 100644 index 9d170e1f15c..00000000000 --- a/.changeset/hot-mice-yell.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": patch ---- - -Relocation of the deployment directory into a direct subdir of the root. #internal diff --git a/.changeset/hot-pants-clean.md b/.changeset/hot-pants-clean.md deleted file mode 100644 index efd9a85baa3..00000000000 --- a/.changeset/hot-pants-clean.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": patch ---- - -Minor fixes to the CCIPChainReader enabling proper serialization #internal diff --git a/.changeset/late-windows-clean.md b/.changeset/late-windows-clean.md deleted file mode 100644 index 261747efa6c..00000000000 --- a/.changeset/late-windows-clean.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -"chainlink": minor ---- - -#internal Updated the TXM confirmation logic to use the mined transaction count to identify re-org'd or confirmed transactions. - -- Confirmer uses the mined transaction count to determine if transactions have been re-org'd or confirmed. -- Confirmer no longer sets transaction states to `confirmed_missing_receipt`. This state is maintained in queries for backwards compatibility. -- Finalizer now responsible for fetching and storing receipts for confirmed transactions. -- Finalizer now responsible for resuming pending task runs. -- Finalizer now responsible for marking old transactions without receipts broadcasted before the finalized head as fatal. diff --git a/.changeset/lemon-ads-fix.md b/.changeset/lemon-ads-fix.md deleted file mode 100644 index f7f3438eb23..00000000000 --- a/.changeset/lemon-ads-fix.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": patch ---- - -#added Handle Hex String in EA Telemetry diff --git a/.changeset/lovely-glasses-film.md b/.changeset/lovely-glasses-film.md deleted file mode 100644 index 2289c2c0a67..00000000000 --- a/.changeset/lovely-glasses-film.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": minor ---- - -Use correct OCR2OracleSpecID when setting up RequestedRoundTracker #bugfix diff --git a/.changeset/many-carrots-share.md b/.changeset/many-carrots-share.md deleted file mode 100644 index da22ac6ed4f..00000000000 --- a/.changeset/many-carrots-share.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": patch ---- - -#internal Update ccip contract reader cfg for ccip message sent to use output codec wrapper modifier diff --git a/.changeset/metal-forks-arrive.md b/.changeset/metal-forks-arrive.md deleted file mode 100644 index 21b99b3ddb1..00000000000 --- a/.changeset/metal-forks-arrive.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": patch ---- - -Adds new custom calldata DA oracle #added diff --git a/.changeset/neat-singers-notice.md b/.changeset/neat-singers-notice.md deleted file mode 100644 index 6eff83c0c15..00000000000 --- a/.changeset/neat-singers-notice.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": minor ---- - -Added multiple blocks history estimator feature and config for Solana TXM. #added diff --git a/.changeset/nine-stingrays-march.md b/.changeset/nine-stingrays-march.md deleted file mode 100644 index c2f88d95663..00000000000 --- a/.changeset/nine-stingrays-march.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": minor ---- - -Add don_id to Mercury Enhanced EA telemetry #added diff --git a/.changeset/perfect-peaches-work.md b/.changeset/perfect-peaches-work.md deleted file mode 100644 index 9a3b461e1c9..00000000000 --- a/.changeset/perfect-peaches-work.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": patch ---- - -Fix flaky WS test server #internal diff --git a/.changeset/purple-seas-help.md b/.changeset/purple-seas-help.md deleted file mode 100644 index 01f8b0049b6..00000000000 --- a/.changeset/purple-seas-help.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": minor ---- - -#removed unused key files and move public_key test file. diff --git a/.changeset/purple-shrimps-invent.md b/.changeset/purple-shrimps-invent.md deleted file mode 100644 index 3db195434de..00000000000 --- a/.changeset/purple-shrimps-invent.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": patch ---- - -Upgrade go-ethereum to v1.14.11 #internal diff --git a/.changeset/rotten-timers-give.md b/.changeset/rotten-timers-give.md deleted file mode 100644 index ef474a17d56..00000000000 --- a/.changeset/rotten-timers-give.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"chainlink": minor ---- - -Support multiple chains evm clients for TXM gas estimator to fetch L1 gas oracle -#added diff --git a/.changeset/rude-geckos-switch.md b/.changeset/rude-geckos-switch.md deleted file mode 100644 index 866b1c40c63..00000000000 --- a/.changeset/rude-geckos-switch.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": minor ---- - -#bugfix Update Log.Level and MaxSize configs description in the docs diff --git a/.changeset/seven-schools-invent.md b/.changeset/seven-schools-invent.md deleted file mode 100644 index 81b6ce44b99..00000000000 --- a/.changeset/seven-schools-invent.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": patch ---- - -Integration tests for USDC token transfer #internal diff --git a/.changeset/short-gifts-eat.md b/.changeset/short-gifts-eat.md deleted file mode 100644 index afc171715d4..00000000000 --- a/.changeset/short-gifts-eat.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": patch ---- - -use last mined nonce instead of pending nonce to recover from occasional nonce gap issues within nonce tracker. #internal diff --git a/.changeset/silent-goats-jog.md b/.changeset/silent-goats-jog.md deleted file mode 100644 index 3428ee20b17..00000000000 --- a/.changeset/silent-goats-jog.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": patch ---- - -Fix HeadTracker tests caused by simulated client update #internal diff --git a/.changeset/six-wombats-shake.md b/.changeset/six-wombats-shake.md deleted file mode 100644 index 448cf03bd51..00000000000 --- a/.changeset/six-wombats-shake.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": patch ---- - -CCIP token transfer integration tests #internal diff --git a/.changeset/sixty-queens-wait.md b/.changeset/sixty-queens-wait.md deleted file mode 100644 index cd9fc9ea65c..00000000000 --- a/.changeset/sixty-queens-wait.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": minor ---- - -#updated chain config: allow chain id and account address to be manually provided when no selections are available diff --git a/.changeset/small-gifts-play.md b/.changeset/small-gifts-play.md deleted file mode 100644 index a9486a033ef..00000000000 --- a/.changeset/small-gifts-play.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": patch ---- - -#updated Operator UI to support StreamSpec job definition diff --git a/.changeset/strange-radios-teach.md b/.changeset/strange-radios-teach.md deleted file mode 100644 index ea84bfbf359..00000000000 --- a/.changeset/strange-radios-teach.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": patch ---- - -Merge raw configs correctly #bugfix diff --git a/.changeset/swift-fireants-compare.md b/.changeset/swift-fireants-compare.md deleted file mode 100644 index b11c516e7c3..00000000000 --- a/.changeset/swift-fireants-compare.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": minor ---- - -Add CSA authentication support to Beholder #added diff --git a/.changeset/tame-tomatoes-refuse.md b/.changeset/tame-tomatoes-refuse.md deleted file mode 100644 index 530f9d2b519..00000000000 --- a/.changeset/tame-tomatoes-refuse.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": minor ---- - -#added feat: support creating solana chain config in job distributor page diff --git a/.changeset/tasty-years-behave.md b/.changeset/tasty-years-behave.md deleted file mode 100644 index 08019e3dafa..00000000000 --- a/.changeset/tasty-years-behave.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": patch ---- - -Modify release changelog generation format #internal diff --git a/.changeset/tender-colts-return.md b/.changeset/tender-colts-return.md deleted file mode 100644 index 16c0b2da1ff..00000000000 --- a/.changeset/tender-colts-return.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": patch ---- - -#updated celo alfajores config diff --git a/.changeset/thick-chefs-deliver.md b/.changeset/thick-chefs-deliver.md deleted file mode 100644 index 67d68d22792..00000000000 --- a/.changeset/thick-chefs-deliver.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": patch ---- - -Enable AutoPurge feature on all affected chains #nops diff --git a/.changeset/three-mayflies-learn.md b/.changeset/three-mayflies-learn.md deleted file mode 100644 index 1ea4fad3924..00000000000 --- a/.changeset/three-mayflies-learn.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": minor ---- - -#updated Update few incorrect occurences of the password for notreal@fakeemail.ch. diff --git a/.changeset/tricky-candles-matter.md b/.changeset/tricky-candles-matter.md deleted file mode 100644 index 0dc7806703a..00000000000 --- a/.changeset/tricky-candles-matter.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": patch ---- - -#bugfix Memory leak fix on promwrapper diff --git a/.changeset/two-spies-arrive.md b/.changeset/two-spies-arrive.md deleted file mode 100644 index cb46c46bce6..00000000000 --- a/.changeset/two-spies-arrive.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": patch ---- - -#updated Use labelers from `chainlink-common` diff --git a/.changeset/weak-weeks-grin.md b/.changeset/weak-weeks-grin.md deleted file mode 100644 index df03df2303c..00000000000 --- a/.changeset/weak-weeks-grin.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": patch ---- - -Bump Solana to include MultiNode integration. #added diff --git a/CHANGELOG.md b/CHANGELOG.md index 544cf09e5b4..f834f9a47e6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,118 @@ # Changelog Chainlink Core +## 2.19.0 - UNRELEASED + +### Minor Changes + +- [#15126](https://github.com/smartcontractkit/chainlink/pull/15126) [`bf9b08c331`](https://github.com/smartcontractkit/chainlink/commit/bf9b08c33119d14a34c4914a3a7cc94ea6cb5481) - update plugin and evm chainwriter to remove evmConfig dependency #updated + +- [#15148](https://github.com/smartcontractkit/chainlink/pull/15148) [`07a2cec532`](https://github.com/smartcontractkit/chainlink/commit/07a2cec532704aebe413a9fa29edc04bd9063677) - #added address book remove feature + +- [#14898](https://github.com/smartcontractkit/chainlink/pull/14898) [`a417740359`](https://github.com/smartcontractkit/chainlink/commit/a41774035961ce88be2fed7c6759758a7f00881d) - Bump to start the next version + +- [#15010](https://github.com/smartcontractkit/chainlink/pull/15010) [`c162226424`](https://github.com/smartcontractkit/chainlink/commit/c1622264243c2ee83ff7ba54989cfe789a8da53c) - #added support enable and disable feed manager + +- [#15104](https://github.com/smartcontractkit/chainlink/pull/15104) [`cf7db16483`](https://github.com/smartcontractkit/chainlink/commit/cf7db164832ea95354a3c953126c2fd32a59afd7) - Updated Solana TXM's in-memory storage to track statuses across the Solana transaction lifecycle. Added a method to translate Solana transaction statuses into states expected by the ChainWriter interface. Made the duration transactions are retained in storage after finality or error configurable using `TxRetentionTimeout`. #added + +- [#14880](https://github.com/smartcontractkit/chainlink/pull/14880) [`af8132361b`](https://github.com/smartcontractkit/chainlink/commit/af8132361b3fbd6858a792c4814d144582e6467b) - Implement secrets interpolation with dummy workflow registry syncer #internal + +- [#14993](https://github.com/smartcontractkit/chainlink/pull/14993) [`883d993dc6`](https://github.com/smartcontractkit/chainlink/commit/883d993dc6f58b561787c0e287ed121a08ce550d) - #changed UI(chainconfig): make admin address optional + +- [#14937](https://github.com/smartcontractkit/chainlink/pull/14937) [`3ad089f664`](https://github.com/smartcontractkit/chainlink/commit/3ad089f6644ed54cb21421e84a01b9628c15e205) - #added Enable and Disable Feeds Manager mutations + +- [#14935](https://github.com/smartcontractkit/chainlink/pull/14935) [`c042b627f1`](https://github.com/smartcontractkit/chainlink/commit/c042b627f1fb3a8e6009314c4c2e4daa3c7659c7) - #internal Fix Contract Reader data word index calculation and change ccip contract reader config for more optimal querying. + +- [#15210](https://github.com/smartcontractkit/chainlink/pull/15210) [`7ff9cf9916`](https://github.com/smartcontractkit/chainlink/commit/7ff9cf9916ae1648ccc3475c86e45c9df6ab8d1f) - #removed Remove unused deprecated key interfaces. + +- [#14791](https://github.com/smartcontractkit/chainlink/pull/14791) [`090063799c`](https://github.com/smartcontractkit/chainlink/commit/090063799cd2fd62646c383bf2d2e42d25225c40) - #updated + update ethkeys, ethtransactions to handle duplicate chain id in different network + introduce network arg input to Chain graphql query to allow better lookup based on network and chain id + +- [#14405](https://github.com/smartcontractkit/chainlink/pull/14405) [`03115e8038`](https://github.com/smartcontractkit/chainlink/commit/03115e80382dc02a7bce66dc16d8bae5bd7de132) - #internal Updated the TXM confirmation logic to use the mined transaction count to identify re-org'd or confirmed transactions. + + - Confirmer uses the mined transaction count to determine if transactions have been re-org'd or confirmed. + - Confirmer no longer sets transaction states to `confirmed_missing_receipt`. This state is maintained in queries for backwards compatibility. + - Finalizer now responsible for fetching and storing receipts for confirmed transactions. + - Finalizer now responsible for resuming pending task runs. + - Finalizer now responsible for marking old transactions without receipts broadcasted before the finalized head as fatal. + +- [#14912](https://github.com/smartcontractkit/chainlink/pull/14912) [`bb6a20a882`](https://github.com/smartcontractkit/chainlink/commit/bb6a20a8825d9f374b99238097b4c9f701336a0c) - Use correct OCR2OracleSpecID when setting up RequestedRoundTracker #bugfix + +- [#15029](https://github.com/smartcontractkit/chainlink/pull/15029) [`99241ec680`](https://github.com/smartcontractkit/chainlink/commit/99241ec68098d818b97b046a1f9b4f5c8f0c5366) - Added multiple blocks history estimator feature and config for Solana TXM. #added + +- [#15197](https://github.com/smartcontractkit/chainlink/pull/15197) [`3b3b86ceae`](https://github.com/smartcontractkit/chainlink/commit/3b3b86ceaed419fa3890be17c8699a3416081fb9) - Add don_id to Mercury Enhanced EA telemetry #added + +- [#15266](https://github.com/smartcontractkit/chainlink/pull/15266) [`a9d6a3f05c`](https://github.com/smartcontractkit/chainlink/commit/a9d6a3f05c2ca8f8efbd909179f06788c356429e) - #removed unused key files and move public_key test file. + +- [#14781](https://github.com/smartcontractkit/chainlink/pull/14781) [`bfd9a3ffe1`](https://github.com/smartcontractkit/chainlink/commit/bfd9a3ffe11484f3dc413bb77a709f2c4bb281b0) - Support multiple chains evm clients for TXM gas estimator to fetch L1 gas oracle + #added + +- [#15244](https://github.com/smartcontractkit/chainlink/pull/15244) [`827e003a0c`](https://github.com/smartcontractkit/chainlink/commit/827e003a0c8c0212c6de0cb330e1f27a9c583dab) - #bugfix Update Log.Level and MaxSize configs description in the docs + +- [#15296](https://github.com/smartcontractkit/chainlink/pull/15296) [`de9868df2c`](https://github.com/smartcontractkit/chainlink/commit/de9868df2c8869bcaf641b06e77dcaa720506263) - #updated chain config: allow chain id and account address to be manually provided when no selections are available + +- [#15160](https://github.com/smartcontractkit/chainlink/pull/15160) [`816dcf814a`](https://github.com/smartcontractkit/chainlink/commit/816dcf814aff1ab5ca043eb47849162a61bc184b) - Add CSA authentication support to Beholder #added + +- [#15237](https://github.com/smartcontractkit/chainlink/pull/15237) [`1f9c07de61`](https://github.com/smartcontractkit/chainlink/commit/1f9c07de618ecfa3f23b8259ce0558941b5c357f) - #added feat: support creating solana chain config in job distributor page + +- [#15299](https://github.com/smartcontractkit/chainlink/pull/15299) [`a2c3da471c`](https://github.com/smartcontractkit/chainlink/commit/a2c3da471cc344a14003f53c2c2f09c937c204c1) - #updated Update few incorrect occurences of the password for notreal@fakeemail.ch. + +### Patch Changes + +- [#14896](https://github.com/smartcontractkit/chainlink/pull/14896) [`38ef1799dc`](https://github.com/smartcontractkit/chainlink/commit/38ef1799dc8dade6882acbafda3f49e942483f6f) - Ensure RPCClient with enabled polling respects health check flag #internal + +- [#14978](https://github.com/smartcontractkit/chainlink/pull/14978) [`65351c3a6f`](https://github.com/smartcontractkit/chainlink/commit/65351c3a6fffcff03d249e64cae223daabd86e3c) - Set `NodePool.EnforceRepeatableRead = true` by default for all chains. This forces Core to stop using RPCs behind on the latest finalized block. #changed #nops + +- [#14875](https://github.com/smartcontractkit/chainlink/pull/14875) [`101fbbc75a`](https://github.com/smartcontractkit/chainlink/commit/101fbbc75a76893d2ebe0c24fa61773876007d76) - #updated ignoring tx type 126 on celo + +- [#14929](https://github.com/smartcontractkit/chainlink/pull/14929) [`da5910eda9`](https://github.com/smartcontractkit/chainlink/commit/da5910eda98882f8a1b9ccc52b99afa223fb3997) - Add config validation so it requires ws url when http polling disabled #bugfix + +- [#14964](https://github.com/smartcontractkit/chainlink/pull/14964) [`7a80f364f9`](https://github.com/smartcontractkit/chainlink/commit/7a80f364f902c46a958021777336d6f6de9203c3) - #internal Add tokenDestGasOverhead to CalculateMessageMaxGas + +- [#15115](https://github.com/smartcontractkit/chainlink/pull/15115) [`f8a6218727`](https://github.com/smartcontractkit/chainlink/commit/f8a62187273bac1f12eeee0fe33355fe1b4faebb) - Fixed outdated headtracker config doc. #internal + +- [#14955](https://github.com/smartcontractkit/chainlink/pull/14955) [`1b8819e518`](https://github.com/smartcontractkit/chainlink/commit/1b8819e5189459a557a981ab115813253cdda919) - #updated bump CTF to v1.50.13, more robust ethereum client compatibility pipeline + +- [#14950](https://github.com/smartcontractkit/chainlink/pull/14950) [`0cd0867140`](https://github.com/smartcontractkit/chainlink/commit/0cd086714086b2a788c54de9aea13d58316518dd) - #internal OracleFactory error handling change + +- [#14893](https://github.com/smartcontractkit/chainlink/pull/14893) [`e116f744b2`](https://github.com/smartcontractkit/chainlink/commit/e116f744b222b7d664a8501566093ca1c1c63aa9) - Relocation of the deployment directory into a direct subdir of the root. #internal + +- [#15024](https://github.com/smartcontractkit/chainlink/pull/15024) [`6b29cdb7f3`](https://github.com/smartcontractkit/chainlink/commit/6b29cdb7f349b370581822ec6f54713faa7ca49e) - Minor fixes to the CCIPChainReader enabling proper serialization #internal + +- [#14827](https://github.com/smartcontractkit/chainlink/pull/14827) [`a9f86b51bf`](https://github.com/smartcontractkit/chainlink/commit/a9f86b51bf8d3a8548d4870c91f3e82669f5f21a) - #added Handle Hex String in EA Telemetry + +- [#15137](https://github.com/smartcontractkit/chainlink/pull/15137) [`7bd35dcea0`](https://github.com/smartcontractkit/chainlink/commit/7bd35dcea04b02ceb2e46a0431eca61ab3b78889) - #internal Update ccip contract reader cfg for ccip message sent to use output codec wrapper modifier + +- [#14710](https://github.com/smartcontractkit/chainlink/pull/14710) [`12174c79c4`](https://github.com/smartcontractkit/chainlink/commit/12174c79c4d1746149d7c89e41e67f9dc6525c18) - Adds new custom calldata DA oracle #added + +- [#14891](https://github.com/smartcontractkit/chainlink/pull/14891) [`12e2eb251c`](https://github.com/smartcontractkit/chainlink/commit/12e2eb251c406b601b2f954ed25ccad369421403) - Fix flaky WS test server #internal + +- [#11809](https://github.com/smartcontractkit/chainlink/pull/11809) [`2e8e16820b`](https://github.com/smartcontractkit/chainlink/commit/2e8e16820b02a9ca83aa46e7ae2deac31eaf08aa) - Upgrade go-ethereum to v1.14.11 #internal + +- [#15279](https://github.com/smartcontractkit/chainlink/pull/15279) [`276d1f3255`](https://github.com/smartcontractkit/chainlink/commit/276d1f3255aeafb1767ee84f697fc4746890a9a6) - Integration tests for USDC token transfer #internal + +- [#14984](https://github.com/smartcontractkit/chainlink/pull/14984) [`1738332823`](https://github.com/smartcontractkit/chainlink/commit/173833282344857b5e7d95863d8dab211db71ad7) - use last mined nonce instead of pending nonce to recover from occasional nonce gap issues within nonce tracker. #internal + +- [#11809](https://github.com/smartcontractkit/chainlink/pull/11809) [`2e8e16820b`](https://github.com/smartcontractkit/chainlink/commit/2e8e16820b02a9ca83aa46e7ae2deac31eaf08aa) - Fix HeadTracker tests caused by simulated client update #internal + +- [#15130](https://github.com/smartcontractkit/chainlink/pull/15130) [`4f0491483c`](https://github.com/smartcontractkit/chainlink/commit/4f0491483c089ee2fd5e7875b0d58b65b304b111) - CCIP token transfer integration tests #internal + +- [#15150](https://github.com/smartcontractkit/chainlink/pull/15150) [`68bff71f20`](https://github.com/smartcontractkit/chainlink/commit/68bff71f201c8d40219aeadea08a49a19f1ba6f1) - #updated Operator UI to support StreamSpec job definition + +- [#14433](https://github.com/smartcontractkit/chainlink/pull/14433) [`340a6bfdf5`](https://github.com/smartcontractkit/chainlink/commit/340a6bfdf54745dd1c6d9f322d9c9515c97060bb) - Merge raw configs correctly #bugfix + +- [#15060](https://github.com/smartcontractkit/chainlink/pull/15060) [`239b3a95d1`](https://github.com/smartcontractkit/chainlink/commit/239b3a95d14dd872a7192de461c33fdc143fb163) - Modify release changelog generation format #internal + +- [#15019](https://github.com/smartcontractkit/chainlink/pull/15019) [`039777ffb8`](https://github.com/smartcontractkit/chainlink/commit/039777ffb8994e0af3a133dd02d9852f4d0a0ae1) - #updated celo alfajores config + +- [#15157](https://github.com/smartcontractkit/chainlink/pull/15157) [`12986aa461`](https://github.com/smartcontractkit/chainlink/commit/12986aa461a86a593dbce422725abf7e05f05332) - Enable AutoPurge feature on all affected chains #nops + +- [#14800](https://github.com/smartcontractkit/chainlink/pull/14800) [`7bac85fdb3`](https://github.com/smartcontractkit/chainlink/commit/7bac85fdb37ed15eb42357b0a0ce06e4febd7494) - #bugfix Memory leak fix on promwrapper + +- [#14867](https://github.com/smartcontractkit/chainlink/pull/14867) [`2d28b4eb9d`](https://github.com/smartcontractkit/chainlink/commit/2d28b4eb9d8635215d953b4f5d256791a9941035) - #updated Use labelers from `chainlink-common` + +- [#15284](https://github.com/smartcontractkit/chainlink/pull/15284) [`7cd17d687a`](https://github.com/smartcontractkit/chainlink/commit/7cd17d687a11fcfe36ad78d6279dc642b6186eaa) - Bump Solana to include MultiNode integration. #added + ## 2.18.0 - 2024-11-01 ### Minor Changes @@ -50,6 +163,7 @@ Reduced Generics: Significantly less bulky code! #updated #changed #internal + - [#14629](https://github.com/smartcontractkit/chainlink/pull/14629) [`4928e60ddf`](https://github.com/smartcontractkit/chainlink/commit/4928e60ddfe375e4a0c644cb210802b4c4db5dbd) Thanks [@huangzhen1997](https://github.com/huangzhen1997)! - Support Zircuit fraud transactions detection and zk overflow detection #added - [#14334](https://github.com/smartcontractkit/chainlink/pull/14334) [`0ad624673f`](https://github.com/smartcontractkit/chainlink/commit/0ad624673f6f1a8e155fc43c67a8ae6caddefa90) Thanks [@krehermann](https://github.com/krehermann)! - #added keystone contract deployment - [#14709](https://github.com/smartcontractkit/chainlink/pull/14709) [`1560aa9167`](https://github.com/smartcontractkit/chainlink/commit/1560aa9167a812abe3a8370c033b3290dcbcb261) Thanks [@KuphJr](https://github.com/KuphJr)! - Add encryptionPublicKey to CapabilitiesRegistry.sol diff --git a/package.json b/package.json index 67ad90e3e6d..8a0b5a3ed5d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "chainlink", - "version": "2.18.0", + "version": "2.19.0", "description": "node of the decentralized oracle network, bridging on and off-chain computation", "main": "index.js", "scripts": { From b25d5fbf09e1ae59ee6201ed5fd87ba3ea0b8e69 Mon Sep 17 00:00:00 2001 From: Bolek <1416262+bolekk@users.noreply.github.com> Date: Thu, 21 Nov 2024 07:53:10 -0800 Subject: [PATCH 2/9] [Keystone] Disable remote calls to RegisterToWorkflow (#15352) * [Keystone] Disable remote calls to RegisterToWorkflow * Remove failing test --------- Co-authored-by: Cedric Cordenier --- core/capabilities/remote/executable/client.go | 30 ------ .../remote/executable/endtoend_test.go | 102 ------------------ 2 files changed, 132 deletions(-) diff --git a/core/capabilities/remote/executable/client.go b/core/capabilities/remote/executable/client.go index 08c773cdb86..9af32eb5f8e 100644 --- a/core/capabilities/remote/executable/client.go +++ b/core/capabilities/remote/executable/client.go @@ -140,40 +140,10 @@ func (c *client) Info(ctx context.Context) (commoncap.CapabilityInfo, error) { } func (c *client) RegisterToWorkflow(ctx context.Context, registerRequest commoncap.RegisterToWorkflowRequest) error { - req, err := request.NewClientRegisterToWorkflowRequest(ctx, c.lggr, registerRequest, c.remoteCapabilityInfo, c.localDONInfo, c.dispatcher, - c.requestTimeout) - - if err != nil { - return fmt.Errorf("failed to create client request: %w", err) - } - - if err = c.sendRequest(req); err != nil { - return fmt.Errorf("failed to send request: %w", err) - } - - resp := <-req.ResponseChan() - if resp.Err != nil { - return fmt.Errorf("error executing request: %w", resp.Err) - } return nil } func (c *client) UnregisterFromWorkflow(ctx context.Context, unregisterRequest commoncap.UnregisterFromWorkflowRequest) error { - req, err := request.NewClientUnregisterFromWorkflowRequest(ctx, c.lggr, unregisterRequest, c.remoteCapabilityInfo, - c.localDONInfo, c.dispatcher, c.requestTimeout) - - if err != nil { - return fmt.Errorf("failed to create client request: %w", err) - } - - if err = c.sendRequest(req); err != nil { - return fmt.Errorf("failed to send request: %w", err) - } - - resp := <-req.ResponseChan() - if resp.Err != nil { - return fmt.Errorf("error executing request: %w", resp.Err) - } return nil } diff --git a/core/capabilities/remote/executable/endtoend_test.go b/core/capabilities/remote/executable/endtoend_test.go index 29f29ed9ee1..376b4d5852f 100644 --- a/core/capabilities/remote/executable/endtoend_test.go +++ b/core/capabilities/remote/executable/endtoend_test.go @@ -26,84 +26,6 @@ import ( p2ptypes "github.com/smartcontractkit/chainlink/v2/core/services/p2p/types" ) -func Test_RemoteExecutableCapability_InsufficientCapabilityResponses(t *testing.T) { - ctx := testutils.Context(t) - - responseTest := func(t *testing.T, responseCh commoncap.CapabilityResponse, responseError error) { - assert.NotNil(t, responseError) - } - - capability := &TestCapability{} - - transmissionSchedule, err := values.NewMap(map[string]any{ - "schedule": transmission.Schedule_AllAtOnce, - "deltaStage": "10ms", - }) - require.NoError(t, err) - - var methods []func(ctx context.Context, caller commoncap.ExecutableCapability) - - methods = append(methods, func(ctx context.Context, caller commoncap.ExecutableCapability) { - executeCapability(ctx, t, caller, transmissionSchedule, responseTest) - }) - - methods = append(methods, func(ctx context.Context, caller commoncap.ExecutableCapability) { - registerWorkflow(ctx, t, caller, transmissionSchedule, func(t *testing.T, responseError error) { - require.Error(t, responseError) - }) - }) - - methods = append(methods, func(ctx context.Context, caller commoncap.ExecutableCapability) { - unregisterWorkflow(ctx, t, caller, transmissionSchedule, func(t *testing.T, responseError error) { - require.Error(t, responseError) - }) - }) - - for _, method := range methods { - testRemoteExecutableCapability(ctx, t, capability, 10, 9, 10*time.Millisecond, 10, 10, 10*time.Minute, method) - } -} - -func Test_RemoteExecutableCapability_InsufficientWorkflowRequests(t *testing.T) { - ctx := testutils.Context(t) - - responseTest := func(t *testing.T, responseCh commoncap.CapabilityResponse, responseError error) { - assert.NotNil(t, responseError) - } - - timeOut := 10 * time.Minute - - capability := &TestCapability{} - - transmissionSchedule, err := values.NewMap(map[string]any{ - "schedule": transmission.Schedule_AllAtOnce, - "deltaStage": "10ms", - }) - require.NoError(t, err) - - var methods []func(ctx context.Context, caller commoncap.ExecutableCapability) - - methods = append(methods, func(ctx context.Context, caller commoncap.ExecutableCapability) { - executeCapability(ctx, t, caller, transmissionSchedule, responseTest) - }) - - methods = append(methods, func(ctx context.Context, caller commoncap.ExecutableCapability) { - registerWorkflow(ctx, t, caller, transmissionSchedule, func(t *testing.T, responseError error) { - require.Error(t, responseError) - }) - }) - - methods = append(methods, func(ctx context.Context, caller commoncap.ExecutableCapability) { - unregisterWorkflow(ctx, t, caller, transmissionSchedule, func(t *testing.T, responseError error) { - require.Error(t, responseError) - }) - }) - - for _, method := range methods { - testRemoteExecutableCapability(ctx, t, capability, 10, 10, 10*time.Millisecond, 10, 9, timeOut, method) - } -} - func Test_RemoteExecutableCapability_TransmissionSchedules(t *testing.T) { ctx := testutils.Context(t) @@ -214,18 +136,6 @@ func Test_RemoteExecutionCapability_CapabilityError(t *testing.T) { }) }) - methods = append(methods, func(ctx context.Context, caller commoncap.ExecutableCapability) { - registerWorkflow(ctx, t, caller, transmissionSchedule, func(t *testing.T, responseError error) { - assert.Equal(t, "error executing request: failed to register to workflow: an error", responseError.Error()) - }) - }) - - methods = append(methods, func(ctx context.Context, caller commoncap.ExecutableCapability) { - unregisterWorkflow(ctx, t, caller, transmissionSchedule, func(t *testing.T, responseError error) { - assert.Equal(t, "error executing request: failed to unregister from workflow: an error", responseError.Error()) - }) - }) - for _, method := range methods { testRemoteExecutableCapability(ctx, t, capability, 10, 9, 10*time.Minute, 10, 9, 10*time.Minute, method) } @@ -250,18 +160,6 @@ func Test_RemoteExecutableCapability_RandomCapabilityError(t *testing.T) { }) }) - methods = append(methods, func(ctx context.Context, caller commoncap.ExecutableCapability) { - registerWorkflow(ctx, t, caller, transmissionSchedule, func(t *testing.T, responseError error) { - assert.Equal(t, "error executing request: request expired", responseError.Error()) - }) - }) - - methods = append(methods, func(ctx context.Context, caller commoncap.ExecutableCapability) { - unregisterWorkflow(ctx, t, caller, transmissionSchedule, func(t *testing.T, responseError error) { - assert.Equal(t, "error executing request: request expired", responseError.Error()) - }) - }) - for _, method := range methods { testRemoteExecutableCapability(ctx, t, capability, 10, 9, 10*time.Millisecond, 10, 9, 10*time.Minute, method) From 8864aa7462f5ca59489fe28fd086b3718040ed6e Mon Sep 17 00:00:00 2001 From: Bolek <1416262+bolekk@users.noreply.github.com> Date: Thu, 21 Nov 2024 11:29:03 -0800 Subject: [PATCH 3/9] [KS-490] Support per-step timeout overrides in the Engine (#15367) --- core/services/workflows/engine.go | 32 ++++++++++++++++++++------ core/services/workflows/engine_test.go | 1 + 2 files changed, 26 insertions(+), 7 deletions(-) diff --git a/core/services/workflows/engine.go b/core/services/workflows/engine.go index b958e171c0c..ecb3ce60510 100644 --- a/core/services/workflows/engine.go +++ b/core/services/workflows/engine.go @@ -27,7 +27,11 @@ import ( "github.com/smartcontractkit/chainlink/v2/core/services/workflows/store" ) -const fifteenMinutesMs = 15 * 60 * 1000 +const ( + fifteenMinutesMs = 15 * 60 * 1000 + reservedFieldNameStepTimeout = "cre_step_timeout" + maxStepTimeoutOverrideSec = 10 * 60 // 10 minutes +) type stepRequest struct { stepRef string @@ -769,10 +773,7 @@ func (e *Engine) workerForStepRequest(ctx context.Context, msg stepRequest) { // TODO ks-462 inputs logCustMsg(ctx, cma, "executing step", l) - stepCtx, cancel := context.WithTimeout(ctx, e.stepTimeoutDuration) - defer cancel() - - inputs, outputs, err := e.executeStep(stepCtx, l, msg) + inputs, outputs, err := e.executeStep(ctx, l, msg) var stepStatus string switch { case errors.Is(capabilities.ErrStopExecution, err): @@ -919,6 +920,20 @@ func (e *Engine) executeStep(ctx context.Context, lggr logger.Logger, msg stepRe if err != nil { return nil, nil, err } + stepTimeoutDuration := e.stepTimeoutDuration + if timeoutOverride, ok := config.Underlying[reservedFieldNameStepTimeout]; ok { + var desiredTimeout int64 + err2 := timeoutOverride.UnwrapTo(&desiredTimeout) + if err2 != nil { + e.logger.Warnw("couldn't decode step timeout override, using default", "error", err2, "default", stepTimeoutDuration) + } else { + if desiredTimeout > maxStepTimeoutOverrideSec { + e.logger.Warnw("desired step timeout is too large, limiting to max value", "maxValue", maxStepTimeoutOverrideSec) + desiredTimeout = maxStepTimeoutOverrideSec + } + stepTimeoutDuration = time.Duration(desiredTimeout) * time.Second + } + } tr := capabilities.CapabilityRequest{ Inputs: inputsMap, @@ -934,8 +949,11 @@ func (e *Engine) executeStep(ctx context.Context, lggr logger.Logger, msg stepRe }, } - e.metrics.incrementCapabilityInvocationCounter(ctx) - output, err := step.capability.Execute(ctx, tr) + stepCtx, cancel := context.WithTimeout(ctx, stepTimeoutDuration) + defer cancel() + + e.metrics.incrementCapabilityInvocationCounter(stepCtx) + output, err := step.capability.Execute(stepCtx, tr) if err != nil { return inputsMap, nil, err } diff --git a/core/services/workflows/engine_test.go b/core/services/workflows/engine_test.go index 3a2bc17bc36..df767b8f452 100644 --- a/core/services/workflows/engine_test.go +++ b/core/services/workflows/engine_test.go @@ -86,6 +86,7 @@ targets: address: "0x54e220867af6683aE6DcBF535B4f952cB5116510" params: ["$(report)"] abi: "receive(report bytes)" + cre_step_timeout: 610 ` type testHooks struct { From d3fa330b1b3c275c48ea7ec962b4b8457f940fcd Mon Sep 17 00:00:00 2001 From: Jordan Krage Date: Fri, 22 Nov 2024 16:18:30 -0600 Subject: [PATCH 4/9] testdata/scripts/nodes/evm/list: add test; common/client: fix names in multinode state map [v2.19] (#15372) (cherry picked from commit 0cabe54f8535a466a5404bac67396071ec058d94) Co-authored-by: Brandon West <3317895+Bwest981@users.noreply.github.com> --- .changeset/great-peaches-walk.md | 5 ++ common/client/multi_node.go | 4 +- common/client/multi_node_test.go | 4 +- core/scripts/go.mod | 2 +- core/scripts/go.sum | 4 +- deployment/go.mod | 2 +- deployment/go.sum | 4 +- go.mod | 2 +- go.sum | 4 +- integration-tests/go.mod | 2 +- integration-tests/go.sum | 4 +- integration-tests/load/go.mod | 2 +- integration-tests/load/go.sum | 4 +- testdata/scripts/nodes/evm/list/list.txtar | 63 ++++++++++++++++++++++ 14 files changed, 87 insertions(+), 19 deletions(-) create mode 100644 .changeset/great-peaches-walk.md create mode 100644 testdata/scripts/nodes/evm/list/list.txtar diff --git a/.changeset/great-peaches-walk.md b/.changeset/great-peaches-walk.md new file mode 100644 index 00000000000..30e7446bb0c --- /dev/null +++ b/.changeset/great-peaches-walk.md @@ -0,0 +1,5 @@ +--- +"chainlink": patch +--- + +fix reported evm node states diff --git a/common/client/multi_node.go b/common/client/multi_node.go index 5ac595161af..b946fb8fc2a 100644 --- a/common/client/multi_node.go +++ b/common/client/multi_node.go @@ -131,10 +131,10 @@ func (c *MultiNode[CHAIN_ID, RPC]) DoAll(ctx context.Context, do func(ctx contex func (c *MultiNode[CHAIN_ID, RPC]) NodeStates() map[string]string { states := map[string]string{} for _, n := range c.primaryNodes { - states[n.String()] = n.State().String() + states[n.Name()] = n.State().String() } for _, n := range c.sendOnlyNodes { - states[n.String()] = n.State().String() + states[n.Name()] = n.State().String() } return states } diff --git a/common/client/multi_node_test.go b/common/client/multi_node_test.go index f8fdd4261b2..c1636881dd3 100644 --- a/common/client/multi_node_test.go +++ b/common/client/multi_node_test.go @@ -308,13 +308,13 @@ func TestMultiNode_CheckLease(t *testing.T) { for name, state := range nodes { node := newMockNode[types.ID, multiNodeRPCClient](t) node.On("State").Return(state).Once() - node.On("String").Return(name).Once() + node.On("Name").Return(name).Once() opts.nodes = append(opts.nodes, node) sendOnly := newMockSendOnlyNode[types.ID, multiNodeRPCClient](t) sendOnlyName := "send_only_" + name sendOnly.On("State").Return(state).Once() - sendOnly.On("String").Return(sendOnlyName).Once() + sendOnly.On("Name").Return(sendOnlyName).Once() opts.sendonlys = append(opts.sendonlys, sendOnly) expectedResult[name] = state.String() diff --git a/core/scripts/go.mod b/core/scripts/go.mod index 97fcfe46ec5..0bb7bbbe53c 100644 --- a/core/scripts/go.mod +++ b/core/scripts/go.mod @@ -387,7 +387,7 @@ require ( github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rivo/uniseg v0.4.4 // indirect github.com/robfig/cron/v3 v3.0.1 // indirect - github.com/rogpeppe/go-internal v1.12.0 // indirect + github.com/rogpeppe/go-internal v1.13.1 // indirect github.com/rs/cors v1.10.1 // indirect github.com/rs/zerolog v1.33.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect diff --git a/core/scripts/go.sum b/core/scripts/go.sum index 0678468c384..3d1c07dd158 100644 --- a/core/scripts/go.sum +++ b/core/scripts/go.sum @@ -1343,8 +1343,8 @@ github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFR github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= -github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= -github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= +github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= +github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= github.com/rs/cors v1.10.1 h1:L0uuZVXIKlI1SShY2nhFfo44TYvDPQ1w4oFkUJNfhyo= github.com/rs/cors v1.10.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= diff --git a/deployment/go.mod b/deployment/go.mod index 2c6bf78b0d1..9639325ede1 100644 --- a/deployment/go.mod +++ b/deployment/go.mod @@ -384,7 +384,7 @@ require ( github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rivo/uniseg v0.4.4 // indirect github.com/robfig/cron/v3 v3.0.1 // indirect - github.com/rogpeppe/go-internal v1.12.0 // indirect + github.com/rogpeppe/go-internal v1.13.1 // indirect github.com/rs/cors v1.10.1 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/sagikazarmark/locafero v0.4.0 // indirect diff --git a/deployment/go.sum b/deployment/go.sum index d265b8935fd..747dc60dd04 100644 --- a/deployment/go.sum +++ b/deployment/go.sum @@ -1318,8 +1318,8 @@ github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6So github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= -github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= -github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= +github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= +github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= github.com/rs/cors v1.10.1 h1:L0uuZVXIKlI1SShY2nhFfo44TYvDPQ1w4oFkUJNfhyo= github.com/rs/cors v1.10.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= diff --git a/go.mod b/go.mod index e6039802f93..82ef4d00dab 100644 --- a/go.mod +++ b/go.mod @@ -69,7 +69,7 @@ require ( github.com/prometheus/common v0.59.1 github.com/prometheus/prometheus v0.54.1 github.com/robfig/cron/v3 v3.0.1 - github.com/rogpeppe/go-internal v1.12.0 + github.com/rogpeppe/go-internal v1.13.1 github.com/rs/zerolog v1.33.0 github.com/scylladb/go-reflectx v1.0.1 github.com/shirou/gopsutil/v3 v3.24.3 diff --git a/go.sum b/go.sum index 270966b2a91..fbfe347d7a3 100644 --- a/go.sum +++ b/go.sum @@ -1024,8 +1024,8 @@ github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFR github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= -github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= -github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= +github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= +github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= github.com/rs/cors v1.9.0 h1:l9HGsTsHJcvW14Nk7J9KFz8bzeAWXn3CG6bgt7LsrAE= github.com/rs/cors v1.9.0/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= diff --git a/integration-tests/go.mod b/integration-tests/go.mod index f3440a4db55..d9ae8229fb9 100644 --- a/integration-tests/go.mod +++ b/integration-tests/go.mod @@ -398,7 +398,7 @@ require ( github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rivo/uniseg v0.4.4 // indirect github.com/robfig/cron/v3 v3.0.1 // indirect - github.com/rogpeppe/go-internal v1.12.0 // indirect + github.com/rogpeppe/go-internal v1.13.1 // indirect github.com/rs/cors v1.10.1 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/sagikazarmark/locafero v0.4.0 // indirect diff --git a/integration-tests/go.sum b/integration-tests/go.sum index a8ff6db2b20..d0b346137c3 100644 --- a/integration-tests/go.sum +++ b/integration-tests/go.sum @@ -1335,8 +1335,8 @@ github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6So github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= -github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= -github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= +github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= +github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= github.com/rs/cors v1.10.1 h1:L0uuZVXIKlI1SShY2nhFfo44TYvDPQ1w4oFkUJNfhyo= github.com/rs/cors v1.10.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= diff --git a/integration-tests/load/go.mod b/integration-tests/load/go.mod index c04b84488ca..a161c035729 100644 --- a/integration-tests/load/go.mod +++ b/integration-tests/load/go.mod @@ -405,7 +405,7 @@ require ( github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rivo/uniseg v0.4.4 // indirect github.com/robfig/cron/v3 v3.0.1 // indirect - github.com/rogpeppe/go-internal v1.12.0 // indirect + github.com/rogpeppe/go-internal v1.13.1 // indirect github.com/rs/cors v1.10.1 // indirect github.com/sanity-io/litter v1.5.5 // indirect github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect diff --git a/integration-tests/load/go.sum b/integration-tests/load/go.sum index 8504aecfe6e..e53ac420493 100644 --- a/integration-tests/load/go.sum +++ b/integration-tests/load/go.sum @@ -1325,8 +1325,8 @@ github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6So github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= -github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= -github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= +github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= +github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= github.com/rs/cors v1.10.1 h1:L0uuZVXIKlI1SShY2nhFfo44TYvDPQ1w4oFkUJNfhyo= github.com/rs/cors v1.10.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= diff --git a/testdata/scripts/nodes/evm/list/list.txtar b/testdata/scripts/nodes/evm/list/list.txtar new file mode 100644 index 00000000000..162a8558bba --- /dev/null +++ b/testdata/scripts/nodes/evm/list/list.txtar @@ -0,0 +1,63 @@ +# start node +exec sh -c 'eval "echo \"$(cat config.toml.tmpl)\" > config.toml"' +exec chainlink node -c config.toml start -p password -a creds & + +# initialize client +env NODEURL=http://localhost:$PORT +exec curl --retry 10 --retry-max-time 60 --retry-connrefused $NODEURL +exec chainlink --remote-node-url $NODEURL admin login -file creds --bypass-version-check + +exec chainlink --remote-node-url $NODEURL nodes evm list +cmp stdout out.txt + +-- testdb.txt -- +CL_DATABASE_URL +-- testport.txt -- +PORT + +-- password -- +T.tLHkcmwePT/p,]sYuntjwHKAsrhm#4eRs4LuKHwvHejWYAC2JP4M8HimwgmbaZ +-- creds -- +notreal@fakeemail.ch +fj293fbBnlQ!f9vNs + +-- config.toml.tmpl -- +[Webserver] +HTTPPort = $PORT + +[[EVM]] +ChainID = '68472' + +[[EVM.Nodes]] +Name = 'Blue' +WSURL = 'wss://primaryfoo.bar/ws' +HTTPURL = 'https://primaryfoo.bar' + +[[EVM.Nodes]] +Name = 'Yellow' +WSURL = 'wss://sendonlyfoo.bar/ws' +HTTPURL = 'https://sendonlyfoo.bar' +SendOnly = true + +-- out.txt -- + +----------------------------------- +Name: Blue +Chain ID: 68472 +State: Unreachable +Config: Name = 'Blue' +WSURL = 'wss://primaryfoo.bar/ws' +HTTPURL = 'https://primaryfoo.bar' +Order = 100 + +----------------------------------- +Name: Yellow +Chain ID: 68472 +State: Unreachable +Config: Name = 'Yellow' +WSURL = 'wss://sendonlyfoo.bar/ws' +HTTPURL = 'https://sendonlyfoo.bar' +SendOnly = true +Order = 100 + +----------------------------------- From 407eda058d37210508fd14947731442d9cde0040 Mon Sep 17 00:00:00 2001 From: Brandon West <3317895+Bwest981@users.noreply.github.com> Date: Wed, 27 Nov 2024 16:50:11 -0500 Subject: [PATCH 5/9] Consume latest changeset and update changelog (#15431) * Consume latest changeset and update changelog * Update CHANGELOG.md --- .changeset/cold-dogs-scream.md | 5 ----- .changeset/great-peaches-walk.md | 5 ----- CHANGELOG.md | 2 ++ 3 files changed, 2 insertions(+), 10 deletions(-) delete mode 100644 .changeset/cold-dogs-scream.md delete mode 100644 .changeset/great-peaches-walk.md diff --git a/.changeset/cold-dogs-scream.md b/.changeset/cold-dogs-scream.md deleted file mode 100644 index a3667ed20e0..00000000000 --- a/.changeset/cold-dogs-scream.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": minor ---- - -Bump to start the next version diff --git a/.changeset/great-peaches-walk.md b/.changeset/great-peaches-walk.md deleted file mode 100644 index 30e7446bb0c..00000000000 --- a/.changeset/great-peaches-walk.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": patch ---- - -fix reported evm node states diff --git a/CHANGELOG.md b/CHANGELOG.md index f834f9a47e6..db1ba5e3340 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -113,6 +113,8 @@ - [#15284](https://github.com/smartcontractkit/chainlink/pull/15284) [`7cd17d687a`](https://github.com/smartcontractkit/chainlink/commit/7cd17d687a11fcfe36ad78d6279dc642b6186eaa) - Bump Solana to include MultiNode integration. #added +- [#15372](https://github.com/smartcontractkit/chainlink/pull/15372) [`d3fa330b1b`](https://github.com/smartcontractkit/chainlink/commit/d3fa330b1b3c275c48ea7ec962b4b8457f940fcd) - fix reported evm node states + ## 2.18.0 - 2024-11-01 ### Minor Changes From d6c3c4cfc06e805cae703e7c1b93f29e62246a8c Mon Sep 17 00:00:00 2001 From: Brandon West <3317895+Bwest981@users.noreply.github.com> Date: Sat, 7 Dec 2024 23:41:25 -0500 Subject: [PATCH 6/9] bumping wsrpc (#15549) (#15550) * bumping wsrpc (#15549) * Update go.mod * make gomodtidy --------- Co-authored-by: Patrick --- core/scripts/go.mod | 2 +- core/scripts/go.sum | 4 ++-- deployment/go.mod | 2 +- deployment/go.sum | 4 ++-- go.mod | 2 +- go.sum | 4 ++-- integration-tests/go.mod | 2 +- integration-tests/go.sum | 4 ++-- integration-tests/load/go.mod | 2 +- integration-tests/load/go.sum | 4 ++-- 10 files changed, 15 insertions(+), 15 deletions(-) diff --git a/core/scripts/go.mod b/core/scripts/go.mod index 0bb7bbbe53c..6a9d505f233 100644 --- a/core/scripts/go.mod +++ b/core/scripts/go.mod @@ -421,7 +421,7 @@ require ( github.com/smartcontractkit/grpc-proxy v0.0.0-20240830132753-a7e17fec5ab7 // indirect github.com/smartcontractkit/tdh2/go/ocr2/decryptionplugin v0.0.0-20241009055228-33d0c0bf38de // indirect github.com/smartcontractkit/tdh2/go/tdh2 v0.0.0-20241009055228-33d0c0bf38de // indirect - github.com/smartcontractkit/wsrpc v0.8.2 // indirect + github.com/smartcontractkit/wsrpc v0.8.3 // indirect github.com/soheilhy/cmux v0.1.5 // indirect github.com/sony/gobreaker v0.5.0 // indirect github.com/sourcegraph/conc v0.3.0 // indirect diff --git a/core/scripts/go.sum b/core/scripts/go.sum index 3d1c07dd158..313ab7cd865 100644 --- a/core/scripts/go.sum +++ b/core/scripts/go.sum @@ -1441,8 +1441,8 @@ github.com/smartcontractkit/tdh2/go/ocr2/decryptionplugin v0.0.0-20241009055228- github.com/smartcontractkit/tdh2/go/ocr2/decryptionplugin v0.0.0-20241009055228-33d0c0bf38de/go.mod h1:Sl2MF/Fp3fgJIVzhdGhmZZX2BlnM0oUUyBP4s4xYb6o= github.com/smartcontractkit/tdh2/go/tdh2 v0.0.0-20241009055228-33d0c0bf38de h1:66VQxXx3lvTaAZrMBkIcdH9VEjujUEvmBQdnyOJnkOc= github.com/smartcontractkit/tdh2/go/tdh2 v0.0.0-20241009055228-33d0c0bf38de/go.mod h1:NSc7hgOQbXG3DAwkOdWnZzLTZENXSwDJ7Va1nBp0YU0= -github.com/smartcontractkit/wsrpc v0.8.2 h1:XB/xcn/MMseHW+8JE8+a/rceA86ck7Ur6cEa9LiUC8M= -github.com/smartcontractkit/wsrpc v0.8.2/go.mod h1:2u/wfnhl5R4RlSXseN4n6HHIWk8w1Am3AT6gWftQbNg= +github.com/smartcontractkit/wsrpc v0.8.3 h1:9tDf7Ut61g36RJIyxV9iI73SqoOMasKPfURV9oMLrPg= +github.com/smartcontractkit/wsrpc v0.8.3/go.mod h1:2u/wfnhl5R4RlSXseN4n6HHIWk8w1Am3AT6gWftQbNg= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= diff --git a/deployment/go.mod b/deployment/go.mod index 9639325ede1..9bfee2dcd60 100644 --- a/deployment/go.mod +++ b/deployment/go.mod @@ -413,7 +413,7 @@ require ( github.com/smartcontractkit/grpc-proxy v0.0.0-20240830132753-a7e17fec5ab7 // indirect github.com/smartcontractkit/tdh2/go/ocr2/decryptionplugin v0.0.0-20241009055228-33d0c0bf38de // indirect github.com/smartcontractkit/tdh2/go/tdh2 v0.0.0-20241009055228-33d0c0bf38de // indirect - github.com/smartcontractkit/wsrpc v0.8.2 // indirect + github.com/smartcontractkit/wsrpc v0.8.3 // indirect github.com/soheilhy/cmux v0.1.5 // indirect github.com/sony/gobreaker v0.5.0 // indirect github.com/sourcegraph/conc v0.3.0 // indirect diff --git a/deployment/go.sum b/deployment/go.sum index 747dc60dd04..e313ac86693 100644 --- a/deployment/go.sum +++ b/deployment/go.sum @@ -1416,8 +1416,8 @@ github.com/smartcontractkit/tdh2/go/ocr2/decryptionplugin v0.0.0-20241009055228- github.com/smartcontractkit/tdh2/go/ocr2/decryptionplugin v0.0.0-20241009055228-33d0c0bf38de/go.mod h1:Sl2MF/Fp3fgJIVzhdGhmZZX2BlnM0oUUyBP4s4xYb6o= github.com/smartcontractkit/tdh2/go/tdh2 v0.0.0-20241009055228-33d0c0bf38de h1:66VQxXx3lvTaAZrMBkIcdH9VEjujUEvmBQdnyOJnkOc= github.com/smartcontractkit/tdh2/go/tdh2 v0.0.0-20241009055228-33d0c0bf38de/go.mod h1:NSc7hgOQbXG3DAwkOdWnZzLTZENXSwDJ7Va1nBp0YU0= -github.com/smartcontractkit/wsrpc v0.8.2 h1:XB/xcn/MMseHW+8JE8+a/rceA86ck7Ur6cEa9LiUC8M= -github.com/smartcontractkit/wsrpc v0.8.2/go.mod h1:2u/wfnhl5R4RlSXseN4n6HHIWk8w1Am3AT6gWftQbNg= +github.com/smartcontractkit/wsrpc v0.8.3 h1:9tDf7Ut61g36RJIyxV9iI73SqoOMasKPfURV9oMLrPg= +github.com/smartcontractkit/wsrpc v0.8.3/go.mod h1:2u/wfnhl5R4RlSXseN4n6HHIWk8w1Am3AT6gWftQbNg= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= diff --git a/go.mod b/go.mod index 82ef4d00dab..1b11bac5280 100644 --- a/go.mod +++ b/go.mod @@ -87,7 +87,7 @@ require ( github.com/smartcontractkit/libocr v0.0.0-20241007185508-adbe57025f12 github.com/smartcontractkit/tdh2/go/ocr2/decryptionplugin v0.0.0-20241009055228-33d0c0bf38de github.com/smartcontractkit/tdh2/go/tdh2 v0.0.0-20241009055228-33d0c0bf38de - github.com/smartcontractkit/wsrpc v0.8.2 + github.com/smartcontractkit/wsrpc v0.8.3 github.com/spf13/cast v1.6.0 github.com/stretchr/testify v1.9.0 github.com/test-go/testify v1.1.4 diff --git a/go.sum b/go.sum index fbfe347d7a3..a9dfae984b3 100644 --- a/go.sum +++ b/go.sum @@ -1100,8 +1100,8 @@ github.com/smartcontractkit/tdh2/go/ocr2/decryptionplugin v0.0.0-20241009055228- github.com/smartcontractkit/tdh2/go/ocr2/decryptionplugin v0.0.0-20241009055228-33d0c0bf38de/go.mod h1:Sl2MF/Fp3fgJIVzhdGhmZZX2BlnM0oUUyBP4s4xYb6o= github.com/smartcontractkit/tdh2/go/tdh2 v0.0.0-20241009055228-33d0c0bf38de h1:66VQxXx3lvTaAZrMBkIcdH9VEjujUEvmBQdnyOJnkOc= github.com/smartcontractkit/tdh2/go/tdh2 v0.0.0-20241009055228-33d0c0bf38de/go.mod h1:NSc7hgOQbXG3DAwkOdWnZzLTZENXSwDJ7Va1nBp0YU0= -github.com/smartcontractkit/wsrpc v0.8.2 h1:XB/xcn/MMseHW+8JE8+a/rceA86ck7Ur6cEa9LiUC8M= -github.com/smartcontractkit/wsrpc v0.8.2/go.mod h1:2u/wfnhl5R4RlSXseN4n6HHIWk8w1Am3AT6gWftQbNg= +github.com/smartcontractkit/wsrpc v0.8.3 h1:9tDf7Ut61g36RJIyxV9iI73SqoOMasKPfURV9oMLrPg= +github.com/smartcontractkit/wsrpc v0.8.3/go.mod h1:2u/wfnhl5R4RlSXseN4n6HHIWk8w1Am3AT6gWftQbNg= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= diff --git a/integration-tests/go.mod b/integration-tests/go.mod index d9ae8229fb9..3c31f638226 100644 --- a/integration-tests/go.mod +++ b/integration-tests/go.mod @@ -423,7 +423,7 @@ require ( github.com/smartcontractkit/grpc-proxy v0.0.0-20240830132753-a7e17fec5ab7 // indirect github.com/smartcontractkit/tdh2/go/ocr2/decryptionplugin v0.0.0-20241009055228-33d0c0bf38de // indirect github.com/smartcontractkit/tdh2/go/tdh2 v0.0.0-20241009055228-33d0c0bf38de // indirect - github.com/smartcontractkit/wsrpc v0.8.2 // indirect + github.com/smartcontractkit/wsrpc v0.8.3 // indirect github.com/soheilhy/cmux v0.1.5 // indirect github.com/sony/gobreaker v0.5.0 // indirect github.com/sourcegraph/conc v0.3.0 // indirect diff --git a/integration-tests/go.sum b/integration-tests/go.sum index d0b346137c3..a8806992121 100644 --- a/integration-tests/go.sum +++ b/integration-tests/go.sum @@ -1439,8 +1439,8 @@ github.com/smartcontractkit/tdh2/go/ocr2/decryptionplugin v0.0.0-20241009055228- github.com/smartcontractkit/tdh2/go/ocr2/decryptionplugin v0.0.0-20241009055228-33d0c0bf38de/go.mod h1:Sl2MF/Fp3fgJIVzhdGhmZZX2BlnM0oUUyBP4s4xYb6o= github.com/smartcontractkit/tdh2/go/tdh2 v0.0.0-20241009055228-33d0c0bf38de h1:66VQxXx3lvTaAZrMBkIcdH9VEjujUEvmBQdnyOJnkOc= github.com/smartcontractkit/tdh2/go/tdh2 v0.0.0-20241009055228-33d0c0bf38de/go.mod h1:NSc7hgOQbXG3DAwkOdWnZzLTZENXSwDJ7Va1nBp0YU0= -github.com/smartcontractkit/wsrpc v0.8.2 h1:XB/xcn/MMseHW+8JE8+a/rceA86ck7Ur6cEa9LiUC8M= -github.com/smartcontractkit/wsrpc v0.8.2/go.mod h1:2u/wfnhl5R4RlSXseN4n6HHIWk8w1Am3AT6gWftQbNg= +github.com/smartcontractkit/wsrpc v0.8.3 h1:9tDf7Ut61g36RJIyxV9iI73SqoOMasKPfURV9oMLrPg= +github.com/smartcontractkit/wsrpc v0.8.3/go.mod h1:2u/wfnhl5R4RlSXseN4n6HHIWk8w1Am3AT6gWftQbNg= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= diff --git a/integration-tests/load/go.mod b/integration-tests/load/go.mod index a161c035729..11dea3b3580 100644 --- a/integration-tests/load/go.mod +++ b/integration-tests/load/go.mod @@ -430,7 +430,7 @@ require ( github.com/smartcontractkit/chainlink-testing-framework/lib/grafana v1.50.0 // indirect github.com/smartcontractkit/libocr v0.0.0-20241007185508-adbe57025f12 // indirect github.com/smartcontractkit/tdh2/go/ocr2/decryptionplugin v0.0.0-20241009055228-33d0c0bf38de // indirect - github.com/smartcontractkit/wsrpc v0.8.2 // indirect + github.com/smartcontractkit/wsrpc v0.8.3 // indirect github.com/soheilhy/cmux v0.1.5 // indirect github.com/sony/gobreaker v0.5.0 // indirect github.com/spf13/afero v1.11.0 // indirect diff --git a/integration-tests/load/go.sum b/integration-tests/load/go.sum index e53ac420493..13fd67ed34a 100644 --- a/integration-tests/load/go.sum +++ b/integration-tests/load/go.sum @@ -1426,8 +1426,8 @@ github.com/smartcontractkit/tdh2/go/ocr2/decryptionplugin v0.0.0-20241009055228- github.com/smartcontractkit/tdh2/go/ocr2/decryptionplugin v0.0.0-20241009055228-33d0c0bf38de/go.mod h1:Sl2MF/Fp3fgJIVzhdGhmZZX2BlnM0oUUyBP4s4xYb6o= github.com/smartcontractkit/tdh2/go/tdh2 v0.0.0-20241009055228-33d0c0bf38de h1:66VQxXx3lvTaAZrMBkIcdH9VEjujUEvmBQdnyOJnkOc= github.com/smartcontractkit/tdh2/go/tdh2 v0.0.0-20241009055228-33d0c0bf38de/go.mod h1:NSc7hgOQbXG3DAwkOdWnZzLTZENXSwDJ7Va1nBp0YU0= -github.com/smartcontractkit/wsrpc v0.8.2 h1:XB/xcn/MMseHW+8JE8+a/rceA86ck7Ur6cEa9LiUC8M= -github.com/smartcontractkit/wsrpc v0.8.2/go.mod h1:2u/wfnhl5R4RlSXseN4n6HHIWk8w1Am3AT6gWftQbNg= +github.com/smartcontractkit/wsrpc v0.8.3 h1:9tDf7Ut61g36RJIyxV9iI73SqoOMasKPfURV9oMLrPg= +github.com/smartcontractkit/wsrpc v0.8.3/go.mod h1:2u/wfnhl5R4RlSXseN4n6HHIWk8w1Am3AT6gWftQbNg= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= From 6da84b21c16f680f86f640df7ac4cfefab5b942e Mon Sep 17 00:00:00 2001 From: Dimitris Grigoriou Date: Mon, 9 Dec 2024 22:17:21 +0200 Subject: [PATCH 7/9] Finalizer fix (#15457) (#15577) * Finalizer fix * Add changeset --- .changeset/popular-rules-live.md | 5 +++++ core/chains/evm/txmgr/evm_tx_store.go | 3 --- core/chains/evm/txmgr/finalizer.go | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) create mode 100644 .changeset/popular-rules-live.md diff --git a/.changeset/popular-rules-live.md b/.changeset/popular-rules-live.md new file mode 100644 index 00000000000..2d996a28dc2 --- /dev/null +++ b/.changeset/popular-rules-live.md @@ -0,0 +1,5 @@ +--- +"chainlink": patch +--- + +Fixes a race condition with the Finalizer when clearing txs #bugfix diff --git a/core/chains/evm/txmgr/evm_tx_store.go b/core/chains/evm/txmgr/evm_tx_store.go index d76580907b3..95756790cf3 100644 --- a/core/chains/evm/txmgr/evm_tx_store.go +++ b/core/chains/evm/txmgr/evm_tx_store.go @@ -1411,9 +1411,6 @@ func (o *evmTxStore) UpdateTxFatalErrorAndDeleteAttempts(ctx context.Context, et var cancel context.CancelFunc ctx, cancel = o.stopCh.Ctx(ctx) defer cancel() - if etx.State != txmgr.TxInProgress && etx.State != txmgr.TxUnstarted && etx.State != txmgr.TxConfirmed { - return pkgerrors.Errorf("can only transition to fatal_error from in_progress, unstarted, or confirmed, transaction is currently %s", etx.State) - } if !etx.Error.Valid { return errors.New("expected error field to be set") } diff --git a/core/chains/evm/txmgr/finalizer.go b/core/chains/evm/txmgr/finalizer.go index b5fe5ae37e2..bc496202cd6 100644 --- a/core/chains/evm/txmgr/finalizer.go +++ b/core/chains/evm/txmgr/finalizer.go @@ -580,7 +580,7 @@ func (f *evmFinalizer) ProcessOldTxsWithoutReceipts(ctx context.Context, oldTxID "an external wallet has been used to send a transaction from account %s with nonce %s."+ " Please note that Chainlink requires exclusive ownership of it's private keys and sharing keys across multiple"+ " chainlink instances, or using the chainlink keys with an external wallet is NOT SUPPORTED and WILL lead to missed transactions", - oldTx.ID, head.BlockNumber(), latestFinalizedHead.BlockNumber(), oldTx.FromAddress, oldTx.Sequence.String()), "txID", oldTx.ID, "sequence", oldTx.Sequence.String(), "fromAddress", oldTx.FromAddress) + oldTx.ID, head.BlockNumber(), latestFinalizedHead.BlockNumber(), oldTx.FromAddress, oldTx.Sequence), "txID", oldTx.ID, "sequence", oldTx.Sequence, "fromAddress", oldTx.FromAddress) // Signal pending tasks for these transactions as failed // Store errors and continue to allow all transactions a chance to be signaled From 71dfdd7cf11fd8ccd9c56d27f2fbadd44de24434 Mon Sep 17 00:00:00 2001 From: Brandon West <3317895+Bwest981@users.noreply.github.com> Date: Mon, 9 Dec 2024 15:55:12 -0500 Subject: [PATCH 8/9] Update changeset to include clearing txs bugfix (#15578) --- .changeset/popular-rules-live.md | 5 ----- CHANGELOG.md | 2 ++ 2 files changed, 2 insertions(+), 5 deletions(-) delete mode 100644 .changeset/popular-rules-live.md diff --git a/.changeset/popular-rules-live.md b/.changeset/popular-rules-live.md deleted file mode 100644 index 2d996a28dc2..00000000000 --- a/.changeset/popular-rules-live.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"chainlink": patch ---- - -Fixes a race condition with the Finalizer when clearing txs #bugfix diff --git a/CHANGELOG.md b/CHANGELOG.md index db1ba5e3340..7cf1c2af76c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -115,6 +115,8 @@ - [#15372](https://github.com/smartcontractkit/chainlink/pull/15372) [`d3fa330b1b`](https://github.com/smartcontractkit/chainlink/commit/d3fa330b1b3c275c48ea7ec962b4b8457f940fcd) - fix reported evm node states +- [#15577](https://github.com/smartcontractkit/chainlink/pull/15577) [`6da84b21c1`](https://github.com/smartcontractkit/chainlink/commit/6da84b21c16f680f86f640df7ac4cfefab5b942e) - Fixes a race condition with the Finalizer when clearing txs #bugfix + ## 2.18.0 - 2024-11-01 ### Minor Changes From d7b5f7bd0d0db82550e39223aeeb5a5eafe01e24 Mon Sep 17 00:00:00 2001 From: Brandon West <3317895+Bwest981@users.noreply.github.com> Date: Thu, 12 Dec 2024 15:36:58 -0500 Subject: [PATCH 9/9] Finalize date on changelog for 2.19.0 (#15670) Signed-off-by: bwest981 <3317895+Bwest981@users.noreply.github.com> --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7cf1c2af76c..d5b6332c5a5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog Chainlink Core -## 2.19.0 - UNRELEASED +## 2.19.0 - 2024-12-12 ### Minor Changes