safe-global / safe-modules

A collection of modules that can be used with the Safe contract
GNU Lesser General Public License v3.0
140 stars 73 forks source link

Add E2E Test For Multiple Passkey Owners With 4337 #432

Closed nlordell closed 3 months ago

nlordell commented 3 months ago

Fixes #372

This PR adds a new E2E test that demonstrates the use of a Safe being deployed over 4337 with multiple passkey owners. This means that we can have arbitrary ownership structures with passkeys and 4337 :tada:.

There is an important caveat however, the tracing mechanism used by the bundler is timing out when verifying multiple passkey signatures, so this E2E test is only half complete. At least we verify that the signature verification logic would work, and eventually when precompiles become part of Geth, we will be able to switch the E2E test to use that instead which should greatly speed up tracing.

I still think it is worth merging this PR as is, as it also checks that multiple shared signer instances can be used in parallel, a new feature added in #429.

coveralls commented 3 months ago

Pull Request Test Coverage Report for Build 9381578037

Details


Totals Coverage Status
Change from base Build 9380824987: 0.0%
Covered Lines: 149
Relevant Lines: 149

💛 - Coveralls
nlordell commented 3 months ago

Blocked on merge pending Certora audit (don't want to change any contracts).