;; Version 0
;; High-Frequency Interaction Contract
(define-map users
{ user: principal }
{ score: uint, interaction-count: uint }
)
(define-public (interact)
(let ((user-data (map-get? users { user: tx-sender })))
(match user-data
data
(begin
(map-set users
{ user: tx-sender }
{
score: (+ (get score data) u5),
interaction-count: (+ (get interaction-count data) u1)
}
)
(ok "Interaction successful"))
(begin
(map-set users
{ user: tx-sender }
{ score: u5, interaction-count: u1 }
)
(ok "First interaction"))
)
)
)
(define-read-only (get-user-stats (user principal))
(map-get? users { user: user })
)
(define-read-only (get-my-stats)
(map-get? users { user: tx-sender })
)