Skip to content

Remove automation - #545

Merged
anirudhwarrier merged 2 commits into
developfrom
cleanup-automation
Sep 3, 2026
Merged

Remove automation#545
anirudhwarrier merged 2 commits into
developfrom
cleanup-automation

Conversation

@anirudhwarrier

@anirudhwarrier anirudhwarrier commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

DEVSVCS-6219

  • Remove automation pkg
  • Remove automation wiring from pkg/relay
  • Remove automation & keepers references from pkg/config

allow-lint-issues added since the lint CI fails like in here due to GH API limits

failed to fetch pull request patch: RequestError [HttpError]: Sorry, the diff exceeded the maximum number of lines (20000): {"resource":"PullRequest","field":"diff","code":"too_large"}

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

⚠️ API Diff Results - github.com/smartcontractkit/chainlink-evm

⚠️ Breaking Changes (39)

package github (16)
  • com/smartcontractkit/chainlink-evm/pkg/automation/cbor — 🗑️ Removed

  • com/smartcontractkit/chainlink-evm/pkg/automation/v21 — 🗑️ Removed

  • com/smartcontractkit/chainlink-evm/pkg/automation/v21/core — 🗑️ Removed

  • com/smartcontractkit/chainlink-evm/pkg/automation/v21/core/mocks — 🗑️ Removed

  • com/smartcontractkit/chainlink-evm/pkg/automation/v21/encoding — 🗑️ Removed

  • com/smartcontractkit/chainlink-evm/pkg/automation/v21/gasprice — 🗑️ Removed

  • com/smartcontractkit/chainlink-evm/pkg/automation/v21/logprovider — 🗑️ Removed

  • com/smartcontractkit/chainlink-evm/pkg/automation/v21/mercury — 🗑️ Removed

  • com/smartcontractkit/chainlink-evm/pkg/automation/v21/mercury/streams — 🗑️ Removed

  • com/smartcontractkit/chainlink-evm/pkg/automation/v21/mercury/v02 — 🗑️ Removed

  • com/smartcontractkit/chainlink-evm/pkg/automation/v21/mercury/v03 — 🗑️ Removed

  • com/smartcontractkit/chainlink-evm/pkg/automation/v21/mocks — 🗑️ Removed

  • com/smartcontractkit/chainlink-evm/pkg/automation/v21/prommetrics — 🗑️ Removed

  • com/smartcontractkit/chainlink-evm/pkg/automation/v21/threadcontrol — 🗑️ Removed

  • com/smartcontractkit/chainlink-evm/pkg/automation/v21/transmit — 🗑️ Removed

  • com/smartcontractkit/chainlink-evm/pkg/automation/v21/upkeepstate — 🗑️ Removed

pkg/config (2)
  • OCR2 — 🗑️ Removed

  • OCR2Automation — 🗑️ Removed

pkg/config.(*EVMConfig) (1)
  • OCR2 — 🗑️ Removed
pkg/config.EVM (2)
  • OCR2 — 🗑️ Removed

  • OCR2, method set of *TestEvmConfig — 🗑️ Removed

pkg/config.LimitJobType (1)
  • Keeper — 🗑️ Removed
pkg/config/mocks (2)
  • EVM_OCR2_Call — 🗑️ Removed

  • LimitJobType_Keeper_Call — 🗑️ Removed

pkg/config/mocks.(*EVM) (1)
  • OCR2 — 🗑️ Removed
pkg/config/mocks.(*EVM_Expecter) (1)
  • OCR2 — 🗑️ Removed
pkg/config/mocks.(*LimitJobType) (1)
  • Keeper — 🗑️ Removed
pkg/config/mocks.(*LimitJobType_Expecter) (1)
  • Keeper — 🗑️ Removed
pkg/config/toml (2)
  • Automation — 🗑️ Removed

  • OCR2 — 🗑️ Removed

pkg/config/toml.Chain (1)
  • OCR2 — 🗑️ Removed
pkg/config/toml.EVMConfig (1)
  • OCR2 — 🗑️ Removed
pkg/config/toml.GasLimitJobType (1)
  • Keeper — 🗑️ Removed
