Source Code

;; tasbih-count -- digital tasbih counter
(define-map counters principal { total: uint, sessions: uint })
(define-data-var global-count uint u0)
(define-public (count-tasbih (amount uint))
  (let ((prev (default-to { total: u0, sessions: u0 } (map-get? counters tx-sender))))
    (var-set global-count (+ (var-get global-count) amount))
    (map-set counters tx-sender { total: (+ (get total prev) amount), sessions: (+ (get sessions prev) u1) }) (ok amount)))
(define-read-only (get-counter (addr principal)) (map-get? counters addr))
(define-read-only (get-global) (var-get global-count))

Functions (3)

FunctionAccessArgs
count-tasbihpublicamount: uint
get-counterread-onlyaddr: principal
get-globalread-only