non-addr-held-device-sig-verifier

SP1V95DB4JK47QVPJBXCEN6MT35JK84CQ4CWS15DQ

Source Code

(define-map registered-keys (buff 33) bool)

(define-constant contract-owner tx-sender)
(define-constant err-invalid-signature (err u100))
(define-constant err-key-not-registered (err u101))

(define-read-only (verify (key (buff 33)) (hash (buff 32)) (signature (buff 64)))
  (if (secp256r1-verify hash signature key)
    (ok 0x024ad318)
    err-invalid-signature))

(define-public (register-key (key (buff 33)))
  (begin
    (map-set registered-keys key true)
    (ok true)))

(define-public (unregister-key (key (buff 33)))
  (begin
    (map-delete registered-keys key)
    (ok true)))

(define-read-only (is-key-registered (key (buff 33)))
  (default-to false (map-get? registered-keys key)))

(define-read-only (get-contract-hash)
  (contract-hash? .non-addr-held-device-sig-verifier))

(define-read-only (get-block-time)
  stacks-block-time)

Functions (6)

FunctionAccessArgs
verifyread-onlykey: (buff 33
register-keypublickey: (buff 33
unregister-keypublickey: (buff 33
is-key-registeredread-onlykey: (buff 33
get-contract-hashread-only
get-block-timeread-only