Source Code

(define-constant ERR-PERMISSION-DENIED (err u3000))  
(define-constant ERR-PRECONDITION-FAILED (err u3001))  
(define-constant ERR-CONTRACT-NOT-FOUND (err u3002))  
(define-constant ERR-CONTRACT-LOCKED (err u3999))   
(define-public (deposit-stx (amount uint))
    (begin 
        (asserts! (> amount u0) ERR-PRECONDITION-FAILED)  
        (stx-transfer? amount tx-sender (as-contract tx-sender))  
    ))
(define-public (withdraw-stx (amount uint) (recipient principal))
    (begin
        (asserts! (as-contract (contract-call? .btf-protocol-cpc-001 is-contract-unlocked tx-sender)) ERR-CONTRACT-LOCKED)
        (asserts! (contract-call? .btf-protocol-cpc-001 has-permission contract-caller u1) ERR-PERMISSION-DENIED)  
        (asserts! (> amount u0) ERR-PRECONDITION-FAILED)  
        (as-contract (stx-transfer? amount tx-sender recipient))  
    ))

Functions (2)

FunctionAccessArgs
deposit-stxpublicamount: uint
withdraw-stxpublicamount: uint, recipient: principal