callisto icon indicating copy to clipboard operation
callisto copied to clipboard

Incompatible issues on 0.50.X with EVM module

Open blazeapps007 opened this issue 2 months ago • 0 comments

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.

blazeapps007 avatar Oct 24 '25 11:10 blazeapps007