Open
Description
Description
The recent #198 introduced a major refactoring of the test infrastructure and modularized the evmd package.
However, a full decoupling between evm
and evmd
has not yet been completed. This issue tracks the remaining work needed to fully eliminate the dependency from evm
to evmd
.
Goal
Ensure a clean and intentional one-way dependency: evmd → evm, and not the reverse.
This design reflects the intended layering:
evm
: a library providing core Cosmos EVM functionality.evmd
: a consumer of evm, showcasing a concrete example application and testbed.
By removing all remaining evm → evmd
dependencies, we:
- Reinforce modular boundaries
- Make
evm
reusable as a standalone library - Avoid cyclical or unintended coupling
- Simplify maintenance and auditing
Remaining Tasks
To achieve a clean unidirectional dependency graph, the following actions are required:
- Move CLI entry point: Relocate evm/cmd into evm/evmd/cmd/ to encapsulate all executable logic within evmd.
- Relocate shared data structures: Move any structs or logic currently defined in
evmd
that are used byevm
into a more appropriate location withinevm
, or abstract into a shared internal package if necessary.
Metadata
Metadata
Assignees
Labels
No labels