Source Code

;; rice-bank -- community rice reserve storage
(define-data-var deposit-count uint u0)
(define-data-var total-kg uint u0)
(define-map deposits uint { depositor: principal, kg: uint, type: (string-ascii 20), block: uint })
(define-public (deposit-rice (kg uint) (type (string-ascii 20)))
  (let ((id (+ (var-get deposit-count) u1)))
    (var-set deposit-count id)
    (var-set total-kg (+ (var-get total-kg) kg))
    (map-set deposits id { depositor: tx-sender, kg: kg, type: type, block: stacks-block-height }) (ok id)))
(define-read-only (get-deposit (id uint)) (map-get? deposits id))
(define-read-only (get-total-kg) (var-get total-kg))
(define-read-only (get-count) (var-get deposit-count))

Functions (4)

FunctionAccessArgs
get-countread-only
get-total-kgread-only
deposit-ricepublickg: uint, type: (string-ascii 20
get-depositread-onlyid: uint