Skip to content

feat!: remove EVM MCMS view generation#77

Merged
jkongie merged 1 commit into
mainfrom
remove-mcms-view
Jun 8, 2026
Merged

feat!: remove EVM MCMS view generation#77
jkongie merged 1 commit into
mainfrom
remove-mcms-view

Conversation

@jkongie

@jkongie jkongie commented Jun 8, 2026

Copy link
Copy Markdown
Collaborator

BREAKING CHANGE: Delete pkg/contract/mcms/view/v1_0 and GenerateMCMSWithTimelockView.

Role grant and deploy logic still reference RBACTimelock roles, so those constants are split into internal/mcmsrole instead of living alongside view code.

Copilot AI review requested due to automatic review settings June 8, 2026 14:14
@jkongie jkongie requested a review from a team as a code owner June 8, 2026 14:14
@github-actions

github-actions Bot commented Jun 8, 2026

Copy link
Copy Markdown

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

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 removes EVM MCMS “view generation” code (and associated legacy APIs/tests) while preserving timelock role usage by relocating role name/ID constants into a shared internal package.

Changes:

  • Deleted pkg/contract/mcms/view/v1_0 and removed GenerateMCMSWithTimelockView usage in legacy state/tests.
  • Introduced internal/mcmsrole to centralize RBACTimelock role IDs/names (with unit tests).
  • Updated timelock role-grant/deploy flows to reference internal/mcmsrole instead of the removed view package.

Reviewed changes

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

Show a summary per file
File Description
pkg/family/evm/sequences/grant_roles_for_timelock.go Switched role constants to internal/mcmsrole for inspector role-member checks.
pkg/contract/mcms/view/v1_0/mcms.go Removed legacy MCMS/timelock/call-proxy view generation code.
legacy/pkg/family/evm/state.go Removed the legacy state method that generated MCMS-with-timelock views.
legacy/pkg/family/evm/state_test.go Removed tests covering the deleted view-generation method.
legacy/pkg/family/evm/changesets/deploy_mcms_with_timelock.go Updated deploy/grant-role logic to use internal/mcmsrole IDs/names.
legacy/pkg/family/evm/changesets/deploy_mcms_test.go Removed JSON marshal/view-generation assertions that depended on deleted view code.
internal/mcmsrole/role.go Added role constants + keccak256 role ID computation.
internal/mcmsrole/role_test.go Added tests validating role ID hashes and predefined role values.
go.mod Promoted golang.org/x/crypto to a direct dependency (used by internal/mcmsrole).

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

Comment on lines 56 to +58
for _, roleAndAddress := range in.RolesAndAddresses {
switch roleAndAddress.Role {
case v1_0.PROPOSER_ROLE.ID:
case mcmsrole.ProposerRole.ID:
Delete `pkg/contract/mcms/view/v1_0` and `GenerateMCMSWithTimelockView`.
Role grant and deploy logic still reference `RBACTimelock` roles, so
those constants are split into `internal/mcmsrole` instead of living
alongside view code.
@jkongie jkongie force-pushed the remove-mcms-view branch from d612591 to ca8498f Compare June 8, 2026 14:36
@cl-sonarqube-production

Copy link
Copy Markdown

@jkongie jkongie enabled auto-merge (squash) June 8, 2026 16:05
@jkongie jkongie merged commit dcfe322 into main Jun 8, 2026
17 checks passed
@jkongie jkongie deleted the remove-mcms-view branch June 8, 2026 16:46
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.

3 participants