-
Notifications
You must be signed in to change notification settings - Fork 26
Open
Labels
Description
Overview
As a developer building a PIB token, I'd like a reference implementation, interfaces, and abstract classes so that I can quickly iterate on my dApp PIB token implementation.
Reference
- Open Zeppelin 721
- Original designs in mural.
Questions
- HMW scale a Shared Royalty Token and allow for virtually unlimited franchisors?
- Gas prices on transfer will likely increase drastically on
transferfunction if math is in there preventing sale after a certain number
- Gas prices on transfer will likely increase drastically on
- How do we handle withdraw?
- Is there an ERC standard for handling this allowing for rounding error?
- Likely there is something to do with the first question here. 🤷♂️
- Is 721 the correct abstraction?
Assumptions
Acceptance
- Shared Royalty Token
- A Shared Royalty Token interface
ISharedRoyaltyToken - An abstract contract SRT
AbstractSharedRoyaltyToken.- Contains common SRT implmentations
- A Shared Royalty Token interface
SharedRoyaltyTokenEnumerableenumerable- Interface
ISharedRoyaltyTokenEnumerable - Implemented
SharedRoyaltyTokenEnumerablefor extending
- Interface
PIBBookendToken- Implements abstract class and
transferPayoutByFranchisorIndexto match bookend model
- Implements abstract class and
Story Draft
- Create withdrawal SharedRoyaltyToken interface (likely just find an existing ERC or other art)
- Implement
ISharedRoyaltyToken(pib interface) - Implement
ISharedRoyaltyTokenEnumerable(Enumerable interface) - Implement
AbstractSharedRoyaltyToken - Implement
SharedRoyaltyTokenEnumerable - Implement
SharedRoyaltyBookendToken