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

Enable ability for smart contracts to be owners of metadata entries. #1280

Closed
4 tasks
Tracked by #1440
SpicyLemon opened this issue Dec 27, 2022 · 1 comment · Fixed by #1473
Closed
4 tasks
Tracked by #1440

Enable ability for smart contracts to be owners of metadata entries. #1280

SpicyLemon opened this issue Dec 27, 2022 · 1 comment · Fixed by #1473
Assignees
Labels
enhancement New feature or request metadata Metadata Module wasm

Comments

@SpicyLemon
Copy link
Contributor

Summary

Allow metadata scopes, sessions, and/or records to have owners that are smart contracts.

Problem Definition

As a smart-contract creator, I want to be able to have my smart-contract own metadata entries so I can more easily manage updating information.

Proposal

  1. In the x/metadata wasm encoders, add the smart contract address as the first signer of the message being sent.
  2. In the x/metadata msg validation, make sure that the first signer is one of the required signers.
  3. In our wasmd fork, update handleSdkMessage to only check the first address from GetSigners().

For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate contributors tagged
  • Contributor assigned/self-assigned
@SpicyLemon
Copy link
Contributor Author

It looks like, for 3, we could instead use the WithMessageHandler option and define the handler in the provenance repo instead. Since you've already got it in our wasmd fork, though, we can probably use that just fine. It'd be nice to get off our fork at some point, and go back to using the standard repo. If we ever do that, we'll need to go with the WithMessageHandler way, but until then.... eh.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment