Skip to content
This repository has been archived by the owner on Apr 30, 2024. It is now read-only.

Adds metadata module and resolvers #30

Merged
merged 3 commits into from
Jan 26, 2024
Merged

Adds metadata module and resolvers #30

merged 3 commits into from
Jan 26, 2024

Conversation

leeren
Copy link
Contributor

@leeren leeren commented Jan 25, 2024

This PR adds canonical metadata providers and makes the existing IP resolver more flexible.

The metadata provider is used for storing canonical metadata prescribed by Story Protocol, which currently includes registrant, hash, registration date, url, and name. The idea behind this PR is to decouple "rendering" from the actual metadata storage itself, and provide flexibility for allowing Story Protocol to add new fields to the canonical metadata attributes shared across all IP in the future.

On the other hand, the IP resolver is used for IP creators to provide additional flexibility in how they want their IP records to be resolved. Creators may choose to make this a custom contract, or resolve to custom key-value string records. You could imagine Disney creates a canonical DisneyResolver whose key-value pairs represent traits used across their animated series.

As such, when a registration happens, which must be done by the registration module, it will both set a metadata provider (used for Story Protocol canonical metadata storage), and an IP resolver (which by default will be set to the Story Protocol canonical IP resolver, but other periphery contracts may choose to change this to something else).

What this PR does not yet cover:

  • How the protocol can support multiple IPAssetRenderers (or whether it should be allowed to at all)
  • Standardization around IP resolver records (e.g. we should later add an interface resolver to support generic contract + function pairs)

contracts/mocks/MockERC721.sol Show resolved Hide resolved
contracts/modules/RegistrationModule.sol Outdated Show resolved Hide resolved
@leeren leeren merged commit d2b9c4b into storyprotocol:main Jan 26, 2024
1 check passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants