cosmos / cosmos/evm

Ensure Integration Test Suites Work with External Applications (e.g., gaiad)

Open
#218 2 comments 0 reactions 1 assignee Claimed by @zsystm View on GitHub
evm testing
Dominant language
Go
Stars
164
Forks
213
Avg merge
3d 58m
Merged PRs (30d)
12

Description

Following the recent refactoring of the integration test suites to use the EvmApp interface, we confirmed that the existing tests run successfully with evmd.

However, compatibility with other Cosmos SDK-based applications (e.g., gaiad) has not been verified and likely does not work out of the box. A quick attempt to integrate the test suite into another application revealed several issues:

- **Dependency conflicts**: Integration required the latest version of `interchain-security`, which may not be aligned with all client chains.
- **WASM initialization conflicts**: Conflicts were observed due to multiple WASM initializations causing lock contention.
- **Unsealed** `EvmAppOptions`: Applications need to explicitly seal EvmAppOptions to use the test framework properly.
- **Denomination mismatches**: The test suite assumes a base fee denomination with 18 decimals, which causes transactions to fail on chains using 6-decimal denominations (due to insufficient funds for gas).
- **Missing keepers**: Some applications may not implement all the required Keepers used in the EVM test suite, resulting in runtime panics or compile-time errors.

To fully support external client chains, we should create a dedicated compatibility layer or extend the test framework to allow better configurability.

**Proposed Task:**
- Investigate and document requirements for integrating the test suite with external Cosmos SDK applications.
- Patch or abstract test logic to support non-evmd configurations, including custom denominations and WASM runtimes.
- Introduce conditional test skipping when required keepers are not present in the target application.
- Validate compatibility with at least one major client chain (e.g., gaiad) and contribute necessary fixes or extensions upstream.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.