storyprotocol / protocol-contracts

Story Protocol contracts
Other
14 stars 6 forks source link

Add on-chain metadata for IPA IP Assets #68

Closed LeoHChen closed 9 months ago

LeoHChen commented 1 year ago

Please see this document for the proposed metadata on-chain.

https://www.notion.so/storyprotocol/IPA-IP-Assets-rethinking-fff0f90d32ec40379a294af82bd0d697?pvs=4

Just copy some content from the proposal.

  1. IP Type: Distinguishes IP kind (patent, trademark, story, etc.).
  2. Title/Name: Descriptive title of the IP asset.
  3. Description: Summary of the IP asset's nature.
  4. Owner: Original IP rights holder or first registrant.
  5. Royalty Receiver: Designated address to receive royalty payments.
  6. IPAsset Account: The mapping of the IPAsset account using EIP-6551. Owner account of license and royalty NFTs.
  7. Date of Creation/Invention: The date when the IP was first created or invented. May not be the timestamp of registration.
  8. Registration/Application Date: The date when the IP was formally applied for or registered (if applicable). Could be the same as date of creation if the franchise has no approval process.
  9. Registration/IP Number: If the IP is registered, its unique registration number generated by Story Protocol, such like chain_id:franchise_id:ip_asset_id
  10. Expiration Date: For assets like patents or trademarks that have a finite protection period, the date when the protection expires. The decision shall be governed by the franchise owner.
  11. Status: Current status of the IP (e.g., active, expired, pending application).
  12. Media URL: Any relevant images associated with the IP. The media can be saved off-chain like IPFS/Arweave.
  13. Licensing Information: Document about any licensing agreements, restrictions, or permissions related to the IP. This could link to a well known public license or purely private license module. This has to be associated with the license module implementation.
  14. References/Citations: For patents, this could be related patents or prior art. For copyrights, it could be sources or inspirations. The real reference could be saved on off-chain storage or reference to external data source guarded by oracle using CCIP. We could use a new relationship like REFERENCE_TO module to relate various IP Assets. Q: how to support external, off-chain reference, such like arXiv link?
  15. Notes: Miscellaneous notes or comments about the IP. Off-chain data.
  16. Revision ID/History: A log of changes made to the IP record, including dates and details of the revisions. History can be saved off-chain while revision ID will be saved on-chain.
LeoHChen commented 1 year ago

This is related to https://github.com/storyprotocol/protocol-contracts/issues/63