update 1.6 fq on chains with v2 deployed#21819
Conversation
|
👋 simsonraj, thanks for creating this pull request! To help reviewers, please consider creating future PRs as drafts first. This allows you to self-review and make any final changes before notifying the team. Once you're ready, you can mark it as "Ready for review" to request feedback. Thanks! |
|
✅ No conflicts with other open PRs targeting |
There was a problem hiding this comment.
Pull request overview
Risk Rating: MEDIUM — changes affect CCIP lane configuration flows (FeeQuoter targeting + MCMS proposal composition) but are scoped and covered by added tests.
This PR fixes an issue where UpdateLanesLogic would skip updates to the active v1.6 FeeQuoter on chains where a v2 FeeQuoter is also present (in the datastore), ensuring both v1.6 and v2 are updated when applicable.
Changes:
- Adjust FeeQuoter target resolution + update flow so chains with v2 FeeQuoter no longer skip the v1.6 FeeQuoter update path.
- Track v2 FeeQuoter addresses separately to ensure v2-specific idempotency filtering queries the correct contract.
- Add/extend tests to cover v2 + v1.6 co-existence and idempotency expectations.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| deployment/ccip/changeset/v1_6/cs_update_bidirectional_lanes.go | Updates lane update logic to always update active v1.6 FeeQuoter and additionally update v2 FeeQuoter when deployed. |
| deployment/ccip/changeset/v1_6/cs_update_bidirectional_lanes_test.go | Updates/extends test coverage for v2 FeeQuoter scenarios and adds an idempotency test for dual-v1/v2 chains. |
Scrupulous human review recommended (high-impact logic paths):
UpdateLanesLogicv1/v2 split + sequencing and proposal aggregation (notably around the v2 batch ops aggregation):cs_update_bidirectional_lanes.go:224-365.resolveFeeQuoterTargetsbehavior and assumptions around which address remains in the v1 inputs vs tracked as v2:cs_update_bidirectional_lanes.go:486-535.
Reviewer recommendations (per .github/CODEOWNERS):
@smartcontractkit/ccip-tooling,@smartcontractkit/ccip-offchain,@smartcontractkit/operations-platform(owners for/deployment/ccip).
|




Before: UpdateLanesLogic skipped the active v1.6 FeeQuoter on chains
where a v2 FeeQuoter existed in the datastore.
Now: always update 1.6 FQ & 2.0 (when exists)
Added more tests