Source Code

(define-trait sip010-ft-trait ((transfer (uint principal principal (optional (buff 34))) (response bool uint)) (get-name () (response (string-ascii 32) uint)) (get-symbol () (response (string-ascii 32) uint)) (get-decimals () (response uint uint)) (get-balance (principal) (response uint uint)) (get-total-supply () (response uint uint)) (get-token-uri () (response (optional (string-utf8 256)) uint))))(define-fungible-token toro u2100000000000000)(define-constant ERR_OWNER_ONLY (err u100))(define-constant ERR_NOT_TOKEN_OWNER (err u101))(define-constant CONTRACT_OWNER tx-sender)(define-constant TOKEN_URI u"https://arweave.net/xJvMfBLp8gQ0skquODho7UcC_BqQ5On7bVenRlBinsU")(define-constant TOKEN_NAME "torotorotoro")(define-constant TOKEN_SYMBOL "TTT")(define-constant TOKEN_DECIMALS u8)(define-constant err-forbidden (err u403))(define-read-only (get-balance (who principal)) (ok (ft-get-balance toro who)))(define-read-only (get-total-supply) (ok (ft-get-supply toro)))(define-read-only (get-name) (ok TOKEN_NAME))(define-read-only (get-symbol) (ok TOKEN_SYMBOL))(define-read-only (get-decimals) (ok TOKEN_DECIMALS))(define-read-only (get-token-uri) (ok (some TOKEN_URI)))(define-data-var contract-owner principal tx-sender)(define-public (set-contract-owner (new-owner principal)) (begin (try! (is-contract-owner)) (ok (var-set contract-owner new-owner))))(define-public (mint (amount uint) (destination principal)) (begin (try! (is-contract-owner)) (try! (ft-mint? toro amount destination)) (print {notification: "mint"}) (ok true)))(define-public (burn (amount uint) (owner principal)) (begin (try! (is-contract-owner)) (try! (ft-burn? toro amount owner)) (print {notification: "burn", payload: amount}) (ok true)))(define-public (transfer (amount uint) (sender principal) (recipient principal) (memo (optional (buff 34)))) (begin (asserts! (is-eq tx-sender sender) ERR_NOT_TOKEN_OWNER) (try! (ft-transfer? toro amount sender recipient)) (match memo to-print (print to-print) 0x) (ok true)))(define-private (is-contract-owner) (ok (asserts! (is-eq (var-get contract-owner) contract-caller) err-forbidden)))

Functions (11)

FunctionAccessArgs
get-balanceread-onlywho: principal
get-total-supplyread-only
get-nameread-only
get-symbolread-only
get-decimalsread-only
get-token-uriread-only
set-contract-ownerpublicnew-owner: principal
mintpublicamount: uint, destination: principal
burnpublicamount: uint, owner: principal
transferpublicamount: uint, sender: principal, recipient: principal, memo: (optional (buff 34
is-contract-ownerprivate