Remove automation - #545
Conversation
|
2aabdcd to
dc9da9e
Compare
There was a problem hiding this comment.
🔵 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.AutomationandGasEstimator.LimitJobType.Keeperconfiguration from TOML schema, defaults, docs, and tests. - Deleted the
pkg/automation/v21implementation (and related helpers) and pruned module dependencies ingo.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.
| ``` | ||
| 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. |
| @@ -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 | |||
| 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. |
| @@ -298,7 +298,6 @@ BumpTxDepth = 16 # Example | |||
| # - `FixedPriceEstimator` will use `GasFeeCapDefault` instaed of `GasPriceDefault` for the fee cap | |||
DEVSVCS-6219
allow-lint-issuesadded since the lint CI fails like in here due to GH API limits