Source Code

;; dua-board -- community dua request board
(define-data-var dua-count uint u0)
(define-map duas uint { requester: principal, text: (string-ascii 100), supporters: uint, block: uint })
(define-public (post-dua (text (string-ascii 100)))
  (let ((id (+ (var-get dua-count) u1)))
    (var-set dua-count id)
    (map-set duas id { requester: tx-sender, text: text, supporters: u0, block: stacks-block-height }) (ok id)))
(define-public (support-dua (id uint))
  (let ((d (unwrap! (map-get? duas id) (err u404))))
    (map-set duas id (merge d { supporters: (+ (get supporters d) u1) })) (ok true)))
(define-read-only (get-dua (id uint)) (map-get? duas id))
(define-read-only (get-count) (var-get dua-count))

Functions (4)

FunctionAccessArgs
post-duapublictext: (string-ascii 100
support-duapublicid: uint
get-duaread-onlyid: uint
get-countread-only