;; 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) }))