Source Code

;; bakery-halal -- halal bakery order tracker
(define-constant ERR-NONE (err u404))
(define-data-var order-count uint u0)
(define-map orders uint { baker: principal, item: (string-ascii 30), qty: uint, price: uint, done: bool })
(define-public (place-order (item (string-ascii 30)) (qty uint) (price uint))
  (let ((id (+ (var-get order-count) u1)))
    (var-set order-count id)
    (map-set orders id { baker: tx-sender, item: item, qty: qty, price: price, done: false }) (ok id)))
(define-public (complete-order (id uint))
  (let ((o (unwrap! (map-get? orders id) ERR-NONE)))
    (map-set orders id (merge o { done: true })) (ok true)))
(define-read-only (get-order (id uint)) (map-get? orders id))
(define-read-only (get-count) (var-get order-count))

Functions (4)

FunctionAccessArgs
place-orderpublicitem: (string-ascii 30
complete-orderpublicid: uint
get-orderread-onlyid: uint
get-countread-only