Source Code

;; Contract: Governance Token
;; Description: A fungible token used for voting power.

(define-fungible-token vote-coin)

(define-public (mint (amount uint) (recipient principal))
    (begin
        ;; In a real DAO, minting is restricted. Here we allow it for testing.
        (ft-mint? vote-coin amount recipient)
    )
)

(define-read-only (get-balance (user principal))
    (ok (ft-get-balance vote-coin user))
)

;; Allows the voting contract to transfer tokens (burn or lock) if needed
(define-public (transfer (amount uint) (sender principal) (recipient principal))
    (ft-transfer? vote-coin amount sender recipient)
)

Functions (3)

FunctionAccessArgs
mintpublicamount: uint, recipient: principal
get-balanceread-onlyuser: principal
transferpublicamount: uint, sender: principal, recipient: principal