5afe / safe-core-protocol-specs

Safe{Core} Protocol is an open, modular framework to make smart accounts secure, portable, and composable.
GNU General Public License v3.0
67 stars 13 forks source link

[Protocol Manager] Research signature validator flow with 1271 #43

Closed akshay-ap closed 11 months ago

akshay-ap commented 11 months ago

For this issue the signature validation functionality of the protocol should be researched. As contracts cannot sign messages that can be verified fully offchain (because of the lack of a private key) ERC-1271 was introduced.

ERC-1271 only defines how an external party calls into a contract (e.g. smart contract account) to verify a signature, but not how the smart contract account should handle this (aka Signature Validation Abstraction).

This makes it possible to implement very flexible signature validation which can be made extensible, which is the purpose of Signature Validators in the Safe Protocol.

This can allow that multiple signature validators are registered for different purposes (i.e. CoW swap trades, OpenSea login, ...).

Open questions that should be answered by this research:

Expected outcome:

Note: all diagrams should be provided using the mermaid notation