Source Code

(define-constant ERR-NOT-AUTHORIZED (err u401))
(define-data-var commission uint u250)
(define-data-var commission-address principal 'SP2KAF9RF86PVX3NEE27DFV1CQX0T4WGR41X3S45C)

(define-public (pay (id uint) (price uint))
    (if (> (var-get commission) u0)
        (begin  
                (try! (stx-transfer? (/ (* price (var-get commission)) u10000) tx-sender (var-get commission-address)))
                (try! (stx-transfer? (/ (* price u350) u10000) tx-sender 'SP1A32MBZDN1B28ZT5DH6MA739VJ0BFH05CJHCM8W))
                (try! (stx-transfer? (/ (* price u250) u10000) tx-sender 'SP69MS8W17WWT6MNH8AB4A7BMY5AX6MAMWD89CCR))

                (ok true)
        )
        (ok true)
    )
)

(define-public (set-commission (amount uint))
    (begin
        (asserts! (is-eq tx-sender (var-get commission-address)) ERR-NOT-AUTHORIZED)
        (var-set commission amount)
        (ok true)
    )
)

(define-public (set-commission-address (address principal))
    (begin
        (asserts! (is-eq tx-sender (var-get commission-address)) ERR-NOT-AUTHORIZED)
        (var-set commission-address address)
        (ok true)
    )
)

(define-public (get-commission)
    (ok (var-get commission))
)

(define-public (get-commission-address)
    (ok (var-get commission-address))
)

Functions (5)

FunctionAccessArgs
paypublicid: uint, price: uint
set-commissionpublicamount: uint
set-commission-addresspublicaddress: principal
get-commissionpublic
get-commission-addresspublic