Source Code

;; alcove-logger
(define-map counts principal uint)
(define-data-var top-score uint u0)
(define-data-var top-player (optional principal) none)
(define-data-var max-allowed uint u13624)

(define-public (submit-score (points uint))
  (begin
    (asserts! (<= points (var-get max-allowed)) (err u1))
    (map-set counts tx-sender points)
    (if (> points (var-get top-score))
      (begin
        (var-set top-score points)
        (var-set top-player (some tx-sender))
        (ok true))
      (ok true))))

(define-read-only (get-score (who principal))
  (ok (default-to u0 (map-get? counts who))))

(define-read-only (get-top)
  (ok { score: (var-get top-score), player: (var-get top-player) }))

Functions (3)

FunctionAccessArgs
submit-scorepublicpoints: uint
get-scoreread-onlywho: principal
get-topread-only