Skip to content

1.6 UpdateLanes Changeset to include FQ2.0 Updates#21499

Open
simsonraj wants to merge 9 commits intodevelopfrom
update-lanes-fq-v2
Open

1.6 UpdateLanes Changeset to include FQ2.0 Updates#21499
simsonraj wants to merge 9 commits intodevelopfrom
update-lanes-fq-v2

Conversation

@simsonraj
Copy link
Contributor

@simsonraj simsonraj commented Mar 11, 2026

This updates FQ updates to include 2.0 Updates. when 1.5 - > 1.6 migration already has 2.0 FQ deployed

@github-actions
Copy link
Contributor

👋 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!

@github-actions
Copy link
Contributor

github-actions bot commented Mar 11, 2026

✅ No conflicts with other open PRs targeting develop

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Risk Rating: HIGH (changeset logic now conditionally routes FeeQuoter updates across major versions and affects MCMS proposal composition)

This PR updates the CCIP v1.6 lane update changeset to support FeeQuoter v2.0 (FQ2.0) chains by resolving the correct FeeQuoter target per chain, splitting v1 vs v2 update execution, and aggregating resulting MCMS operations into a single proposal.

Changes:

  • Resolve FeeQuoter address+version per chain from the address book/datastore and route updates to v1 or v2 sequences accordingly.
  • Convert v1.6 FeeQuoter dest/price updates into v2.0 update inputs and execute the v2 FeeQuoter update sequence per chain.
  • Aggregate v1 and v2 batch operations into a single MCMS timelock proposal (when MCMS is enabled).

Comment on lines +347 to +351
DefaultTokenDestGasOverhead: cfg.DestChainConfig.DefaultTokenDestGasOverhead,
DefaultTxGasLimit: cfg.DestChainConfig.DefaultTxGasLimit,
NetworkFeeUSDCents: uint16(cfg.DestChainConfig.NetworkFeeUSDCents),
LinkFeeMultiplierPercent: fqv2seq.LinkFeeMultiplierPercent,
},
Copy link

Copilot AI Mar 11, 2026

Choose a reason for hiding this comment

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

NetworkFeeUSDCents is being narrowed to uint16. If the source value exceeds math.MaxUint16, this will overflow and produce an incorrect fee in the v2 FeeQuoter update. Add an explicit range check (and fail fast) before converting, or adjust the v2 struct field/type if it should support larger values.

Copilot uses AI. Check for mistakes.
@trunk-io
Copy link

trunk-io bot commented Mar 11, 2026

Static BadgeStatic BadgeStatic BadgeStatic Badge

View Full Report ↗︎Docs

@simsonraj simsonraj requested a review from a team as a code owner March 12, 2026 10:34
@github-actions
Copy link
Contributor

github-actions bot commented Mar 12, 2026

CORA - Pending Reviewers

Codeowners Entry Overall Num Files Owners
go.md 💬 1 @smartcontractkit/core, @smartcontractkit/foundations
go.mod 💬 5 @smartcontractkit/core, @smartcontractkit/foundations
go.sum 💬 5 @smartcontractkit/core, @smartcontractkit/foundations

Legend: ✅ Approved | ❌ Changes Requested | 💬 Commented | 🚫 Dismissed | ⏳ Pending | ❓ Unknown

For more details, see the full review summary.

@simsonraj simsonraj requested a review from a team as a code owner March 12, 2026 16:03
@github-actions
Copy link
Contributor

I see you updated files related to core. Please run make gocs in the root directory to add a changeset as well as in the text include at least one of the following tags:

  • #added For any new functionality added.
  • #breaking_change For any functionality that requires manual action for the node to boot.
  • #bugfix For bug fixes.
  • #changed For any change to the existing functionality.
  • #db_update For any feature that introduces updates to database schema.
  • #deprecation_notice For any upcoming deprecation functionality.
  • #internal For changesets that need to be excluded from the final changelog.
  • #nops For any feature that is NOP facing and needs to be in the official Release Notes for the release.
  • #removed For any functionality/config that is removed.
  • #updated For any functionality that is updated.
  • #wip For any change that is not ready yet and external communication about it should be held off till it is feature complete.

tt-cll
tt-cll previously approved these changes Mar 12, 2026
@simsonraj simsonraj changed the title Update Lanes Changeset to include FQ2.0 Updates 1.6 UpdateLanes Changeset to include FQ2.0 Updates Mar 12, 2026
athegaul
athegaul previously approved these changes Mar 12, 2026
e.BlockChains,
fqUpdate,
)
output.Reports = append(output.Reports, v2Report.ExecutionReports...)
Copy link
Contributor

Choose a reason for hiding this comment

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

v2Report is used before checking the err


// Execute v2 FeeQuoter update sequences and append their batch ops
var v2BatchOps []mcmstypes.BatchOperation
for chainSel := range v2FeeQuoterChains {
Copy link
Contributor

Choose a reason for hiding this comment

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

Maps are not ordered so this yields different outcomes every time you run it, should the outcome not be deterministic?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

reports/batches are generated perchain & added to the proposal batch independently per chain, I don't think the ordering is checked in the proposal execution or the tests

@simsonraj simsonraj dismissed stale reviews from athegaul and tt-cll via 690e675 March 12, 2026 18:41
@simsonraj simsonraj enabled auto-merge March 12, 2026 18:45
@cl-sonarqube-production
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants