Source Code

;; nomad-camp -- refugee camp resource tracker
(define-data-var supply-count uint u0)
(define-data-var total-items uint u0)
(define-map supplies uint { provider: principal, item: (string-ascii 30), qty: uint, camp: (string-ascii 20), block: uint })
(define-public (log-supply (item (string-ascii 30)) (qty uint) (camp (string-ascii 20)))
  (let ((id (+ (var-get supply-count) u1)))
    (var-set supply-count id)
    (var-set total-items (+ (var-get total-items) qty))
    (map-set supplies id { provider: tx-sender, item: item, qty: qty, camp: camp, block: stacks-block-height }) (ok id)))
(define-read-only (get-supply (id uint)) (map-get? supplies id))
(define-read-only (get-total) (var-get total-items))

Functions (3)

FunctionAccessArgs
log-supplypublicitem: (string-ascii 30
get-supplyread-onlyid: uint
get-totalread-only