[CRE-491] Use moved llo EVM-specific files to chainlink-evm#22586
Conversation
|
I see you updated files related to
|
|
✅ No conflicts with other open PRs targeting |
|
There was a problem hiding this comment.
Pull request overview
Risk Rating: HIGH
This PR updates Chainlink’s LLO/EVM integration to consume LLO EVM-specific implementations (channel definition cache + ORM utilities) from chainlink-evm, removing the in-repo copies under core/services/llo/... and bumping chainlink-evm to a newer pseudo-version across all affected Go modules.
Changes:
- Bump
github.com/smartcontractkit/chainlink-evmversion across root/deployment/scripts/integration/system-test modules. - Switch imports from
chainlink/v2/core/services/llo/...tochainlink-evm/pkg/llo/...in relayers, cleanup logic, and LLO integration tests. - Remove the local
core/services/llo/channeldefinitionsandcore/services/llo/ormimplementations (and their unit tests), relying on the moved equivalents inchainlink-evm.
Areas needing scrupulous human review:
- Verify the referenced
chainlink-evmversion (v0.3.4-0.20260521145337-fdf89453516c) actually contains the moved packages/APIs (pkg/llo,pkg/llo/channeldefinitions) with compatible behavior and signatures. - Confirm operational behavior is unchanged (DB persistence semantics, logpoller filter naming, cache merge rules), since core logic is now provided by an external module.
- Ensure docs (
go.md) accurately reflect the resulting module graph (it currently appears out of sync withgo.mod).
Reviewed changes
Copilot reviewed 21 out of 28 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
go.mod |
Bumps chainlink-evm dependency version. |
go.sum |
Updates checksums for the new chainlink-evm version. |
deployment/go.mod |
Bumps chainlink-evm dependency version for deployment module. |
deployment/go.sum |
Updates checksums for deployment module dependency change. |
core/scripts/go.mod |
Bumps chainlink-evm dependency version for scripts module. |
core/scripts/go.sum |
Updates checksums for scripts module dependency change. |
integration-tests/go.mod |
Bumps chainlink-evm dependency version for integration tests module. |
integration-tests/go.sum |
Updates checksums for integration tests module dependency change. |
integration-tests/load/go.mod |
Bumps chainlink-evm dependency version for load tests module. |
integration-tests/load/go.sum |
Updates checksums for load tests module dependency change. |
system-tests/lib/go.mod |
Bumps chainlink-evm dependency version for system-tests lib module. |
system-tests/lib/go.sum |
Updates checksums for system-tests lib module dependency change. |
system-tests/tests/go.mod |
Bumps chainlink-evm dependency version for system-tests tests module. |
system-tests/tests/go.sum |
Updates checksums for system-tests tests module dependency change. |
go.md |
Updates the module dependency diagram (currently appears inconsistent with go.mod). |
core/services/relay/evm/evm.go |
Switches LLO imports to chainlink-evm/pkg/llo/... and uses moved cache factory/ORM. |
core/services/relay/evm/llo_provider.go |
Switches channel definition imports to chainlink-evm/pkg/llo/channeldefinitions. |
core/services/relay/dummy/relayer.go |
Uses chainlink-evm/pkg/llo/channeldefinitions for the static cache in dummy relayer. |
core/services/ocr2/plugins/llo/onchain_channel_definition_cache_integration_test.go |
Updates imports to use moved LLO/channeldefinitions packages in chainlink-evm. |
core/services/llo/cleanup.go |
Uses moved llo.NewChainScopedORM and moved channeldefinitions filter naming. |
core/services/llo/cleanup_test.go |
Updates test to use moved llo.NewChainScopedORM. |
core/services/llo/orm.go |
Removed (implementation moved to chainlink-evm). |
core/services/llo/orm_test.go |
Removed (tests presumably moved to chainlink-evm). |
core/services/llo/channeldefinitions/static_channel_definitions_cache.go |
Removed (implementation moved to chainlink-evm). |
core/services/llo/channeldefinitions/onchain_channel_definition_cache.go |
Removed (implementation moved to chainlink-evm). |
core/services/llo/channeldefinitions/onchain_channel_definition_cache_test.go |
Removed (tests presumably moved to chainlink-evm). |
core/services/llo/channeldefinitions/channel_definition_cache_factory.go |
Removed (factory moved to chainlink-evm). |
core/services/llo/channeldefinitions/channel_definition_cache_factory_test.go |
Removed (tests presumably moved to chainlink-evm). |
Comments suppressed due to low confidence (2)
go.md:176
- In this module dependency graph, the direct edge
chainlink/v2 --> chainlink-data-streamswas removed, butgo.modstill listsgithub.com/smartcontractkit/chainlink-data-streamsas a direct requirement (and core code imports it). Either restore the edge ingo.mdor adjustgo.mod/imports so the graph and module requirements stay consistent.
This issue also appears on line 579 of the same file.
chainlink/v2 --> chainlink-automation
chainlink/v2 --> chainlink-ccip/chains/evm
chainlink/v2 --> chainlink-evm/contracts/cre/gobindings
chainlink/v2 --> chainlink-feeds
chainlink/v2 --> chainlink-protos/data-feeds
chainlink/v2 --> chainlink-protos/ring/go
chainlink/v2 --> cre-sdk-go/capabilities/networking/http
chainlink/v2 --> cre-sdk-go/capabilities/scheduler/cron
go.md:586
- Same as above: this section’s
chainlink/v2dependency list omitschainlink-data-streams, but the repository’sgo.modstill requiresgithub.com/smartcontractkit/chainlink-data-streams. Please keepgo.mdaligned with the actual module graph (or updatego.modif the dependency truly became indirect).
chainlink/v2 --> chainlink-automation
chainlink/v2 --> chainlink-ccip/chains/evm
chainlink/v2 --> chainlink-ccv
chainlink/v2 --> chainlink-evm/contracts/cre/gobindings
chainlink/v2 --> chainlink-feeds
chainlink/v2 --> chainlink-protos/data-feeds
chainlink/v2 --> chainlink-protos/ring/go
chainlink/v2 --> chainlink-sui





Requires smartcontractkit/chainlink-evm#478