metaplex-foundation / metaplex

A directory of what the Metaplex Foundation works on!
https://metaplex.com
Apache License 2.0
3.32k stars 6.26k forks source link

Editable Auctions #44

Closed bhgames closed 3 years ago

bhgames commented 3 years ago

An auction should have an is_mutable flag that can only be set on creation. If this isn't set, the auction is immutable, which provides stability and certainty to those auctions because the people bidding in them know that auction cannot change, be deleted, or what have you. It's a different mindset, that we'd like to preserve as a toggle. I suspect it won't be used often after we introduce this feature though.

If it is set, then the auctioneer can:

And finally:

The UI will need to be modified to only show deleted auctions to people who created them (fairly easy filter to add) and to people who have bid in them so they can refund bids, and the is_winner logic will need updates to consider an auction in this state as having zero winners, which is an interface leak since bid_state doesn't know about it, but it's parent container object (auction) does. This is fine since bid_state isn;'t directly called but the parent wrapper method is, so the logic can be there.

This may also cause issues due to the issue we have with borsh + adding new fields to AuctionData, so a lot of these new fields will need to go on AuctionDataExtended. Be aware.

jordaaash commented 3 years ago

Closed as stale per discussion with @bhgames.