pkg/relay (6)
  • ErrInitializationFailure — 🗑️ Removed

  • NewKeepersOCR3ContractTransmitter — 🗑️ Removed

  • NewOCR2KeeperRelayer — 🗑️ Removed

  • OCR2KeeperProvider — 🗑️ Removed

  • OCR2KeeperProviderOpts — 🗑️ Removed

  • OCR2KeeperRelayer — 🗑️ Removed


📄 View full apidiff report

@anirudhwarrier anirudhwarrier changed the title Cleanup automation Remove automation Sep 3, 2026
@anirudhwarrier
anirudhwarrier marked this pull request as ready for review September 3, 2026 10:17
@anirudhwarrier
anirudhwarrier requested a review from a team as a code owner September 3, 2026 10:17
Copilot AI lite review requested due to automatic review settings September 3, 2026 10:17
@anirudhwarrier
anirudhwarrier requested review from a team as code owners September 3, 2026 10:17

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

It removes a large, cross-cutting feature area (automation) across relayer wiring, config schema, defaults, and many packages, so a final human verification pass is needed.

Pull request overview

This PR removes the OCR2 Automation (keepers) implementation from chainlink-evm, including relayer wiring and all associated config surface area (TOML defaults/docs/tests), and drops now-unused Go module dependencies.

Changes:

  • Removed the OCR2 Automation relayer/provider implementation and wiring from pkg/relay.
  • Removed OCR2.Automation and GasEstimator.LimitJobType.Keeper configuration from TOML schema, defaults, docs, and tests.
  • Deleted the pkg/automation/v21 implementation (and related helpers) and pruned module dependencies in go.mod/go.sum.
