Source Code

;; Halal Charity Pool
;; A shared sadaqah pool where donors pledge amounts for the needy

(define-data-var pool-total uint u0)
(define-map donors principal uint)

(define-public (donate (amount uint))
    (let ((prev (default-to u0 (map-get? donors tx-sender))))
        (map-set donors tx-sender (+ prev amount))
        (var-set pool-total (+ (var-get pool-total) amount))
        (ok true)
    )
)

(define-read-only (get-donation (donor principal))
    (default-to u0 (map-get? donors donor))
)

(define-read-only (get-pool-total)
    (var-get pool-total)
)

Functions (3)

FunctionAccessArgs
donatepublicamount: uint
get-donationread-onlydonor: principal
get-pool-totalread-only