ERC-7579

GitHubarrow-up-right

ERC-7579 introduces a standardized framework for modular smart accounts, focusing on interoperability between accounts and modules while imposing minimal implementation restrictions. This standard builds upon ERC-4337arrow-up-right's account abstraction foundation but takes modularity to the next level.

Key Differences from ERC-4337

1. Modularity Beyond Validation

While ERC-4337 focused on validating UserOperations, ERC-7579 extends this to a comprehensive modularity system:

  • Separation of Concerns: Functionality is cleanly divided into specialized module contract.

  • Plug-and-Play Architecture: Module contract can be installed, upgraded, or removed independently

  • Multi-Vendor Compatibility: Module contract from different developers can work with any compliant account

2. Standardized Module Types

ERC-7579 defines four distinct contract types, each module with specific responsibilities:

ID
Module Type
Purpose

1

Validator

Transaction validation and signature verification

2

Executor

Executing transactions on behalf of the account

3

Fallback

Extending account functionality via fallback function

4

Hook

Pre/post execution logic for transactions

3. Flexible Execution System

Unlike ERC-4337's fixed execution model, ERC-7579 introduces a versatile execution scheme:

  • Execution Modes: A bytes32 structure encoding call type, execution behavior, and custom parameters

  • Multiple Call Types: Support for single calls, batch calls, delegatecalls, and staticcalls

  • Customizable Behavior: Accounts can implement specific execution behaviors for different scenarios

Core Interfaces

1. Smart Account Interfaces

2. Module Management

3. Module Base Interface

Benefits in Cross-Chain Context

ERC-7579 provides a foundation for effective cross-chain account abstraction:

  1. Custom Hook Functionality: Support for complex execution flow with Hook module, which allows resource locking without moving user's assets.

  2. Chain-Agnostic Module System: Modules can work consistently across multiple chains

  3. Intent-Based Transactions: Single signature for complex multi-chain operations

Security Considerations

  • Storage Pollution: Polluted Storage may cause malicious user's manipulation in install/uninstalling module contract and in their settings.

  • Authorization: Ensure proper access control between different module types, and forbid for user to directly access installed modules.

Last updated