Allo V2 authorization via EIP-712 signed message #483
gravityblast
started this conversation in
AIP Drafts
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hey everyone, I repost here an old conversation I started in discord just to continue it and have it in public.
I would like to propose a change to Allo V2 to solve some problems, in particular:
In Allo the authentication relies on msg.sender to check if the tx sender is the owner of a profile or a round and to emit events on donations.
If we can change this to use
eip712
signed messages, together with account abstraction when it's doable, we can solve most of the problems above.It will be easy to use bridges with different technologies and even without account abstraction we can authorize profile changes and round applications relying on signed messages instead of msg senders.
Donations will be easy to send with a single tx to multiple chains without having to bridge funds and and send the donation.
For example we can use things like li.fi, Decent, Axelar, etc... to bridge transactions without having to trust their protocol. (in the current implementation it won't work since the msg.sender will always be their executor).
The Allo contracts will authenticate the user based on the original sender checking the original signed message without having to trust an additional parameter from the bridge executor.
For example
Allo.registerRecipient
would recover the original signer from the signed message and pass it to the strategy, so for the strategy itself nothing changes.We already do something similar in the direct transfer
_afterAllocate
function. We know who's donating because we check the actual permit message, but we still use themsg.sender
(_sender
) as donor. Even without multi-chain functionalities here we could allow gas-less voting with erc20 with just a signature by the donor, and the tx can be sent by anyone else.Beta Was this translation helpful? Give feedback.
All reactions