Source Code

;; blanket-share -- winter blanket sharing registry
(define-data-var item-count uint u0)
(define-map items uint { donor: principal, qty: uint, region: (string-ascii 30), claimed: bool })
(define-public (donate-blankets (qty uint) (region (string-ascii 30)))
  (let ((id (+ (var-get item-count) u1)))
    (var-set item-count id)
    (map-set items id { donor: tx-sender, qty: qty, region: region, claimed: false }) (ok id)))
(define-public (claim-blankets (id uint))
  (let ((i (unwrap! (map-get? items id) (err u404))))
    (map-set items id (merge i { claimed: true })) (ok true)))
(define-read-only (get-item (id uint)) (map-get? items id))
(define-read-only (get-count) (var-get item-count))

Functions (4)

FunctionAccessArgs
donate-blanketspublicqty: uint, region: (string-ascii 30
claim-blanketspublicid: uint
get-itemread-onlyid: uint
get-countread-only