Open brandonhaslegs opened 1 month ago
So here's how I'm thinking to do this.
This one is simple. When you're in control of a project, you can set a visible
boolean in metadata to false
. Event processor should index this, and API should return a visible
boolean in project data. If false, app treats it as hidden as described above. Projects without visible
boolean (old metadata version) are presumed visible
.
A bit more complicated, because we also want lists to be hidden by default when transferred to you. I'm thinking:
visible
boolean to true
in metadata.visible: true
for the list. This is also exposed by the API.transfer
event is indexed subsequently (aka the list is transferred), event processor updates the list visibility to false.visible
to true
once more, event processor once again updates the list as visible in metadata.visible
is set to false
, event processor always updates the list as invisible in the DB.visible
key), because anyone can publish metadata in the future that doesn't include this key, and abuse that to transfer a Drip List to someone and have it be visible by default. So:
That way, Drip Lists are visible after minting, can be hidden at will, and also are hidden by default after being transferred to someone else.
When trying to split to a hidden Drip List or Project, the list editor should display an error like "The List / Project is hidden and cannot be split to".
would be cool if you could still split to a hidden list. for privacy's sake, some people might want to do this
When trying to split to a hidden Drip List or Project, the list editor should display an error like "The List / Project is hidden and cannot be split to".
would be cool if you could still split to a hidden list. for privacy's sake, some people might want to do this
Idk. It wouldn't be private at all — the info would still be visible on-chain and even our API, just marked as hidden, so it'd be an illusion of privacy at best.
When trying to split to a hidden Drip List or Project, the list editor should display an error like "The List / Project is hidden and cannot be split to".
would be cool if you could still split to a hidden list. for privacy's sake, some people might want to do this
Idk. It wouldn't be private at all — the info would still be visible on-chain and even our API, just marked as hidden, so it'd be an illusion of privacy at best.
we have to make that clear regardless
in case of a list, possibly transferred to the recipient
what do you mean? how could being hidden also be the same state as transferred?
in case of a list, possibly transferred to the recipient
what do you mean? how could being hidden also be the same state as transferred?
If we go with what I propose above, lists would be hidden automatically when transferred and would remain that way until explicitly set to visible by the new owner.
@brandonhaslegs when you have capacity, could you update the designs with the above in mind?
need to know what splits & streams to hidden things look like, what viewing a hidden drip list or project looks like, and also probably update the visibility toggle to explain things clearer (no expectation of privacy etc.)
I'd also write up a docs page for this so we can link to it.
All else sounds great to me!
Drip List
Project
Can comment or look at the full design here
Worth noting that the support card would be gone when in the hidden state.
Since we've made so many test projects on chain, we need a way to hide them too.
Also want to be able to hide the test stuff I've done on mainnet 🥺