Source Code

(define-constant E1 (err u830))
(define-map referrals principal principal)
(define-map ref-count principal uint)
(define-public (set-referrer (referrer principal))
 (begin
  (asserts! (not (is-eq tx-sender referrer)) E1)
  (asserts! (is-none (map-get? referrals tx-sender)) E1)
  (map-set referrals tx-sender referrer)
  (map-set ref-count referrer
   (+ (default-to u0 (map-get? ref-count referrer)) u1))
  (ok true)))
(define-read-only (get-referrer (u principal))
 (map-get? referrals u))
(define-read-only (get-referral-count (u principal))
 (default-to u0 (map-get? ref-count u)))
(define-read-only (was-referred (u principal))
 (is-some (map-get? referrals u)))

Functions (4)

FunctionAccessArgs
set-referrerpublicreferrer: principal
get-referrerread-onlyu: principal
get-referral-countread-onlyu: principal
was-referredread-onlyu: principal