Skip to content

v0.50 in-place upgrade for live mantle-1 is unrehearsed (fresh-genesis sim gates prove nothing about migration) #110

Description

@deepanshutr

The rwa/phase2-sdk-upgrade branch now boots and the four sim gates pass, but every gate starts from fresh genesis and validates zero migration behavior. The live mantle-1 chain (running the deployed v1.x binary, SDK v0.47-era) must upgrade in place, and that path has never been exercised.

What is unverified (grounded)

  • The upgrade handler runs RunMigrations for the v0.4x -> v0.50 module migrations; none of these run in the sim (fresh genesis skips migration). The legacy x/params key tables were registered so migrations do not panic on a missing table, but whether each module's actual stored params migrate cleanly from mainnet bytes is untested.
  • StoreUpgrades.Added was corrected to {crisis, consensus} by comparing against the deployed binary's store list from memory; this must be re-derived against an actual mainnet store export, not assumed.
  • Applied-plan name v2.0.0 replaces the burnt v1-Yellow Spaceship (verified applied at height 7,135,001 via rest.assetmantle.one). Correct, but the height/skip wiring is only meaningful once tested against real state.

Proposed fix (no code decision needed to start)

Export current mantle-1 state, run an in-place-testnet upgrade rehearsal (halt at the upgrade height, swap binary, resume), and make that rehearsal a release gate. Derive StoreUpgrades.Added and any param migration from the rehearsal, not from inspection.

Fix-priority scorecard

SEC UX AUTO YAGNI DELTA FIN
75 30 25 60 20 43

SEC high (a botched live upgrade halts/corrupts a chain holding real value); AUTO low (needs mainnet export + human-judged rehearsal), so this is a human-decision item, not autonomous-fix.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions