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

[DRAFT] SMA 2: Hardcoded Single Signer #121

Closed
wants to merge 39 commits into from

Conversation

Zer0dot
Copy link
Contributor

@Zer0dot Zer0dot commented Jul 31, 2024

Motivation

This is a followup to #119, where instead of appending a validation to bytecode, we hardcode single-signer functionality into the account, effectively cutting down on initialization cost by introducing a simple one-address initializer.

Solution

Implement a built-in fallback single-signer validation. This is a global validation, and disabling it is akin to setting the fallback signer to the zero address.

To use the fallback validation, pass a validation equivalent to bytes24(max).

Adding hooks to the fallback validation is an issue still being investigated, although it is treated mostly as a normal validation, we might only need to add a bit of branching in installValidation() if this ends up being the optimal route for SMA.

This solution saves on bytecode deployment cost, but still requires an initializer, and adds to implementation bytecode.

howydev and others added 30 commits July 26, 2024 10:40
…w multiple validation installation on account (#93)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants