Skip to content

chore: remove deprecated common MCMSWithTimelockState#22641

Merged
graham-chainlink merged 1 commit into
developfrom
remove-deprecate-mcms-state-struct
May 27, 2026
Merged

chore: remove deprecated common MCMSWithTimelockState#22641
graham-chainlink merged 1 commit into
developfrom
remove-deprecate-mcms-state-struct

Conversation

@jkongie
Copy link
Copy Markdown
Contributor

@jkongie jkongie commented May 26, 2026

Drop the deprecated MCMSWithTimelockState and
MaybeLoadMCMSWithTimelock* helpers from deployment/common/changeset.

The keystone changeset was the last internal consumer, so moved the struct into deployment/keystone/changeset/internal as a private type. Other callers (vault, ccip save_existing_test) now use the canonical cld-changesets/legacy/pkg/family/evm package.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Moved to Keystone internal since we don't want to disrupt their state output, but they ar e the last consumers of this deprecated function

@jkongie jkongie force-pushed the remove-deprecate-mcms-state-struct branch from 396de46 to 71c277c Compare May 26, 2026 12:32
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 26, 2026

CORA - Pending Reviewers

All codeowners have approved! ✅

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

For more details, see the full review summary.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 26, 2026

✅ No conflicts with other open PRs targeting develop

@trunk-io
Copy link
Copy Markdown

trunk-io Bot commented May 26, 2026

Static BadgeStatic BadgeStatic BadgeStatic Badge

View Full Report ↗︎Docs

Drop the deprecated `MCMSWithTimelockState` and
`MaybeLoadMCMSWithTimelock*` helpers from `deployment/common/changeset`.

The keystone changeset was the last internal consumer, so moved the
struct into deployment/keystone/changeset/internal as a private type.
Other callers (vault, ccip save_existing_test) now use the canonical
`cld-changesets/legacy/pkg/family/evm` package.
@jkongie jkongie force-pushed the remove-deprecate-mcms-state-struct branch from 8d3368d to cd1658b Compare May 26, 2026 15:31
@cl-sonarqube-production
Copy link
Copy Markdown

@jkongie jkongie marked this pull request as ready for review May 26, 2026 17:43
Copilot AI review requested due to automatic review settings May 26, 2026 17:43
@jkongie jkongie requested review from a team as code owners May 26, 2026 17:43
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

Risk Rating: LOW

This PR removes deprecated MCMS-with-timelock helpers from deployment/common/changeset usage sites, updating remaining consumers to use either the canonical cld-changesets/legacy/pkg/family/evm loader or a keystone-specific internal state type.

Changes:

  • Switch vault + CCIP test code to load MCMS-with-timelock state via cld-changesets/legacy/pkg/family/evm.
  • Move keystone’s last-use MCMS-with-timelock state loader/type into deployment/keystone/changeset/internal and update keystone callers/tests accordingly.
  • Remove an unused internal struct in keystone changeset internals.

Targeted areas for scrupulous human review:

  • Confirm evmstate.MaybeLoadMCMSWithTimelockChainState (from cld-changesets/legacy) is API/behavior compatible with the previous helper for the vault validation paths.
  • Confirm the keystone internal MCMS state loader continues to use the intended wrapper bindings (ccip-owner-contracts/pkg/gethwrappers) and that no external packages need to import it (Go internal/ visibility).

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated no comments.

Show a summary per file
File Description
deployment/vault/changeset/validation.go Swap MCMS state loading to cld-changesets/legacy EVM helper.
deployment/keystone/changeset/state.go Use keystone internal MCMS state type/loader instead of common changeset.
deployment/keystone/changeset/internal/state.go Update embedded MCMS state type and loader call to local internal implementation.
deployment/keystone/changeset/internal/state_test.go Update expected MCMS state type in tests.
deployment/keystone/changeset/internal/state_mcms.go Move MCMS state type/loader into keystone internal package and drop deprecated helpers.
deployment/keystone/changeset/internal/state_mcms_test.go Update test package name to match internal package move.
deployment/keystone/changeset/internal/contract_set.go Remove unused deployContractsRequest struct.
deployment/ccip/changeset/save_existing_test.go Switch MCMS state loading in test to cld-changesets/legacy helper.
Comments suppressed due to low confidence (1)

deployment/keystone/changeset/internal/state_mcms.go:22

  • This comment says the type is "public for use in product specific packages", but it now lives under an internal package and cannot be imported outside deployment/keystone/changeset. Updating the docstring would avoid misleading guidance.

@graham-chainlink graham-chainlink added this pull request to the merge queue May 27, 2026
Merged via the queue into develop with commit 87f26bf May 27, 2026
216 checks passed
@graham-chainlink graham-chainlink deleted the remove-deprecate-mcms-state-struct branch May 27, 2026 04:15
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.

5 participants