Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: CEP-82: Trading Extension to CEP-78 #82

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

ElusiveMori
Copy link

@ElusiveMori ElusiveMori commented Feb 17, 2023

@ElusiveMori ElusiveMori changed the title WIP: CEP-78 Trading Extension WIP: CEP-82: Trading Extension to CEP-78 Feb 17, 2023
### Duration

Another dimension that can differentiate `Marketplace` contracts is _duration_:
* A `Marketplace` can be _instant_, meaning that an exchange of items can happen as soon as two parties agree, such as in a swap. A consequence of this is that only the _seller_ needs to hand over custody of the item being sold, whereas the _buyer_ operation can be atomic. `CustodyApproval` will suffice for this `Marketplace`
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If I'm reading this correctly, then with only CustodyApproval I think there is potential for the order book to become out of sync if the NFT owner directly transfers the item while it is listed, which has several ramifications depending on the order book implementation.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is true. To be fair, I'm struggling to find a use case where using the approve mechanism would make sense.

Though in a very simplistic implementation, the offending item could simply be removed upon trying to purchase it.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes but doesn't lead to the best market UX - user tries to buy, the transaction fails, they get charged a fee & find out the item isn't actually for sale 😓

Also for 3rd party dapps & services they would not have access to a correct orderbook while items are incorrectly listed. Assuming there will be an orderbook index to access.

* `DurationInstant`
* `DurationContinuous`

### Interface / Key Functions
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to clearly disambiguate these entry point names because they will collide with the entry points on the systems auction contract, something like "post_marketplace", "bid_on_nft"

@RitaMAllenCA
Copy link

Hi - please close this PR if the standard is complete and approved. Thanks

@MParlikar
Copy link
Contributor

@gRoussac please take a look

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants