;; oud-market -- halal oud wood and incense market
(define-data-var item-count uint u0)
(define-map items uint { seller: principal, grade: (string-ascii 20), weight-g: uint, price: uint, sold: bool })
(define-public (list-oud (grade (string-ascii 20)) (weight-g uint) (price uint))
(let ((id (+ (var-get item-count) u1)))
(var-set item-count id)
(map-set items id { seller: tx-sender, grade: grade, weight-g: weight-g, price: price, sold: false }) (ok id)))
(define-public (buy-oud (id uint))
(let ((i (unwrap! (map-get? items id) (err u404))))
(map-set items id (merge i { sold: true })) (ok true)))
(define-read-only (get-item (id uint)) (map-get? items id))
(define-read-only (get-count) (var-get item-count))