Source Code

;; Badge Awards - Award badges to users

(define-map badges
  { user: principal, badge-type: (string-ascii 30) }
  { awarded-at: uint }
)

(define-public (award-badge (user principal) (badge-type (string-ascii 30)))
  (begin
    (map-set badges { user: user, badge-type: badge-type } {
      awarded-at: stacks-block-height
    })
    (ok true)
  )
)

(define-read-only (has-badge (user principal) (badge-type (string-ascii 30)))
  (is-some (map-get? badges { user: user, badge-type: badge-type }))
)

(define-read-only (get-badge (user principal) (badge-type (string-ascii 30)))
  (map-get? badges { user: user, badge-type: badge-type })
)

Functions (3)

FunctionAccessArgs
award-badgepublicuser: principal, badge-type: (string-ascii 30
has-badgeread-onlyuser: principal, badge-type: (string-ascii 30
get-badgeread-onlyuser: principal, badge-type: (string-ascii 30