Skip to content

feat: add refactored set config changeset,sequences and ops#90

Draft
ecPablo wants to merge 10 commits into
mainfrom
ecpablo/set-config-mcms-refactor
Draft

feat: add refactored set config changeset,sequences and ops#90
ecPablo wants to merge 10 commits into
mainfrom
ecpablo/set-config-mcms-refactor

Conversation

@ecPablo

@ecPablo ecPablo commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

To be merged after: #89

Adds the refactored set config changeset, leveragin the new cldf utils for changeset contruction and similar code structure to the the PR for deploy in #89. Main design changes are:

  1. Sequences are now chain specific, each chain implementation now lives in the sequence and underlying ops. Not the changeset.
  2. The changeset only holds the correct implementation routing via a Registry pattern, and also has the responsability of writing the ouptut proposal, and any datastore information.
  3. Addresses and other datastore information are fetched via the MCMSReader interfaces which has a separate implementation per chain.

AI Summary

This pull request introduces a new "set-config" changeset for MCMS (Multi-Chain Multisig) contract configuration, adding a modular, family-agnostic system for setting contract config via references rather than addresses. It also includes supporting helpers, type definitions, and a registry for chain family-specific implementations. Additionally, the PR updates several dependencies in go.mod to newer versions.

The most important changes are:

New MCMS Set-Config Changeset System:

  • Adds mcms/changesets/set-config/changeset.go, implementing a new changeset for setting MCMS contract configurations using contract references, with support for MCMS timelock proposals and per-chain grouping.
  • Introduces mcms/changesets/set-config/types.go, defining core types such as ContractSetConfig, ChainInput, ChainOutput, and the Sequence interface for family-specific logic.
  • Adds mcms/changesets/set-config/registry.go, providing a registry for registering and retrieving chain family-specific set-config sequence implementations, supporting modular extension.

Supporting Utilities and Tests:

  • Adds helpers and test utilities in mcms/changesets/set-config/helpers_test.go for constructing test inputs, deploying and transferring MCMS contracts, and validating EVM/MCMS integration.
  • Introduces datastore/refkey/refkey.go, a utility for referencing contracts in the environment datastore by chain, type, version, and qualifier, enabling address-agnostic contract identification.

Dependency Updates:

  • Updates go.mod to newer versions of several dependencies, including chainlink-deployments-framework, mcms, AWS SDK packages, and others, and adds new indirect dependencies such as chainlink-canton and go-daml. [1] [2] [3] [4] [5]

@github-actions

github-actions Bot commented Jun 12, 2026

Copy link
Copy Markdown

Release impact (release-please)

Current version 0.7.1 (on main)
After merge 0.8.0 (minor bump)

PR title: feat: add refactored set config changeset,sequences and ops

Merging this PR as-is will contribute a minor bump to the next release-please release PR.

Conventional commit → bump

Intent PR title prefix Bump
Bug fix fix: patch
New feature feat: minor
Breaking change feat!: / fix!: or BREAKING CHANGE: / BREAKING-CHANGE: in description major
No release chore:, docs:, ci:, refactor:, etc. none

Update the PR title before merge if you need a different bump (squash commit message = PR title).

Preview is based on this PR title only. The release-please release PR may include other unreleased commits already on main.

This comment was marked as resolved.

ecPablo and others added 4 commits June 12, 2026 15:24
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Pablo Estrada <139084212+ecPablo@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Pablo Estrada <139084212+ecPablo@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Pablo Estrada <139084212+ecPablo@users.noreply.github.com>

This comment was marked as resolved.

ecPablo and others added 2 commits June 12, 2026 18:29
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Pablo Estrada <139084212+ecPablo@users.noreply.github.com>
@ecPablo ecPablo changed the title feat: add refactores set config changeset,sequences and ops feat: add refactored set config changeset,sequences and ops Jun 13, 2026
@ecPablo ecPablo requested a review from Copilot June 13, 2026 01:57

This comment was marked as resolved.

This comment was marked as resolved.

ecPablo and others added 2 commits June 13, 2026 19:45
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Pablo Estrada <139084212+ecPablo@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Pablo Estrada <139084212+ecPablo@users.noreply.github.com>
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.

2 participants