Source Code

(define-map staked-amounts principal uint)
(define-data-var total-staked uint u0)
(define-data-var min-stake uint u1000000)
(define-read-only (get-staked (user principal)) (default-to u0 (map-get? staked-amounts user)))
(define-read-only (get-total-staked) (var-get total-staked))
(define-public (stake (amount uint))
  (begin
    (asserts! (>= amount (var-get min-stake)) (err u1))
    (map-set staked-amounts tx-sender (+ (get-staked tx-sender) amount))
    (var-set total-staked (+ (var-get total-staked) amount))
    (ok true)))

Functions (3)

FunctionAccessArgs
get-stakedread-onlyuser: principal
get-total-stakedread-only
stakepublicamount: uint