Allow cw-ownable
for multiple ownerships in one contract
#21
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Referring to #17, there has been recent request also by Stargaze team, which forked repo and refactored
cw-ownable
. For detailed explanations see PR on public awesome repo here: public-awesome#1For simplicity pasting description here as well:
All the logic has been moved to new Struct
OwnershipStore
.cw-ownable
package is still a singleton:all existing functions now using new store struct:
So contract using
cw-ownable
still uses above functions likeinitialize_owner
(100% backward compatile). But this PR allowscw-ownable
for defining another storage. So if contract needs another ownership-like store,OwnershipStore
can be used.Example: collection contract need to distince between owner (aka minter) and creator. Here minter is allowed to mint NFTs, whilst creator is able to update collection info like name, symbol, royalties, description, collection pfp etc.
This is planned for upcoming new
cw721-base
release. So this PR allows contract defining creator like this: