/
gamma-marbling-commission.clar
39 lines (34 loc) · 1.14 KB
/
gamma-marbling-commission.clar
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
(define-constant CONTRACT-OWNER tx-sender)
(define-constant ERR-NOT-AUTHORIZED (err u401))
(define-data-var commission uint u200)
(define-data-var commission-address principal 'SPNWZ5V2TPWGQGVDR6T7B6RQ4XMGZ4PXTEE0VQ0S)
(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 u550) u10000) tx-sender 'SPXPXP8YJCA22NZV359KTMWS7P2J8GV2E9F00Q0P))
(ok true)
)
(ok true)
)
)
(define-public (set-commission (amount uint))
(begin
(asserts! (is-eq tx-sender CONTRACT-OWNER) ERR-NOT-AUTHORIZED)
(var-set commission amount)
(ok true)
)
)
(define-public (set-commission-address (address principal))
(begin
(asserts! (is-eq tx-sender CONTRACT-OWNER) 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))
)