Source Code

(define-map user-rewards principal uint)
(define-map reward-claims principal uint)
(define-data-var total-distributed uint u0)
(define-data-var reward-rate uint u100)
(define-read-only (get-user-rewards (user principal)) (default-to u0 (map-get? user-rewards user)))
(define-read-only (get-total-distributed) (var-get total-distributed))
(define-public (add-rewards (user principal) (amount uint))
  (begin
    (map-set user-rewards user (+ (get-user-rewards user) amount))
    (var-set total-distributed (+ (var-get total-distributed) amount))
    (ok true)))
(define-public (set-reward-rate (rate uint))
  (begin (var-set reward-rate rate) (ok true)))

Functions (4)

FunctionAccessArgs
get-user-rewardsread-onlyuser: principal
get-total-distributedread-only
add-rewardspublicuser: principal, amount: uint
set-reward-ratepublicrate: uint