Skip to content

fix(canton): register split MCMS api/core encoders in proposal decoder#782

Merged
stackman27 merged 2 commits into
mainfrom
fix/canton-mcms-encoder-registry
Jun 9, 2026
Merged

fix(canton): register split MCMS api/core encoders in proposal decoder#782
stackman27 merged 2 commits into
mainfrom
fix/canton-mcms-encoder-registry

Conversation

@stackman27

@stackman27 stackman27 commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add registry tests for the chainlink-canton MCMS bindings split (mcms/api vs mcms/core)
  • Ensures ScheduleBatch, SetRoot, and ExecuteOp resolve from the correct encoders after chore: bump chainlink-canton #781

Why

chore: bump chainlink-canton (#781) does not trigger release-please; this fix: commit should bump to 0.47.1.

Add registry tests that lock in the chainlink-canton bindings split: MCMS
api choices (ScheduleBatch) and core choices (SetRoot, ExecuteOp) must
resolve from separate encoders so proposal decoding keeps working after
dependency bumps.
@stackman27 stackman27 requested a review from a team as a code owner June 9, 2026 17:31
Copilot AI review requested due to automatic review settings June 9, 2026 17:31
@github-actions

github-actions Bot commented Jun 9, 2026

Copy link
Copy Markdown

👋 stackman27, 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 adds regression tests to ensure the Canton proposal decoder’s reflection registry correctly handles the chainlink-canton MCMS bindings split (mcms/api vs mcms/core), so MCMS choices resolve against the intended encoder after #781.

Changes:

  • Add a registry test that asserts MCMS’s preferred encoder is mcms/api while mcms/core is still registered.
  • Add subtests verifying ScheduleBatch candidates come from mcms/api and SetRoot/ExecuteOp candidates come from mcms/core.

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

Comment thread sdk/canton/decoder_test.go Outdated
Comment on lines +250 to +255
func candidateTypeNames(types []reflect.Type) []string {
names := make([]string, len(types))
for i, t := range types {
names[i] = t.String()
}
return names
@cl-sonarqube-production

Copy link
Copy Markdown

@stackman27 stackman27 requested a review from ecPablo June 9, 2026 17:52
@stackman27 stackman27 merged commit 31bac06 into main Jun 9, 2026
21 checks passed
@stackman27 stackman27 deleted the fix/canton-mcms-encoder-registry branch June 9, 2026 18:22
ChrisAmora pushed a commit that referenced this pull request Jun 9, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.47.1](v0.47.0...v0.47.1)
(2026-06-09)


### Bug Fixes

* **canton:** register split MCMS api/core encoders in proposal decoder
([#782](#782))
([31bac06](31bac06))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: app-token-issuer-ops-platform[bot] <275822481+app-token-issuer-ops-platform[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.

3 participants