Incompatible issues on 0.50.X with EVM module
Bug description
Genesis file parsing fails with branch-specific errors depending on the version of the Cosmos SDK and Evm integration:
-
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.
-
On the
/chains/evmos/mainnetbranch:ERROR: error while reading gov genesis data: unknown field "expedited_min_deposit" in v1.Params→ The governance module schema expects the
expedited_min_depositfield (introduced in Cosmos SDK v0.47+ and used in v0.50.x), but the currentgovgenesis 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:
- Use a genesis file from an Evm-based chain containing accounts with
ethsecp256k1.PubKey. - Run:
callisto parse genesis-file --genesis-file-path /root/.callisto/genesis.json - Observe the unmarshalling error for
/cosmos.evm.crypto.v1.ethsecp256k1.PubKey.
For the /chains/evmos/mainnet branch:
- Use the same genesis file (which includes
"expedited_min_deposit"undergovparams). - Run the same command.
- 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/govparameters such asexpedited_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
govmodule 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.