Skip to content

CCIP Home changeset : merge USDCTokenPoolProxy address from datastore#21567

Open
0xsuryansh wants to merge 4 commits intodevelopfrom
0xsuryansh/merge-datastore-state-valid-usdc
Open

CCIP Home changeset : merge USDCTokenPoolProxy address from datastore#21567
0xsuryansh wants to merge 4 commits intodevelopfrom
0xsuryansh/merge-datastore-state-valid-usdc

Conversation

@0xsuryansh
Copy link
Member

@0xsuryansh 0xsuryansh commented Mar 17, 2026

Changes to cs_ccip_home

  • Since USDCTokenPoolProxy will only be present in DataStore we need to merge it into the chain state for this changeset
  • Earlier the changeset used to prioritise finding a USDCTokenPool v1.6.2 first and then USDCTokenPool v1.5.0 but with a phased rollout different pool types can be valid, so we are validating that the given pool is valid

@github-actions
Copy link
Contributor

👋 0xsuryansh, 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 17, 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

This PR updates CCIP v1.6 deployment changesets to load on-chain state differently for candidate-related operations (optionally incorporating DataStore addresses), and relaxes USDC SourcePoolAddress validation to accept any deployed pool among a small set of supported versions.

Changes:

  • Extend validateUSDCConfig to accept SourcePoolAddress matching any deployed USDC pool across v1.5.1 / v1.6.2 / v1.7.0 (instead of only the “latest”).
  • Add loadOnchainStateForCandidateChangesets, which reloads EVM chain state using merged AddressBook+DataStore addresses when Env.DataStore is present.
  • Switch Promote/Set/AddDon candidate changesets (and config validation) to use the new loader.

@trunk-io
Copy link

trunk-io bot commented Mar 17, 2026

Static BadgeStatic BadgeStatic BadgeStatic Badge

View Full Report ↗︎Docs

@0xsuryansh 0xsuryansh changed the title loadOnchainStateForCandidateChangesets CCIP Home changeset : merge USDCTokenPoolProxy address from datastore Mar 18, 2026
@cl-sonarqube-production
Copy link

@0xsuryansh 0xsuryansh added this pull request to the merge queue Mar 18, 2026
Comment on lines +208 to 216
for _, sourcePoolAddress := range validSourcePools {
if configuredSourcePool == sourcePoolAddress {
matchesDeployedPool = true
break
}
}
if matchesDeployedPool {
break
}
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
for _, sourcePoolAddress := range validSourcePools {
if configuredSourcePool == sourcePoolAddress {
matchesDeployedPool = true
break
}
}
if matchesDeployedPool {
break
}
if slices.Contains(validSourcePools, configuredSourcePool) {
break
}

@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Mar 18, 2026
return nil
}

func loadOnchainStateForCandidateChangesets(e cldf.Environment) (stateview.CCIPOnChainState, error) {
Copy link
Contributor

Choose a reason for hiding this comment

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

there are methods which can already load both DS & Addressbook state merged, but for this purpose its okay

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.

6 participants