Skip to content

DF add support for multiple MCMS on same networks#20967

Merged
alecgard merged 3 commits intodevelopfrom
DF-22944
Feb 3, 2026
Merged

DF add support for multiple MCMS on same networks#20967
alecgard merged 3 commits intodevelopfrom
DF-22944

Conversation

@karen-stepanyan
Copy link
Copy Markdown
Contributor

@karen-stepanyan karen-stepanyan commented Jan 29, 2026

Adds support of multiple MCMS contracts on a single network for existing changesets
https://chainlink-core.slack.com/archives/C032JQS6HK5/p1769430791634079

@karen-stepanyan karen-stepanyan marked this pull request as ready for review January 29, 2026 16:44
@karen-stepanyan karen-stepanyan requested review from a team as code owners January 29, 2026 16:44
Copilot AI review requested due to automatic review settings January 29, 2026 16:44
@karen-stepanyan karen-stepanyan requested a review from a team as a code owner January 29, 2026 16:44
Copy link
Copy Markdown
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

This PR enables support for multiple MCMS (Multi-Chain Multi-Sig) contracts on the same network within the data feeds deployment system. The changes allow different operations to specify which MCMS timelock contract to use via a qualifier.

Changes:

  • Added TimeLockQualifier field to MCMSConfig type to identify specific timelock contracts
  • Updated all changesets to pass the timelock qualifier through proposal data
  • Refactored BuildMultiChainProposals to load MCMS state per-proposal rather than once per chain

Reviewed changes

Copilot reviewed 26 out of 26 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
deployment/data-feeds/changeset/types/types.go Adds TimeLockQualifier field to MCMSConfig struct
deployment/data-feeds/changeset/proposal.go Refactors proposal building to load MCMS state per-proposal and adds timeLockQualifier field to ProposalData
deployment/data-feeds/changeset/state.go Removes unused MCMS state loading code from chain state
deployment/data-feeds/changeset/*.go Updates all changeset logic functions to include timelock qualifier in proposals
deployment/data-feeds/changeset/*_test.go Updates all tests to configure and pass MCMS qualifier
deployment/data-feeds/changeset/jd_propose_wf_jobs.go Moves variable declaration (unrelated refactor)

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread deployment/data-feeds/changeset/proposal.go
@cl-sonarqube-production
Copy link
Copy Markdown

@trunk-io
Copy link
Copy Markdown

trunk-io Bot commented Jan 29, 2026

Static BadgeStatic BadgeStatic BadgeStatic Badge

Failed Test Failure Summary Logs
Test_CRE_V2_EVM_LogTrigger_Invalid_Address_Regression The test 'Test_CRE_V2_EVM_LogTrigger_Invalid_Address_Regression' failed during execution. Logs ↗︎
Test_CRE_V2_EVM_LogTrigger_Invalid_Address_Regression/[v2]_EVM.LogTrigger_-_EOA_address_(not_a_contract)_fails_with_another_EOA The test failed because the Beholder service could not start due to a network port conflict. Logs ↗︎
Test_CRE_V2_EVM_LogTrigger_Invalid_Address_Regression/[v2]_EVM.LogTrigger_-_EOA_address_(not_a_contract)_fails_with_EOA_address The test failed because the Beholder state file was not found, causing the EVM LogTrigger regression test to timeout. Logs ↗︎

View Full Report ↗︎Docs

@alecgard alecgard added this pull request to the merge queue Feb 3, 2026
Merged via the queue into develop with commit 2e95be6 Feb 3, 2026
214 of 216 checks passed
@alecgard alecgard deleted the DF-22944 branch February 3, 2026 10:39
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.

4 participants