(define-constant ERR-UNAUTHORIZED (err u1000))
(define-map extensions principal bool)
(define-private (check-bool (b bool))
(ok (asserts! (or (is-eq b true) (is-eq b false)) ERR-UNAUTHORIZED))
)
(define-private (check-principal (p principal))
(ok (asserts! (is-eq p p) ERR-UNAUTHORIZED))
)
(define-private (set-ext-iter (item {extension: principal, enabled: bool}))
(begin
(unwrap-panic (check-principal (get extension item)))
(unwrap-panic (check-bool (get enabled item)))
(map-set extensions (get extension item) (get enabled item))
)
)
(define-public (set-extensions (ext-list (list 20 {extension: principal, enabled: bool})))
(ok (map set-ext-iter ext-list))
)