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

Rework Safe Signer Launchpad #377

Merged
merged 4 commits into from
May 10, 2024
Merged

Rework Safe Signer Launchpad #377

merged 4 commits into from
May 10, 2024

Commits on May 10, 2024

  1. Rework Safe Signer Launchpad

    This PR does a rework of some of the implementation details of the
    `SafeECDSASignerLaunchpad` contract in light of some observations from
    the previous PR #376.
    
    Namely, this changes the initialization process to work in a slightly
    different way:
    1. Set the target singleton to a special slot when the entry point
       executes the `initCode` for the account
    2. Signature verification checks that the account is an owner. This has
       the side-effect that you can initialize an account with multiple
       ECDSA owners and use any of them to sign the first user operation.
    3. Promote the Safe to the singleton that was previously in storage.
    
    The main difference with the previous flow is that we no longer have two
    separate `setup` initializers that we `DELEGATECALL` to. Additionally,
    we added checks that prevent double initialization as well as reentrency
    issues in the execution function.
    
    In addition, this also opens up a pretty clear path for supporting
    multiple owners with the launchpad as the account has already undergone
    "regular" Safe setup. This is relevant for #372.
    nlordell committed May 10, 2024
    Configuration menu
    Copy the full SHA
    dac33f1 View commit details
    Browse the repository at this point in the history
  2. Fix Tests

    nlordell committed May 10, 2024
    Configuration menu
    Copy the full SHA
    3c6670c View commit details
    Browse the repository at this point in the history
  3. comments

    nlordell committed May 10, 2024
    Configuration menu
    Copy the full SHA
    628da93 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    1bb7037 View commit details
    Browse the repository at this point in the history