Source Code

;; stream contract

(define-constant ERR_STREAM_NOT_FOUND (err u1004))

(define-map streams
  uint
  {
    recipient: principal,
    sender: principal,
  }
)

(define-data-var next-stream-id uint u1)

(define-public (make-stream (recipient principal))
  (let ((stream-id (var-get next-stream-id)))
    (map-set streams
      stream-id
      {
        recipient: recipient,
        sender: tx-sender,
      }
    )
    (var-set next-stream-id (+ stream-id u1))
    (ok stream-id)
  )
)

(define-read-only (get-stream (stream-id uint))
  (ok (unwrap! (map-get? streams stream-id) ERR_STREAM_NOT_FOUND))
)

Functions (2)

FunctionAccessArgs
make-streampublicrecipient: principal
get-streamread-onlystream-id: uint