File summaries
File Description
pkg/relay/ocr2keeper.go Deleted OCR2 Automation (keeper) relayer/provider implementation.
pkg/relay/evm.go Removed relayer entrypoint for Automation provider creation.
pkg/config/toml/testdata/config-full.toml Removed keeper-related job type and OCR2.Automation example config.
pkg/config/toml/docs.toml Removed OCR2.Automation docs and keeper references; updated gas limit docs text.
pkg/config/toml/defaults/ZKsync_Sepolia.toml Removed OCR2.Automation.GasLimit default.
pkg/config/toml/defaults/ZKsync_Mainnet.toml Removed OCR2.Automation.GasLimit default.
pkg/config/toml/defaults/Zircuit_Sepolia.toml Removed OCR2.Automation.GasLimit default.
pkg/config/toml/defaults/Zircuit_Mainnet.toml Removed OCR2.Automation.GasLimit default.
pkg/config/toml/defaults/Soneium_Sepolia.toml Removed OCR2.Automation.GasLimit default.
pkg/config/toml/defaults/Soneium_Mainnet.toml Removed OCR2.Automation.GasLimit default.
pkg/config/toml/defaults/Optimism_Sepolia.toml Removed OCR2.Automation.GasLimit default.
pkg/config/toml/defaults/Optimism_Mainnet.toml Removed OCR2.Automation.GasLimit default.
pkg/config/toml/defaults/Fantom_Testnet.toml Removed OCR2.Automation.GasLimit default.
pkg/config/toml/defaults/Fantom_Mainnet.toml Removed OCR2.Automation.GasLimit default and normalized formatting.
pkg/config/toml/defaults/fallback.toml Removed fallback OCR2.Automation.GasLimit default.
pkg/config/toml/defaults/Ethereum_Sepolia.toml Removed OCR2.Automation.GasLimit default.
pkg/config/toml/defaults/Ethereum_Mainnet.toml Removed OCR2.Automation.GasLimit default.
pkg/config/toml/defaults/Base_Sepolia.toml Removed OCR2.Automation.GasLimit default.
pkg/config/toml/defaults/Base_Mainnet.toml Removed OCR2.Automation.GasLimit default.
pkg/config/toml/defaults/Arbitrum_Sepolia.toml Removed OCR2.Automation.GasLimit default.
pkg/config/toml/defaults/Arbitrum_Mainnet.toml Removed OCR2.Automation.GasLimit default.
pkg/config/toml/defaults.go Removed copying/merging of now-removed OCR2 TOML config section.
pkg/config/toml/config.go Removed Chain.OCR2, OCR2.Automation schema, and GasLimitJobType.Keeper.
pkg/config/toml/config_test.go Updated TOML tests to stop asserting OCR2/Keeper config fields.
pkg/config/mocks/limit_job_type.go Removed mock method for LimitJobType.Keeper().
pkg/config/mocks/evm.go Removed mock method for EVM.OCR2().
pkg/config/config.go Removed EVM.OCR2() and LimitJobType.Keeper() from config interfaces.
pkg/config/config_test.go Updated chain-scoped config tests to stop asserting keeper gas limit.
pkg/config/chain_scoped.go Removed chain-scoped OCR2() accessor.
pkg/config/chain_scoped_ocr2.go Deleted OCR2 chain-scoped config implementation.
pkg/config/chain_scoped_ocr2_test.go Deleted OCR2 chain-scoped config test.
pkg/config/chain_scoped_gas_estimator.go Removed chain-scoped LimitJobType.Keeper() accessor implementation.
pkg/automation/v21/upkeepstate/store.go Deleted automation upkeep state store implementation.
pkg/automation/v21/upkeepstate/scanner.go Deleted performed-events scanner implementation.
pkg/automation/v21/upkeepstate/scanner_test.go Deleted performed-events scanner tests.
pkg/automation/v21/upkeepstate/orm.go Deleted upkeep state ORM implementation.
pkg/automation/v21/upkeepstate/orm_test.go Deleted upkeep state ORM tests.
pkg/automation/v21/upkeep_provider.go Deleted conditional upkeep provider implementation.
pkg/automation/v21/upkeep_provider_test.go Deleted conditional upkeep provider tests.
pkg/automation/v21/transmit/event_provider.go Deleted transmit event provider implementation.
pkg/automation/v21/transmit/event_provider_test.go Deleted transmit event provider tests.
pkg/automation/v21/transmit/encoding.go Deleted transmit log parsing helpers.
pkg/automation/v21/transmit/encoding_test.go Deleted transmit log parsing tests.
pkg/automation/v21/transmit/cache.go Deleted transmit event cache implementation.
pkg/automation/v21/transmit/cache_test.go Deleted transmit event cache tests.
pkg/automation/v21/threadcontrol/thread_control.go Deleted goroutine lifecycle helper used by automation code.
pkg/automation/v21/threadcontrol/thread_control_test.go Deleted thread control tests.
pkg/automation/v21/testdata/eth-usd.json Deleted automation mercury testdata fixture.
pkg/automation/v21/testdata/btc-usd.json Deleted automation mercury testdata fixture.
pkg/automation/v21/services.go Deleted automation services wrapper.
pkg/automation/v21/prommetrics/metrics.go Deleted automation-specific Prometheus metrics.
pkg/automation/v21/payload_builder.go Deleted automation payload builder implementation.
pkg/automation/v21/payload_builder_test.go Deleted automation payload builder tests.
pkg/automation/v21/mocks/http_client.go Deleted generated mock used by automation mercury client.
pkg/automation/v21/mercury/v02/request.go Deleted mercury v0.2 request client implementation.
pkg/automation/v21/mercury/testutils.go Deleted mercury simulated server test utilities.
pkg/automation/v21/mercury/mercury.go Deleted mercury core types/helpers (HMAC, retry logic, streams lookup decoding).
pkg/automation/v21/logprovider/provider_life_cycle.go Deleted log trigger provider lifecycle management.
pkg/automation/v21/logprovider/provider_life_cycle_test.go Deleted log trigger provider lifecycle tests.
pkg/automation/v21/logprovider/log.go Deleted log comparator/sorting helpers for automation.
pkg/automation/v21/logprovider/log_test.go Deleted log comparator/sorting tests.
pkg/automation/v21/logprovider/log_packer.go Deleted log data packer.
pkg/automation/v21/logprovider/filter.go Deleted upkeep log filter matcher.
pkg/automation/v21/logprovider/filter_test.go Deleted upkeep log filter tests.
pkg/automation/v21/logprovider/filter_store.go Deleted in-memory upkeep filter store.
pkg/automation/v21/logprovider/filter_store_test.go Deleted upkeep filter store tests.
pkg/automation/v21/logprovider/factory.go Deleted factory wiring for log provider/recoverer.
pkg/automation/v21/logprovider/block_time.go Deleted block time resolver.
pkg/automation/v21/logprovider/block_time_test.go Deleted block time resolver tests.
pkg/automation/v21/keyring.go Deleted OCR3 onchain keyring wrapper for automation.
pkg/automation/v21/keyring_test.go Deleted keyring wrapper tests.
pkg/automation/v21/gasprice/gasprice.go Deleted upkeep offchain-config gas price check helper.
pkg/automation/v21/gasprice/gasprice_test.go Deleted gas price check tests.
pkg/automation/v21/fixtures/expected_encoded_report.txt Deleted report encoding fixture.
pkg/automation/v21/encoding/packer.go Deleted automation ABI packer for reports/triggers/check results.
pkg/automation/v21/encoding/interface.go Deleted automation encoding interfaces and error codes.
pkg/automation/v21/encoding/encoder.go Deleted report encoder implementation.
pkg/automation/v21/encoding/encoder_test.go Deleted report encoder tests (including backwards-compat fixture check).
pkg/automation/v21/core/utils.go Deleted automation tx receipt helper.
pkg/automation/v21/core/utils_test.go Deleted tx receipt helper tests.
pkg/automation/v21/core/type.go Deleted upkeep type decoding logic.
pkg/automation/v21/core/type_test.go Deleted upkeep type decoding tests.
pkg/automation/v21/core/trigger.go Deleted trigger packing/unpacking helpers.
pkg/automation/v21/core/trigger_test.go Deleted trigger packing/unpacking tests.
pkg/automation/v21/core/testutil.go Deleted core test utilities for upkeep IDs.
pkg/automation/v21/core/payload.go Deleted upkeep payload/work ID computation helpers.
pkg/automation/v21/core/payload_test.go Deleted upkeep payload/work ID tests.
pkg/automation/v21/core/mocks/upkeep_state_reader.go Deleted generated mock for upkeep state reader.
pkg/automation/v21/core/interfaces.go Deleted upkeep state reader interface.
pkg/automation/v21/core/abi.go Deleted ABI variable definitions used by automation core.
pkg/automation/v21/block_subscriber.go Deleted automation block subscriber implementation.
pkg/automation/v21/active_list.go Deleted active upkeep list implementation.
pkg/automation/v21/active_list_test.go Deleted active upkeep list tests.
pkg/automation/cbor/cbor.go Deleted CBOR helpers that were used by automation code.
go.sum Pruned checksums for removed dependencies.
go.mod Removed module requirements for automation and its transitive deps.
go.md Updated module relationship diagram to remove automation edge(s).
CONFIG.md Removed keeper/OCR2 automation config docs and adjusted examples/comments.
Review details
  • Files reviewed: 117/119 changed files
  • Comments generated: 4
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread CONFIG.md
```
LimitDefault sets default gas limit for outgoing transactions. This should not need to be changed in most cases.
Some job types, such as Keeper jobs, might set their own gas limit unrelated to this value.
Some job types, might set their own gas limit unrelated to this value.
Comment thread CONFIG.md
@@ -665,7 +665,6 @@ In EIP-1559 mode, the following changes occur to how configuration works:
- `FixedPriceEstimator` will use `GasFeeCapDefault` instaed of `GasPriceDefault` for the fee cap
Comment thread pkg/config/toml/docs.toml
PriceMin = '1 gwei' # Default
# LimitDefault sets default gas limit for outgoing transactions. This should not need to be changed in most cases.
# Some job types, such as Keeper jobs, might set their own gas limit unrelated to this value.
# Some job types, might set their own gas limit unrelated to this value.
Comment thread pkg/config/toml/docs.toml
@@ -298,7 +298,6 @@ BumpTxDepth = 16 # Example
# - `FixedPriceEstimator` will use `GasFeeCapDefault` instaed of `GasPriceDefault` for the fee cap
@anirudhwarrier
anirudhwarrier merged commit b274ca1 into develop Sep 3, 2026
38 of 40 checks passed
@anirudhwarrier
anirudhwarrier deleted the cleanup-automation branch September 3, 2026 14:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants