;; janazah-fund -- community janazah expense fund
(define-data-var fund uint u0)
(define-data-var claim-count uint u0)
(define-map contributors principal uint)
(define-map claims uint { family: (string-ascii 30), amount: uint, paid: bool, block: uint })
(define-public (contribute (amount uint))
(let ((prev (default-to u0 (map-get? contributors tx-sender))))
(var-set fund (+ (var-get fund) amount))
(map-set contributors tx-sender (+ prev amount)) (ok amount)))
(define-public (file-claim (family (string-ascii 30)) (amount uint))
(let ((id (+ (var-get claim-count) u1)))
(var-set claim-count id)
(map-set claims id { family: family, amount: amount, paid: false, block: stacks-block-height }) (ok id)))
(define-read-only (get-claim (id uint)) (map-get? claims id))
(define-read-only (get-fund) (var-get fund))