(define-constant O tx-sender)
(define-constant E1 (err u970))
(define-map config (string-ascii 32) uint)
(define-map features (string-ascii 32) bool)
(define-public (set-config (key (string-ascii 32)) (val uint))
(begin (asserts! (is-eq tx-sender O) E1)
(ok (map-set config key val))))
(define-public (set-feature (key (string-ascii 32)) (enabled bool))
(begin (asserts! (is-eq tx-sender O) E1)
(ok (map-set features key enabled))))
(define-read-only (get-config (key (string-ascii 32)))
(map-get? config key))
(define-read-only (get-feature (key (string-ascii 32)))
(default-to false (map-get? features key)))
(define-read-only (is-enabled (key (string-ascii 32)))
(default-to false (map-get? features key)))