ApeWorX / ape-safe

Safe (Wallet) account plugin for the Ape Framework
https://www.apeworx.io/
Apache License 2.0
14 stars 8 forks source link

support working with eip-1271 messages #12

Open banteg opened 1 year ago

banteg commented 1 year ago

Overview

safe transaction service has recently added support for aggregating signatures for off-chain messages.

the flow for them is similar to transactions, except they never get executed and instead are passed to other contracts, that check isValidSignature. for example, this enables sending cowswap orders in a completely off-chain manner.

we could support them via AccountAPI.sign_message

Specification

see here for an example/reference: https://gist.github.com/banteg/68ad51b133d447aa4a165bea0c7b91a1

see here for the client api: https://safe-transaction-mainnet.safe.global/

Dependencies

depends on https://github.com/ApeWorX/ape/issues/1508

fubuloubu commented 4 months ago

One thing to keep in mind is that the way they are treated in safe UI is as a blocking call. If you want your 1271 signature back, you will have to wait for all signers to sign. You can use it as a way to kick off signatures for what you have locally, but then receive None back, and then you should go and fetch the signatures from the API using the client (or another wrapper method)

Something to consider