Source Code

;; StackSusu Traits v3
;; Simplified trait definitions for v5 contracts

;; Admin management trait
(define-trait admin-trait
  (
    (is-paused () (response bool uint))
    (get-admin-fee-bps () (response uint uint))
    (get-treasury () (response principal uint))
    (record-fee (uint) (response bool uint))
  )
)

;; Reputation trait (new in v3)
(define-trait reputation-trait
  (
    (get-member-score (principal) (response uint uint))
    (record-completion (principal uint uint bool) (response bool uint))
    (record-default (principal uint) (response bool uint))
    (meets-requirement (principal uint) (response bool uint))
    (initialize-member (principal) (response bool uint))
    (record-contribution (principal uint) (response bool uint))
  )
)

;; Referral trait (new in v3)
(define-trait referral-trait
  (
    (register-referral (principal) (response bool uint))
    (record-activity (principal uint) (response uint uint))
    (has-referrer (principal) (response bool uint))
  )
)

;; SIP-009 NFT trait
(define-trait sip009-nft-trait
  (
    (get-last-token-id () (response uint uint))
    (get-token-uri (uint) (response (optional (string-ascii 256)) uint))
    (get-owner (uint) (response (optional principal) uint))
    (transfer (uint principal principal) (response bool uint))
  )
)