update-cert | (fn [id new-metadata-hash new-title] (let [cert (get #140/registry %0) ] (cond (nil? %3) (fail :NOT-FOUND "Certificate does not exist") nil) (let [updated (assoc %3 :metadata-hash %1 :title %2 :updated-at *timestamp*) ] (cond (lookup-meta *address* registry) (def registry (assoc #140/registry %0 %4)) (fail :UNDECLARED registry)) %4))) | nil |
owned-by | (fn [user-id] (cond (get #140/ownership %0) *result* #{})) | nil |
init-next-id | (fn [start-id] (do (cond (lookup-meta *address* next-id) (def next-id %0) (fail :UNDECLARED next-id)) %0)) | nil |
next-id | 9732 | nil |
ownership | {"cmfh1xawa000kjt8g774ewgwv" #{9730,9731}} | nil |
total-issued | (fn [] (dec #140/next-id)) | nil |
lookup | (fn [id] (get #140/registry %0)) | nil |
transfer-cert | (fn [id new-user-id] (let [cert (get #140/registry %0) ] (cond (nil? %2) (fail :NOT-FOUND "Certificate does not exist") nil) (let [old-user (get %2 :user-id) updated (assoc %2 :user-id %1) ] (cond (lookup-meta *address* registry) (def registry (assoc #140/registry %0 %4)) (fail :UNDECLARED registry)) (cond (lookup-meta *address* ownership) (def ownership (assoc #140/ownership %3 (disj (get #140/ownership %3) %0))) (fail :UNDECLARED ownership)) (cond (lookup-meta *address* ownership) (def ownership (assoc #140/ownership %1 (conj (cond (get #140/ownership %1) *result* #{}) %0))) (fail :UNDECLARED ownership)) %4))) | nil |
registry | {9730 {:timestamp 1773436424584,:user-id "cmfh1xawa000kjt8g774ewgwv",:registered-by #139,:metadata-hash "d31a28f68f74738c6b071f336be35c8b1c18b13e1a291782bdb11218c3c4b41f",:title "Another New Dolly Work",:id 9730},9731 {:timestamp 1773436780694,:user-id "cmfh1xawa000kjt8g774ewgwv",:registered-by #139,:metadata-hash "c6d058874967faff1a767b37a3f54446f4bb37f66c1b8097ec88bf4c528e2702",:title "Another Dolly and Gaga Megahit",:id 9731}} | nil |
register | (fn [user-id metadata-hash title-hint] (let [id #140/next-id cert (hash-map :timestamp *timestamp* :user-id %0 :registered-by *caller* :metadata-hash %1 :title %2 :id %3) ] (cond (lookup-meta *address* next-id) (def next-id (inc %3)) (fail :UNDECLARED next-id)) (cond (lookup-meta *address* registry) (def registry (assoc #140/registry %3 %4)) (fail :UNDECLARED registry)) (cond (lookup-meta *address* ownership) (def ownership (assoc #140/ownership %0 (conj (cond (get #140/ownership %0) *result* #{}) %3))) (fail :UNDECLARED ownership)) %4)) | nil |