Skip to content

fix: add support for getting signers in all chain families on UPF proposal#779

Merged
ecPablo merged 2 commits intomainfrom
ecpablo/fix-inspectors-upf-generation
Feb 25, 2026
Merged

fix: add support for getting signers in all chain families on UPF proposal#779
ecPablo merged 2 commits intomainfrom
ecpablo/fix-inspectors-upf-generation

Conversation

@ecPablo
Copy link
Copy Markdown
Contributor

@ecPablo ecPablo commented Feb 24, 2026

The UPF proposal generation logic was not properly generating inspectors for all chain families. This pr fixes the issue by using the chainwrappers pkgs from mcms lib.

AI Summary

This pull request updates the getProposalSigners logic in the UPF conversion command to support all non-EVM chain families, not just EVM chains. The main changes involve replacing the EVM-specific inspector creation with a more generic approach that works for multiple chain types.

Expanded chain support:

  • Updated getProposalSigners in cmd_convert_upf.go to use chainwrappers.BuildInspectors and adapters.Wrap, allowing proposal signers to be fetched for all supported chain families, not just EVM.
  • Removed the EVM-only getInspectorFromProposalConfig function, eliminating the previous restriction to EVM chains.

Dependency updates:

  • Changed imports in cmd_convert_upf.go to remove EVM-specific dependencies and add generic chain wrapper and adapter imports, supporting the new multi-chain logic.

Changelog:

  • Added a changeset file documenting the patch and the expanded chain support in UPF conversion.

@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Feb 24, 2026

🦋 Changeset detected

Latest commit: a69b6af

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
chainlink-deployments-framework Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@ecPablo ecPablo marked this pull request as ready for review February 24, 2026 17:04
@ecPablo ecPablo requested a review from a team as a code owner February 24, 2026 17:04
Copilot AI review requested due to automatic review settings February 24, 2026 17:04
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 updates the UPF conversion command’s signer discovery to work across multiple chain families by switching from an EVM-only inspector construction flow to the generic mcms/chainwrappers inspector builder, and documents the fix via a changeset.

Changes:

  • Replace EVM-specific inspector creation with adapters.Wrap(...) + chainwrappers.BuildInspectors(...) to support non-EVM chain families in getProposalSigners.
  • Remove the EVM-only getInspectorFromProposalConfig helper.
  • Add a changeset describing the patch.

Reviewed changes

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

File Description
engine/cld/commands/mcms/cmd_convert_upf.go Switch signer lookup to use generic chain inspectors built from wrapped chains, enabling multi-chain-family support.
.changeset/quick-keys-fix.md Adds release note entry for the UPF conversion multi-chain signer support fix.

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

@graham-chainlink graham-chainlink dismissed their stale review February 25, 2026 02:08

The copilot comment is worth fixing

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
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

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


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

"chainlink-deployments-framework": patch
---

fix convert UPF to support all non evm chain families in getProposalSigners
Copy link

Copilot AI Feb 25, 2026

Choose a reason for hiding this comment

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

The changeset summary line is inconsistent with the other changesets in this repo (capitalization) and uses “non evm” instead of the common “non-EVM”. Since this becomes part of the published changelog, please adjust the wording to match existing changeset style.

Suggested change
fix convert UPF to support all non evm chain families in getProposalSigners
Convert UPF to support all non-EVM chain families in getProposalSigners

Copilot uses AI. Check for mistakes.
Comment on lines +144 to 156
wrappedChains := adapters.Wrap(cfg.Env.BlockChains)
inspectors, err := chainwrappers.BuildInspectors(&wrappedChains, cfg.TimelockProposal.ChainMetadata, cfg.TimelockProposal.Action)
if err != nil {
return nil, fmt.Errorf("building inspectors: %w", err)
}

for chainSelector, metadata := range chainMeta {
inspector, err := getInspectorFromProposalConfig(cfg, uint64(chainSelector))
if err != nil {
return nil, fmt.Errorf("get inspector for selector %d: %w", chainSelector, err)
inspector, ok := inspectors[chainSelector]
if !ok {
return nil, fmt.Errorf("no inspector found for chain selector %d", chainSelector)
}

config, err := inspector.GetConfig(ctx, metadata.MCMAddress)
Copy link

Copilot AI Feb 25, 2026

Choose a reason for hiding this comment

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

This change switches signer discovery to chainwrappers.BuildInspectors + adapters.Wrap to support non-EVM chains, but there are no tests validating that getProposalSigners returns signers correctly for at least one non-EVM chain family (or that the inspector map is built as expected). Adding a unit/integration test here would help prevent regressions across chain families.

Copilot uses AI. Check for mistakes.
@cl-sonarqube-production
Copy link
Copy Markdown

Quality Gate failed Quality Gate failed

Failed conditions
0.0% Coverage on New Code (required ≥ 80%)

See analysis details on SonarQube

@ecPablo ecPablo added this pull request to the merge queue Feb 25, 2026
Merged via the queue into main with commit 139427a Feb 25, 2026
24 of 25 checks passed
@ecPablo ecPablo deleted the ecpablo/fix-inspectors-upf-generation branch February 25, 2026 03:26
github-merge-queue bot pushed a commit that referenced this pull request Feb 25, 2026
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## chainlink-deployments-framework@0.82.1

### Patch Changes

-
[#779](#779)
[`139427a`](139427a)
Thanks [@ecPablo](https://github.com/ecPablo)! - fix convert UPF to
support all non evm chain families in getProposalSigners

---------

Co-authored-by: app-token-issuer-engops[bot] <144731339+app-token-issuer-engops[bot]@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.

4 participants