(define-constant O tx-sender)
(define-constant E1 (err u750))
(define-data-var total-markets uint u0)
(define-data-var total-staked uint u0)
(define-data-var total-resolved uint u0)
(define-data-var total-claimed uint u0)
(define-data-var total-users uint u0)
(define-map user-registered principal bool)
(define-public (record-market)
(ok (var-set total-markets (+ (var-get total-markets) u1))))
(define-public (record-stake (amt uint))
(ok (var-set total-staked (+ (var-get total-staked) amt))))
(define-public (record-resolution)
(ok (var-set total-resolved (+ (var-get total-resolved) u1))))
(define-public (record-claim (amt uint))
(ok (var-set total-claimed (+ (var-get total-claimed) amt))))
(define-public (register-user (u principal))
(begin
(if (default-to false (map-get? user-registered u))
(ok false)
(begin (map-set user-registered u true)
(var-set total-users (+ (var-get total-users) u1))
(ok true)))))
(define-read-only (get-stats)
{markets: (var-get total-markets),
staked: (var-get total-staked),
resolved: (var-get total-resolved),
claimed: (var-get total-claimed),
users: (var-get total-users)})