Skip to content

Incompatible issues on 0.50.X with EVM module #760

@blazeapps007

Description

@blazeapps007

Bug description

Genesis file parsing fails with branch-specific errors depending on the version of the Cosmos SDK and Evm integration:

  1. On the latest (Cosmos SDK v0.50.x) branch:

    ERROR: error while storing genesis transactions: error while unmarshalling genesis tx: unable to resolve type URL /cosmos.evm.crypto.v1.ethsecp256k1.PubKey
    

    → The codec does not recognize EVM-specific public key types used in Evm-based chains.

  2. On the /chains/evmos/mainnet branch:

    ERROR: error while reading gov genesis data: unknown field "expedited_min_deposit" in v1.Params
    

    → The governance module schema expects the expedited_min_deposit field (introduced in Cosmos SDK v0.47+ and used in v0.50.x), but the current gov genesis parser does not support it.

This indicates that neither branch fully supports parsing genesis files from modern Evm-based chains that use both EVM accounts and updated governance parameters.

Steps to reproduce

For the latest (SDK v0.50.x) branch:

  1. Use a genesis file from an Evm-based chain containing accounts with ethsecp256k1.PubKey.
  2. Run:
    callisto parse genesis-file --genesis-file-path /root/.callisto/genesis.json
  3. Observe the unmarshalling error for /cosmos.evm.crypto.v1.ethsecp256k1.PubKey.

For the /chains/evmos/mainnet branch:

  1. Use the same genesis file (which includes "expedited_min_deposit" under gov params).
  2. Run the same command.
  3. Observe the error: unknown field "expedited_min_deposit" in v1.Params.

Expected behavior

Both branches—or a unified compatible version—should be able to parse genesis files from Evmos-derived chains (like Callisto) that:

  • Use EVM-compatible public keys (ethsecp256k1.PubKey)
  • Include modern x/gov parameters such as expedited_min_deposit (part of Cosmos SDK ≥ v0.47)

To achieve this, the application’s codec must:

  • Register Evmos-specific types (e.g., ethsecp256k1.PubKey)
  • Use a gov module version compatible with SDK v0.50.x parameter schema

Ideally, a single branch (e.g., an updated Evmos-compatible mainnet branch based on SDK v0.50.x) should handle both requirements correctly.


This version clearly distinguishes the root cause per branch and sets the expectation for a unified, compatible solution.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions