You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The idea behind this proposal is a new module that acts as its own account (similar to x/group) and will have its own address, but the "account" is controlled by a fixed on-chain query declared at genesis. If the calling user satisfies the on-chain query, they are approved to execute messages from this account.
For example, this can be used to implement token-bound registries (EIP 6551). Ex: I create an "account" with the query "must own x1 of this NFT" as the criteria. Whoever meets such criteria can execute messages from that account.
It could also be used to implement name-based accounts. For example, assets will be tied with the domain name instead of the host account. Thus, when the name is transferred, all child assets are also automatically transferred.
It could also be really neat to leverage this with WASM smart contracts as well.
Problem Definition
No response
Proposed Feature
This would be its own module similar to x/authz or x/group. It could theoretically also maybe be integrated as a decision policy in x/group, but I feel like that overcomplicates things.
The text was updated successfully, but these errors were encountered:
I like this. I think you can break it down into a couple pieces, some of which already exist:
an authentication scheme that allows an account to demonstrate they are indeed the holder of an NFT within some collection (or any other criteria)
an authorization scheme that verifies that holders of those NFTs are eligible to submit messages that meet some criteria
the initialization and reprogramming of the authentication + authorization logic, which itself can be done with auth/authz if they are constructed properly
Yea, agreed, I think that a generic solution would be best (not just specific to NFTs). For example, if the queries[] or msgs[] are as expected, I can send any Msg from the account.
But, yea, all pieces are in place.
Queries or Msgs for the criteria checks
New module accounts with their own address that can send txs (ex: x/group)
Could even be added to x/group -> only be able to vote on the decision if you meet the criteria.
Summary
The idea behind this proposal is a new module that acts as its own account (similar to x/group) and will have its own address, but the "account" is controlled by a fixed on-chain query declared at genesis. If the calling user satisfies the on-chain query, they are approved to execute messages from this account.
For example, this can be used to implement token-bound registries (EIP 6551). Ex: I create an "account" with the query "must own x1 of this NFT" as the criteria. Whoever meets such criteria can execute messages from that account.
It could also be used to implement name-based accounts. For example, assets will be tied with the domain name instead of the host account. Thus, when the name is transferred, all child assets are also automatically transferred.
It could also be really neat to leverage this with WASM smart contracts as well.
Problem Definition
No response
Proposed Feature
This would be its own module similar to x/authz or x/group. It could theoretically also maybe be integrated as a decision policy in x/group, but I feel like that overcomplicates things.
The text was updated successfully, but these errors were encountered: