Source Code

;; Token Registry Contract
;; Register and track custom tokens

(define-constant contract-owner tx-sender)
(define-constant err-not-found (err u404))

(define-map registered-tokens principal {name: (string-ascii 32), symbol: (string-ascii 10)})
(define-data-var token-count uint u0)

(define-public (register-token (name (string-ascii 32)) (symbol (string-ascii 10)))
  (let ((sender tx-sender))
    (map-set registered-tokens sender {name: name, symbol: symbol})
    (var-set token-count (+ (var-get token-count) u1))
    (ok true)
  )
)

(define-read-only (get-token-info (token principal))
  (ok (map-get? registered-tokens token))
)

(define-read-only (get-token-count)
  (ok (var-get token-count))
)

Functions (3)

FunctionAccessArgs
register-tokenpublicname: (string-ascii 32
get-token-inforead-onlytoken: principal
get-token-countread-only