Skip to content

Permacast V3 Master Contract #46

@charmful0x

Description

@charmful0x

About

This issue is about the new features, limits, and functionalities introduced in the third version of Permacast's Master contract.

New limits

These are the new limits (mostly string length extreme)

Podcast Metadata

metadata min length max length notes/fixes
podcast name 2 500 added flexibility ~ 77 - 100 words
podcast description 10 15000 added flexibility ~ 2308 - 3000 words
email 0 320 none
author name 2 150 added flexibility
categories 1 300 added support for length equal to 1 (e.g. in Chinese)
language code 2 2 none

Episode Metadata

metadata min length max length notes/fixes
episode name 3 500 added flexibility ~ 77 - 100 words
episode description 1 5000 added flexibility ~ 769 - 1000 words

Features

Reduce the signatures required to edit a podcast/episode

All of the podcast/episode object's metadata (name, description, etc.) can be updated by invoking a single function updatePodcastMetadata and updateEpisodeMetadata.

Factory Super Admins

The Factory Super Admins have the permission to create a podcast or an episode and update their metadata. They are added as super admins via the contract owner, and they can remove themselves from this position or be removed by the contract owner.

Podcasts Maintainers

Podcast Maintainers have a lower set of permissions, they can only upload episodes and edit them. Maintainers are added and removed by the contract owner.

Reduce non-necessary required inputs to invoke with some functions

The confusing id & index don't longer exist, To update a podcast only the pid is required, and to add/update an episode, only the eid is required.

Auto-protection from duplicated uploads

When the caller sends more than a transaction to create a podcast (or an episode) with the same name property within 5 blocks, only one transaction (first one that get mined) will pass through. Thus, it reduces the double uploads mistake.

Configurable RSS metadata

Podcast's metadata used to generated RSS feeds are now mutable

Note

The limits and features listed previously are "init", and can be changed according to the future issue's discussion.

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions