-
Notifications
You must be signed in to change notification settings - Fork 5.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add EIP: Modular Smart Contract Accounts and Plugins #6900
Add EIP: Modular Smart Contract Accounts and Plugins #6900
Conversation
✅ All reviewers have approved. |
update/add interfaces (updatePlugin, modularAccount), update hooks requirements
Update plugin execution wording
Fangting/msca - Update EIP
This proposal standardizes smart contract accounts and account plugins, which are smart contract interfaces that allow for composable logic within smart contract accounts. This proposal is compliant with [ERC-4337](./eip-4337.md), and builds on the existing work from [ERC-2535](./eip-2535.md) when defining interfaces for updating and querying modular function implementations. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It'd be nice to see a tiny description of how this modular approach works, compared to other modular standards.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added sentence:
This modular approach splits account functionality into three categories, delegates them to external contracts, and defines an expected execution flow from accounts.
|
||
`LibMyPlugin.sol` | ||
|
||
```solidity |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Examples like this generally should go in the reference implementation, especially if they aren't normative, but this is short so I'll leave it up to your discretion.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We will keep it in this section for now, but will possibly revise later. Thanks for mentioning.
81ab422
Co-authored-by: xinbenlv <zzn-github@zzn.im>
The commit 5a0e9de (as a parent of 4376071) contains errors. |
EIPS/eip-6900.md
Outdated
--- | ||
eip: 6900 | ||
title: Modular Smart Contract Accounts and Plugins | ||
description: An interface for modular smart contract accounts with plugins. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The description restates too much of the title. You also have several interfaces, not just one.
How about something like:
description: An interface for modular smart contract accounts with plugins. | |
description: Interfaces for composable plugins optionally supporting upgradability and introspection |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated to "Interfaces for composable account plugins optionally supporting upgradability and introspection"
Update formatting and links
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All Reviewers Have Approved; Performing Automatic Merge...
I think this is really an interesting EIP. @adam-alchemy , do you want to take 5-10min share about this EIP in our first AllERCDevs session so as to bring this to more people's attention? |
This EIP proposes a standard for modular smart contract accounts and plugins, which allow for composable logic within smart contract accounts. This proposal is compliant with ERC-4337, and builds on the existing work from ERC-2535 when defining interfaces for updating and querying modular function implementations.