Module sui::kiosk
Kiosk is a primitive for building safe, decentralized and trustless trading experiences. It allows storing and trading any types of assets as long as the creator of these assets implements a TransferPolicy for them.
Principles and philosophy:
-
Kiosk provides guarantees of "true ownership"; - just like single owner objects, assets stored in the Kiosk can only be managed by the Kiosk owner. Only the owner can place, take, list, perform any other actions on assets in the Kiosk.
-
Kiosk aims to be generic - allowing for a small set of default behaviors and not imposing any restrictions on how the assets can be traded. The only default scenario is a list + purchase flow; any other trading logic can be implemented on top using the list_with_purchase_cap (and a matching purchase_with_cap) flow.
-
For every transaction happening with a third party a TransferRequest is created - this way creators are fully in control of the trading experience.