Source Code

;; brick-fund -- mosque building brick fundraiser
(define-data-var brick-count uint u0)
(define-data-var total-bricks uint u0)
(define-map bricks uint { donor: principal, qty: uint, mosque: (string-ascii 30), block: uint })
(define-public (buy-bricks (qty uint) (mosque (string-ascii 30)))
  (let ((id (+ (var-get brick-count) u1)))
    (var-set brick-count id)
    (var-set total-bricks (+ (var-get total-bricks) qty))
    (map-set bricks id { donor: tx-sender, qty: qty, mosque: mosque, block: stacks-block-height }) (ok id)))
(define-read-only (get-brick (id uint)) (map-get? bricks id))
(define-read-only (get-total) (var-get total-bricks))

Functions (3)

FunctionAccessArgs
buy-brickspublicqty: uint, mosque: (string-ascii 30
get-brickread-onlyid: uint
get-totalread-only