Source Code

;; Vault Factory - Creates and manages multiple vault instances
(define-constant err-unauthorized (err u200))
(define-constant err-vault-exists (err u201))

(define-data-var vault-count uint u0)
(define-map vault-registry uint principal)
(define-map user-vaults principal uint)

(define-public (create-vault)
	(let ((vault-id (+ (var-get vault-count) u1)))
		(var-set vault-count vault-id)
		(map-set vault-registry vault-id tx-sender)
		(map-set user-vaults tx-sender vault-id)
		(ok vault-id)
	)
)

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

(define-read-only (get-user-vault (user principal))
	(ok (map-get? user-vaults user)))

Functions (3)

FunctionAccessArgs
create-vaultpublic
get-vault-countread-only
get-user-vaultread-onlyuser: principal