Source Code

;; agate-builder-78
(define-map supplys principal uint)
(define-data-var top-score uint u0)
(define-data-var top-player (optional principal) none)
(define-data-var max-allowed uint u53668)

(define-public (submit-score (points uint))
  (begin
    (asserts! (<= points (var-get max-allowed)) (err u1))
    (map-set supplys 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? supplys 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