0.5.0
This migration guide assumes you have already migrated to^0.4.0 and are now migrating to ^0.5.0.
Integrated module-bases
The module-bases repository has been integrated within ModuleKit and is no longer required as a dependency. You should:
- Remove the module-bases dependency if using modulekit and module-bases in the same project
- Update imports to reference module-bases from
src/module-bases
Deprecated Account Dependencies
Dependencies to the following smart account repositories have been removed: All required interfaces and libraries are now located withinsrc/accounts/ where each account has a specific folder with its own implementations.
Example updating imports:
Deprecated src/external/ERC7579.sol
All contracts imported from the ERC7579 reference implementation have been removed. Interfaces and libraries have been moved to:
- ERC7579 interfaces ->
src/accounts/erc7579/interfaces - ERC7579 libraries ->
src/accounts/erc7579/lib
Changed src/Accounts.sol
Accounts.sol no longer imports Execution from external/ERC7579.sol. It now imports all smart account interfaces directly:
IERC7579Account(common ERC7579 interface)IMSA(ERC7579 reference implementation)IKernelAccount(Kernel)ISafe7579(Safe7579)
Deprecated src/Core.sol
Core.sol is unused and has been removed.
Changed src/Helpers.sol
sign is no longer imported within Helpers.sol. It has been moved to src/test/utils/ECDSA.sol. All account helpers are now consolidated in Helpers.sol
Changed src/Interface.sol, src/Mocks.sol, src/Modules.sol
Since module-bases is now integrated, the imports in these files come from local files:
src/Interfaces.solsrc/Mocks.solsrc/Modules.sol