Skip to content
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

[Improvement] Explicit support for semi-modular accounts #16

Open
adam-alchemy opened this issue Dec 1, 2023 · 1 comment
Open

[Improvement] Explicit support for semi-modular accounts #16

adam-alchemy opened this issue Dec 1, 2023 · 1 comment

Comments

@adam-alchemy
Copy link

  • For more opinionated account implementations, it should be possible to have some amount of functionality “baked-in” to the account contract. Right now this isn’t disallowed by the standard, but unfortunately other native account functions don’t have some of the “features” plugin functions have. Notably, these include the ability to call them via executeFromPlugin, they may or may not have validation functions + hooks applied over them, and it isn’t clear how the base account could itself implement validation functions and hooks. If we can devise a strategy for bringing account-native features to the same “parity” level as plugin functions, we could have a significantly easier time creating semi-modular accounts.
@huaweigu
Copy link

We can consider having a boolean flag, defaultValidationEnabled in account storage. If this flag is enabled, the account would use its own validation logic. An interface, IAccountValidator, can be defined for this purpose. If the validation requires storage access (e.g. ownerAddress), the data would also be stored in account storage. Additionally, functions within IAccountValidator must be provided to to initialize/update/remove this data. The account validation would act like root access, taking precedence over any other plugin validations.

@jaypaik jaypaik moved this from 1. Research to 3. Spec update in ERC-6900 v0.8 Nov 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: 3. Spec update
Development

No branches or pull requests

5 participants