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

[Feature]: Extend x/authz #20136

Open
trevormil opened this issue Apr 22, 2024 · 2 comments
Open

[Feature]: Extend x/authz #20136

trevormil opened this issue Apr 22, 2024 · 2 comments

Comments

@trevormil
Copy link

Summary

Many applications could benefit from an extension to the x/authz module which supports two-way authorizations. For example, I approve Msgs A, B, and C to be executed if the counterparty agrees to execute Msgs 1, 2, and 3.

For example, this would allow a Seaport-like implementation natively in Cosmos without any extra overhead. I will trade you this NFT + 10 $ATOM for that NFT.

Problem Definition

No response

Proposed Feature

The proposed feature would be a standalone module (or an extenstion to x/authz) which supports two-way multi-msg transactions authorizations that can be accepted by the counterparty.

Two things would need to happen to extend x/authz:
-Support multi-msg grants (I believe authz is only currently one now)
-Get a system where you can denote who the initiator of each Msg is expected to be. It is not always the granter (the counterparty initiates some transactions).

@hieuvubk
Copy link
Collaborator

Is this just about grant multi msg?

@trevormil
Copy link
Author

Is this just about grant multi msg?

I'm not sure if grant multi msg would enable such use cases (to be honest, I don't know all the behind the scenes). The big difference though is that you can initiate Msgs on behalf of the counterparty as well, not just yourself. A two-way multi-transaction, if you want to think of it like that.

For example, Bob approves Alice to transfer 1 NFT ID 123 (tx initiated by Bob) if Alice transfers NFT ID XYZ (tx initiated by Alice). The big difference is who the initiator of the transcations are.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: 📋 Backlog
Development

No branches or pull requests

3 participants