Source Code


;; nova-quadratic-voting.clar
;; Voting power = sqrt(tokens)
;; CLARITY VERSION: 2

(define-map votes
    {proposal: uint, voter: principal}
    uint
)

(define-public (vote (proposal uint) (amount uint))
    (let (
        (cost (* amount amount)) ;; simplified cost model (credits)
    )
    ;; User pays 'cost' in credits (omitted for brevity)
    (map-set votes {proposal: proposal, voter: tx-sender} amount)
    (ok true))
)

(define-read-only (get-voting-power (proposal uint) (voter principal))
    (default-to u0 (map-get? votes {proposal: proposal, voter: voter}))
)

Functions (2)

FunctionAccessArgs
votepublicproposal: uint, amount: uint
get-voting-powerread-onlyproposal: uint, voter: principal