Как отменить эксклюзивное предложение Sui Kiosk через PurchaseCap
Kiosk может выдать покупателю или контракту продажи право купить предмет не дешевле заданной суммы. Для закрытия предложения нужно учитывать выпущенный PurchaseCap.
Запишите, какой киоск выдал право покупки
Этот тест создаёт эксклюзивное предложение и сразу отменяет его. В реальной продаже действия могут выполняться разными транзакциями. Фиксируйте владельца полномочий в момент выдачи: отмена требует возврата значения исходному киоску.
let offer = kiosk::list_with_purchase_cap<Art>(
shop, owner_cap, item_id, 500, ctx
);
// Cancel this exclusive offer while holding its capability.
kiosk::return_purchase_cap(shop, offer);
Различите отмену предложения, покупку и снятие блокировки
Возврат cap снимает предложение без оплаты. Попытка вернуть его другому киоску завершается ошибкой. Прежде чем обещать выдачу предмета продавцу, проверьте базовое состояние locked. Предмет, заблокированный по transfer policy, может остаться в киоске и после отмены предложения.