Skip to content

fix: register legacy IBC gov proposal content types in atomone gov fork (backport)#359

Merged
tbruyelle merged 2 commits into
mainfrom
fix/v4-gov-migration-backport
Jul 22, 2026
Merged

fix: register legacy IBC gov proposal content types in atomone gov fork (backport)#359
tbruyelle merged 2 commits into
mainfrom
fix/v4-gov-migration-backport

Conversation

@tbruyelle

Copy link
Copy Markdown
Collaborator

Backport #356

Also add v4.0.1 checksum to RELEASES.md

The v4 mainnet upgrade failed during the gov proposal migration with:

  failed to migrate gov proposals: failed to get proposal value: no
  concrete type registered for type URL /ibc.core.client.v1.ClientUpdateProposal
  against interface *v1beta1.Content

The AtomOne gov module fork defines its own Content interface
(atomone.gov.v1beta1.Content), and MsgExecLegacyContent unpacks its
content Any against it. ibc-go registers ClientUpdateProposal and
UpgradeProposal against the SDK's gov Content interface, but not against
ours, so a historical mainnet proposal (#20) wrapping a ClientUpdateProposal
failed to unpack during migration.

Register both legacy IBC 02-client proposal content types against the
AtomOne Content interface, matching the existing manual registration of
the params and upgrade proposal content types.

An audit of all 20 atomone-1 mainnet proposals confirms ClientUpdateProposal
is the only missing registration; UpgradeProposal is registered defensively
as it travels with it in ibc-go.
@tbruyelle
tbruyelle merged commit b965562 into main Jul 22, 2026
14 checks passed
@tbruyelle
tbruyelle deleted the fix/v4-gov-migration-backport branch July 22, 2026 14:45
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