diff --git a/contracts/SP14V42ZTX22FRYX5QP1KDYMFEEAW1DCQRNHH92DZ/bns-1696173325195-v1.clar b/contracts/SP14V42ZTX22FRYX5QP1KDYMFEEAW1DCQRNHH92DZ/bns-1696173325195-v1.clar new file mode 100644 index 0000000000..7bfd931fa6 --- /dev/null +++ b/contracts/SP14V42ZTX22FRYX5QP1KDYMFEEAW1DCQRNHH92DZ/bns-1696173325195-v1.clar @@ -0,0 +1,126 @@ + + ;; version: 1 + ;; name: grupoplaneta + ;; namespace: btc + + (use-trait commission-trait 'SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.commission-trait.commission) + + (define-constant DEPLOYER_CONTRACT_PRINCIPAL (as-contract tx-sender)) + (define-constant COMM-ADDR 'SP7NDX6YRAH6C99WCZJWKF2SYR1GQRF7X6894QSJ) + + (define-constant ERR-ALREADY-LISTED (err u401)) + (define-constant ERR-WRONG-COMMISSION (err u402)) + (define-constant ERR-NOT-AUTHORIZED (err u403)) + (define-constant ERR-NOT-FOUND (err u404)) + (define-constant ERR-WRONG-PRICE (err u405)) + (define-constant ERR-TRANSFER-FAILED (err u500)) + + (define-data-var current-namespace (buff 20) 0x00) + (define-data-var current-name (buff 48) 0x00) + + (define-map listings { namespace: (buff 20), name: (buff 48) } { price: uint, lister: principal, commission: principal }) + + (define-read-only (is-admin) + (is-eq tx-sender COMM-ADDR) + ) + + (define-read-only (get-listing) + (map-get? listings { namespace: (var-get current-namespace), name: (var-get current-name) }) + ) + + (define-read-only (get-current-name) + { namespace: (var-get current-namespace), name: (var-get current-name) } + ) + + (define-private (list-name (namespace (buff 20)) (name (buff 48)) (price uint) (commission )) + (begin + (asserts! (is-none (get-listing)) ERR-ALREADY-LISTED) + (try! (to-bool-response (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + DEPLOYER_CONTRACT_PRINCIPAL + none + ))) + (var-set current-namespace namespace) + (var-set current-name name) + (ok (map-set listings {name: name, namespace: namespace} + {price: price, lister: tx-sender, commission: (contract-of commission)})) + ) + ) + + (define-public (change-price (namespace (buff 20)) (name (buff 48)) (new-price uint) (commission )) + (let ( + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing))) + (asserts! (is-eq tx-sender lister) ERR-NOT-AUTHORIZED) + (ok (map-set listings { namespace: namespace, name: name } { price: new-price, lister: lister, commission: (contract-of commission) })) + ) + ) + + (define-public (unlist-name (namespace (buff 20)) (name (buff 48))) + (let ( + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing))) + (asserts! (or (is-eq tx-sender lister) (is-admin)) ERR-NOT-AUTHORIZED) + (map-delete listings {namespace: namespace, name: name}) + (as-contract + (to-bool-response (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + lister + none + )) + ) + ) + ) + + (define-public (purchase-name (namespace (buff 20)) (name (buff 48)) (expected-price uint) (commission ) (recipient (optional principal))) + (let ( + (new-owner (if (is-some recipient) (unwrap-panic recipient) tx-sender)) + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing)) + (list-commission (get commission listing)) + ) + (asserts! (is-eq (contract-of commission) list-commission) ERR-WRONG-COMMISSION) + (asserts! (is-eq price expected-price) ERR-WRONG-PRICE) + (try! (contract-call? commission pay u0 price)) + (try! (stx-transfer? price tx-sender lister)) + (map-delete listings {namespace: namespace, name: name}) + (to-bool-response (as-contract + (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + new-owner + none + ) + )) + ) + ) + + (define-public (withdraw-stx (amount uint)) + (let ( + (listing (unwrap! (get-listing) ERR-NOT-FOUND)) + (lister (get lister listing)) + ) + (asserts! (or (is-eq tx-sender lister) (is-admin)) ERR-NOT-AUTHORIZED) + (try! (as-contract (stx-transfer? amount tx-sender lister))) + (ok amount) + ) + ) + + (define-private (to-bool-response (value (response bool int))) + (match value + success (ok success) + error (err (to-uint error)))) + + (list-name 0x627463 0x677275706f706c616e657461 u24154589372 'SPNWZ5V2TPWGQGVDR6T7B6RQ4XMGZ4PXTEE0VQ0S.gamma-commission-3-5) + \ No newline at end of file diff --git a/contracts/SP19CCK0YP97N0JM2381VHGQVZ660Y7WJR13A07P/bns-1696173633683-v1.clar b/contracts/SP19CCK0YP97N0JM2381VHGQVZ660Y7WJR13A07P/bns-1696173633683-v1.clar new file mode 100644 index 0000000000..39d369d322 --- /dev/null +++ b/contracts/SP19CCK0YP97N0JM2381VHGQVZ660Y7WJR13A07P/bns-1696173633683-v1.clar @@ -0,0 +1,126 @@ + + ;; version: 1 + ;; name: baileemadison + ;; namespace: btc + + (use-trait commission-trait 'SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.commission-trait.commission) + + (define-constant DEPLOYER_CONTRACT_PRINCIPAL (as-contract tx-sender)) + (define-constant COMM-ADDR 'SP7NDX6YRAH6C99WCZJWKF2SYR1GQRF7X6894QSJ) + + (define-constant ERR-ALREADY-LISTED (err u401)) + (define-constant ERR-WRONG-COMMISSION (err u402)) + (define-constant ERR-NOT-AUTHORIZED (err u403)) + (define-constant ERR-NOT-FOUND (err u404)) + (define-constant ERR-WRONG-PRICE (err u405)) + (define-constant ERR-TRANSFER-FAILED (err u500)) + + (define-data-var current-namespace (buff 20) 0x00) + (define-data-var current-name (buff 48) 0x00) + + (define-map listings { namespace: (buff 20), name: (buff 48) } { price: uint, lister: principal, commission: principal }) + + (define-read-only (is-admin) + (is-eq tx-sender COMM-ADDR) + ) + + (define-read-only (get-listing) + (map-get? listings { namespace: (var-get current-namespace), name: (var-get current-name) }) + ) + + (define-read-only (get-current-name) + { namespace: (var-get current-namespace), name: (var-get current-name) } + ) + + (define-private (list-name (namespace (buff 20)) (name (buff 48)) (price uint) (commission )) + (begin + (asserts! (is-none (get-listing)) ERR-ALREADY-LISTED) + (try! (to-bool-response (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + DEPLOYER_CONTRACT_PRINCIPAL + none + ))) + (var-set current-namespace namespace) + (var-set current-name name) + (ok (map-set listings {name: name, namespace: namespace} + {price: price, lister: tx-sender, commission: (contract-of commission)})) + ) + ) + + (define-public (change-price (namespace (buff 20)) (name (buff 48)) (new-price uint) (commission )) + (let ( + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing))) + (asserts! (is-eq tx-sender lister) ERR-NOT-AUTHORIZED) + (ok (map-set listings { namespace: namespace, name: name } { price: new-price, lister: lister, commission: (contract-of commission) })) + ) + ) + + (define-public (unlist-name (namespace (buff 20)) (name (buff 48))) + (let ( + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing))) + (asserts! (or (is-eq tx-sender lister) (is-admin)) ERR-NOT-AUTHORIZED) + (map-delete listings {namespace: namespace, name: name}) + (as-contract + (to-bool-response (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + lister + none + )) + ) + ) + ) + + (define-public (purchase-name (namespace (buff 20)) (name (buff 48)) (expected-price uint) (commission ) (recipient (optional principal))) + (let ( + (new-owner (if (is-some recipient) (unwrap-panic recipient) tx-sender)) + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing)) + (list-commission (get commission listing)) + ) + (asserts! (is-eq (contract-of commission) list-commission) ERR-WRONG-COMMISSION) + (asserts! (is-eq price expected-price) ERR-WRONG-PRICE) + (try! (contract-call? commission pay u0 price)) + (try! (stx-transfer? price tx-sender lister)) + (map-delete listings {namespace: namespace, name: name}) + (to-bool-response (as-contract + (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + new-owner + none + ) + )) + ) + ) + + (define-public (withdraw-stx (amount uint)) + (let ( + (listing (unwrap! (get-listing) ERR-NOT-FOUND)) + (lister (get lister listing)) + ) + (asserts! (or (is-eq tx-sender lister) (is-admin)) ERR-NOT-AUTHORIZED) + (try! (as-contract (stx-transfer? amount tx-sender lister))) + (ok amount) + ) + ) + + (define-private (to-bool-response (value (response bool int))) + (match value + success (ok success) + error (err (to-uint error)))) + + (list-name 0x627463 0x6261696c65656d616469736f6e u24154589372 'SPNWZ5V2TPWGQGVDR6T7B6RQ4XMGZ4PXTEE0VQ0S.gamma-commission-3-5) + \ No newline at end of file diff --git a/contracts/SP1J7QZ0M49SPWMKA0R9JTYN8NJTFCEBEJ1RFWGB0/bns-1696173985350-v1.clar b/contracts/SP1J7QZ0M49SPWMKA0R9JTYN8NJTFCEBEJ1RFWGB0/bns-1696173985350-v1.clar new file mode 100644 index 0000000000..c1779cee2c --- /dev/null +++ b/contracts/SP1J7QZ0M49SPWMKA0R9JTYN8NJTFCEBEJ1RFWGB0/bns-1696173985350-v1.clar @@ -0,0 +1,126 @@ + + ;; version: 1 + ;; name: ellapurnell + ;; namespace: btc + + (use-trait commission-trait 'SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.commission-trait.commission) + + (define-constant DEPLOYER_CONTRACT_PRINCIPAL (as-contract tx-sender)) + (define-constant COMM-ADDR 'SP7NDX6YRAH6C99WCZJWKF2SYR1GQRF7X6894QSJ) + + (define-constant ERR-ALREADY-LISTED (err u401)) + (define-constant ERR-WRONG-COMMISSION (err u402)) + (define-constant ERR-NOT-AUTHORIZED (err u403)) + (define-constant ERR-NOT-FOUND (err u404)) + (define-constant ERR-WRONG-PRICE (err u405)) + (define-constant ERR-TRANSFER-FAILED (err u500)) + + (define-data-var current-namespace (buff 20) 0x00) + (define-data-var current-name (buff 48) 0x00) + + (define-map listings { namespace: (buff 20), name: (buff 48) } { price: uint, lister: principal, commission: principal }) + + (define-read-only (is-admin) + (is-eq tx-sender COMM-ADDR) + ) + + (define-read-only (get-listing) + (map-get? listings { namespace: (var-get current-namespace), name: (var-get current-name) }) + ) + + (define-read-only (get-current-name) + { namespace: (var-get current-namespace), name: (var-get current-name) } + ) + + (define-private (list-name (namespace (buff 20)) (name (buff 48)) (price uint) (commission )) + (begin + (asserts! (is-none (get-listing)) ERR-ALREADY-LISTED) + (try! (to-bool-response (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + DEPLOYER_CONTRACT_PRINCIPAL + none + ))) + (var-set current-namespace namespace) + (var-set current-name name) + (ok (map-set listings {name: name, namespace: namespace} + {price: price, lister: tx-sender, commission: (contract-of commission)})) + ) + ) + + (define-public (change-price (namespace (buff 20)) (name (buff 48)) (new-price uint) (commission )) + (let ( + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing))) + (asserts! (is-eq tx-sender lister) ERR-NOT-AUTHORIZED) + (ok (map-set listings { namespace: namespace, name: name } { price: new-price, lister: lister, commission: (contract-of commission) })) + ) + ) + + (define-public (unlist-name (namespace (buff 20)) (name (buff 48))) + (let ( + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing))) + (asserts! (or (is-eq tx-sender lister) (is-admin)) ERR-NOT-AUTHORIZED) + (map-delete listings {namespace: namespace, name: name}) + (as-contract + (to-bool-response (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + lister + none + )) + ) + ) + ) + + (define-public (purchase-name (namespace (buff 20)) (name (buff 48)) (expected-price uint) (commission ) (recipient (optional principal))) + (let ( + (new-owner (if (is-some recipient) (unwrap-panic recipient) tx-sender)) + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing)) + (list-commission (get commission listing)) + ) + (asserts! (is-eq (contract-of commission) list-commission) ERR-WRONG-COMMISSION) + (asserts! (is-eq price expected-price) ERR-WRONG-PRICE) + (try! (contract-call? commission pay u0 price)) + (try! (stx-transfer? price tx-sender lister)) + (map-delete listings {namespace: namespace, name: name}) + (to-bool-response (as-contract + (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + new-owner + none + ) + )) + ) + ) + + (define-public (withdraw-stx (amount uint)) + (let ( + (listing (unwrap! (get-listing) ERR-NOT-FOUND)) + (lister (get lister listing)) + ) + (asserts! (or (is-eq tx-sender lister) (is-admin)) ERR-NOT-AUTHORIZED) + (try! (as-contract (stx-transfer? amount tx-sender lister))) + (ok amount) + ) + ) + + (define-private (to-bool-response (value (response bool int))) + (match value + success (ok success) + error (err (to-uint error)))) + + (list-name 0x627463 0x656c6c617075726e656c6c u24154589372 'SPNWZ5V2TPWGQGVDR6T7B6RQ4XMGZ4PXTEE0VQ0S.gamma-commission-3-5) + \ No newline at end of file diff --git a/contracts/SP1MJ5YW06A5TC36SK4NWC3BC8Q04AN2Y7J0A4YFF/bns-1696173592964-v1.clar b/contracts/SP1MJ5YW06A5TC36SK4NWC3BC8Q04AN2Y7J0A4YFF/bns-1696173592964-v1.clar new file mode 100644 index 0000000000..28109dd1b6 --- /dev/null +++ b/contracts/SP1MJ5YW06A5TC36SK4NWC3BC8Q04AN2Y7J0A4YFF/bns-1696173592964-v1.clar @@ -0,0 +1,126 @@ + + ;; version: 1 + ;; name: wanhailines + ;; namespace: btc + + (use-trait commission-trait 'SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.commission-trait.commission) + + (define-constant DEPLOYER_CONTRACT_PRINCIPAL (as-contract tx-sender)) + (define-constant COMM-ADDR 'SP7NDX6YRAH6C99WCZJWKF2SYR1GQRF7X6894QSJ) + + (define-constant ERR-ALREADY-LISTED (err u401)) + (define-constant ERR-WRONG-COMMISSION (err u402)) + (define-constant ERR-NOT-AUTHORIZED (err u403)) + (define-constant ERR-NOT-FOUND (err u404)) + (define-constant ERR-WRONG-PRICE (err u405)) + (define-constant ERR-TRANSFER-FAILED (err u500)) + + (define-data-var current-namespace (buff 20) 0x00) + (define-data-var current-name (buff 48) 0x00) + + (define-map listings { namespace: (buff 20), name: (buff 48) } { price: uint, lister: principal, commission: principal }) + + (define-read-only (is-admin) + (is-eq tx-sender COMM-ADDR) + ) + + (define-read-only (get-listing) + (map-get? listings { namespace: (var-get current-namespace), name: (var-get current-name) }) + ) + + (define-read-only (get-current-name) + { namespace: (var-get current-namespace), name: (var-get current-name) } + ) + + (define-private (list-name (namespace (buff 20)) (name (buff 48)) (price uint) (commission )) + (begin + (asserts! (is-none (get-listing)) ERR-ALREADY-LISTED) + (try! (to-bool-response (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + DEPLOYER_CONTRACT_PRINCIPAL + none + ))) + (var-set current-namespace namespace) + (var-set current-name name) + (ok (map-set listings {name: name, namespace: namespace} + {price: price, lister: tx-sender, commission: (contract-of commission)})) + ) + ) + + (define-public (change-price (namespace (buff 20)) (name (buff 48)) (new-price uint) (commission )) + (let ( + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing))) + (asserts! (is-eq tx-sender lister) ERR-NOT-AUTHORIZED) + (ok (map-set listings { namespace: namespace, name: name } { price: new-price, lister: lister, commission: (contract-of commission) })) + ) + ) + + (define-public (unlist-name (namespace (buff 20)) (name (buff 48))) + (let ( + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing))) + (asserts! (or (is-eq tx-sender lister) (is-admin)) ERR-NOT-AUTHORIZED) + (map-delete listings {namespace: namespace, name: name}) + (as-contract + (to-bool-response (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + lister + none + )) + ) + ) + ) + + (define-public (purchase-name (namespace (buff 20)) (name (buff 48)) (expected-price uint) (commission ) (recipient (optional principal))) + (let ( + (new-owner (if (is-some recipient) (unwrap-panic recipient) tx-sender)) + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing)) + (list-commission (get commission listing)) + ) + (asserts! (is-eq (contract-of commission) list-commission) ERR-WRONG-COMMISSION) + (asserts! (is-eq price expected-price) ERR-WRONG-PRICE) + (try! (contract-call? commission pay u0 price)) + (try! (stx-transfer? price tx-sender lister)) + (map-delete listings {namespace: namespace, name: name}) + (to-bool-response (as-contract + (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + new-owner + none + ) + )) + ) + ) + + (define-public (withdraw-stx (amount uint)) + (let ( + (listing (unwrap! (get-listing) ERR-NOT-FOUND)) + (lister (get lister listing)) + ) + (asserts! (or (is-eq tx-sender lister) (is-admin)) ERR-NOT-AUTHORIZED) + (try! (as-contract (stx-transfer? amount tx-sender lister))) + (ok amount) + ) + ) + + (define-private (to-bool-response (value (response bool int))) + (match value + success (ok success) + error (err (to-uint error)))) + + (list-name 0x627463 0x77616e6861696c696e6573 u24154589372 'SPNWZ5V2TPWGQGVDR6T7B6RQ4XMGZ4PXTEE0VQ0S.gamma-commission-3-5) + \ No newline at end of file diff --git a/contracts/SP1N0ETJBW6CZMXCK2HA0YP1180WYBHH1C765192P/bns-1696172731068-v1.clar b/contracts/SP1N0ETJBW6CZMXCK2HA0YP1180WYBHH1C765192P/bns-1696172731068-v1.clar new file mode 100644 index 0000000000..7bacff2f13 --- /dev/null +++ b/contracts/SP1N0ETJBW6CZMXCK2HA0YP1180WYBHH1C765192P/bns-1696172731068-v1.clar @@ -0,0 +1,126 @@ + + ;; version: 1 + ;; name: antasports + ;; namespace: btc + + (use-trait commission-trait 'SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.commission-trait.commission) + + (define-constant DEPLOYER_CONTRACT_PRINCIPAL (as-contract tx-sender)) + (define-constant COMM-ADDR 'SP7NDX6YRAH6C99WCZJWKF2SYR1GQRF7X6894QSJ) + + (define-constant ERR-ALREADY-LISTED (err u401)) + (define-constant ERR-WRONG-COMMISSION (err u402)) + (define-constant ERR-NOT-AUTHORIZED (err u403)) + (define-constant ERR-NOT-FOUND (err u404)) + (define-constant ERR-WRONG-PRICE (err u405)) + (define-constant ERR-TRANSFER-FAILED (err u500)) + + (define-data-var current-namespace (buff 20) 0x00) + (define-data-var current-name (buff 48) 0x00) + + (define-map listings { namespace: (buff 20), name: (buff 48) } { price: uint, lister: principal, commission: principal }) + + (define-read-only (is-admin) + (is-eq tx-sender COMM-ADDR) + ) + + (define-read-only (get-listing) + (map-get? listings { namespace: (var-get current-namespace), name: (var-get current-name) }) + ) + + (define-read-only (get-current-name) + { namespace: (var-get current-namespace), name: (var-get current-name) } + ) + + (define-private (list-name (namespace (buff 20)) (name (buff 48)) (price uint) (commission )) + (begin + (asserts! (is-none (get-listing)) ERR-ALREADY-LISTED) + (try! (to-bool-response (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + DEPLOYER_CONTRACT_PRINCIPAL + none + ))) + (var-set current-namespace namespace) + (var-set current-name name) + (ok (map-set listings {name: name, namespace: namespace} + {price: price, lister: tx-sender, commission: (contract-of commission)})) + ) + ) + + (define-public (change-price (namespace (buff 20)) (name (buff 48)) (new-price uint) (commission )) + (let ( + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing))) + (asserts! (is-eq tx-sender lister) ERR-NOT-AUTHORIZED) + (ok (map-set listings { namespace: namespace, name: name } { price: new-price, lister: lister, commission: (contract-of commission) })) + ) + ) + + (define-public (unlist-name (namespace (buff 20)) (name (buff 48))) + (let ( + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing))) + (asserts! (or (is-eq tx-sender lister) (is-admin)) ERR-NOT-AUTHORIZED) + (map-delete listings {namespace: namespace, name: name}) + (as-contract + (to-bool-response (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + lister + none + )) + ) + ) + ) + + (define-public (purchase-name (namespace (buff 20)) (name (buff 48)) (expected-price uint) (commission ) (recipient (optional principal))) + (let ( + (new-owner (if (is-some recipient) (unwrap-panic recipient) tx-sender)) + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing)) + (list-commission (get commission listing)) + ) + (asserts! (is-eq (contract-of commission) list-commission) ERR-WRONG-COMMISSION) + (asserts! (is-eq price expected-price) ERR-WRONG-PRICE) + (try! (contract-call? commission pay u0 price)) + (try! (stx-transfer? price tx-sender lister)) + (map-delete listings {namespace: namespace, name: name}) + (to-bool-response (as-contract + (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + new-owner + none + ) + )) + ) + ) + + (define-public (withdraw-stx (amount uint)) + (let ( + (listing (unwrap! (get-listing) ERR-NOT-FOUND)) + (lister (get lister listing)) + ) + (asserts! (or (is-eq tx-sender lister) (is-admin)) ERR-NOT-AUTHORIZED) + (try! (as-contract (stx-transfer? amount tx-sender lister))) + (ok amount) + ) + ) + + (define-private (to-bool-response (value (response bool int))) + (match value + success (ok success) + error (err (to-uint error)))) + + (list-name 0x627463 0x616e746173706f727473 u24154589372 'SPNWZ5V2TPWGQGVDR6T7B6RQ4XMGZ4PXTEE0VQ0S.gamma-commission-3-5) + \ No newline at end of file diff --git a/contracts/SP1QX3YZ9H83HBP7KP5NM53TMCPBFB0DAFA5QCC7D/bns-1696173779180-v1.clar b/contracts/SP1QX3YZ9H83HBP7KP5NM53TMCPBFB0DAFA5QCC7D/bns-1696173779180-v1.clar new file mode 100644 index 0000000000..d94c7646e5 --- /dev/null +++ b/contracts/SP1QX3YZ9H83HBP7KP5NM53TMCPBFB0DAFA5QCC7D/bns-1696173779180-v1.clar @@ -0,0 +1,126 @@ + + ;; version: 1 + ;; name: haileesteinfeld + ;; namespace: btc + + (use-trait commission-trait 'SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.commission-trait.commission) + + (define-constant DEPLOYER_CONTRACT_PRINCIPAL (as-contract tx-sender)) + (define-constant COMM-ADDR 'SP7NDX6YRAH6C99WCZJWKF2SYR1GQRF7X6894QSJ) + + (define-constant ERR-ALREADY-LISTED (err u401)) + (define-constant ERR-WRONG-COMMISSION (err u402)) + (define-constant ERR-NOT-AUTHORIZED (err u403)) + (define-constant ERR-NOT-FOUND (err u404)) + (define-constant ERR-WRONG-PRICE (err u405)) + (define-constant ERR-TRANSFER-FAILED (err u500)) + + (define-data-var current-namespace (buff 20) 0x00) + (define-data-var current-name (buff 48) 0x00) + + (define-map listings { namespace: (buff 20), name: (buff 48) } { price: uint, lister: principal, commission: principal }) + + (define-read-only (is-admin) + (is-eq tx-sender COMM-ADDR) + ) + + (define-read-only (get-listing) + (map-get? listings { namespace: (var-get current-namespace), name: (var-get current-name) }) + ) + + (define-read-only (get-current-name) + { namespace: (var-get current-namespace), name: (var-get current-name) } + ) + + (define-private (list-name (namespace (buff 20)) (name (buff 48)) (price uint) (commission )) + (begin + (asserts! (is-none (get-listing)) ERR-ALREADY-LISTED) + (try! (to-bool-response (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + DEPLOYER_CONTRACT_PRINCIPAL + none + ))) + (var-set current-namespace namespace) + (var-set current-name name) + (ok (map-set listings {name: name, namespace: namespace} + {price: price, lister: tx-sender, commission: (contract-of commission)})) + ) + ) + + (define-public (change-price (namespace (buff 20)) (name (buff 48)) (new-price uint) (commission )) + (let ( + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing))) + (asserts! (is-eq tx-sender lister) ERR-NOT-AUTHORIZED) + (ok (map-set listings { namespace: namespace, name: name } { price: new-price, lister: lister, commission: (contract-of commission) })) + ) + ) + + (define-public (unlist-name (namespace (buff 20)) (name (buff 48))) + (let ( + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing))) + (asserts! (or (is-eq tx-sender lister) (is-admin)) ERR-NOT-AUTHORIZED) + (map-delete listings {namespace: namespace, name: name}) + (as-contract + (to-bool-response (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + lister + none + )) + ) + ) + ) + + (define-public (purchase-name (namespace (buff 20)) (name (buff 48)) (expected-price uint) (commission ) (recipient (optional principal))) + (let ( + (new-owner (if (is-some recipient) (unwrap-panic recipient) tx-sender)) + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing)) + (list-commission (get commission listing)) + ) + (asserts! (is-eq (contract-of commission) list-commission) ERR-WRONG-COMMISSION) + (asserts! (is-eq price expected-price) ERR-WRONG-PRICE) + (try! (contract-call? commission pay u0 price)) + (try! (stx-transfer? price tx-sender lister)) + (map-delete listings {namespace: namespace, name: name}) + (to-bool-response (as-contract + (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + new-owner + none + ) + )) + ) + ) + + (define-public (withdraw-stx (amount uint)) + (let ( + (listing (unwrap! (get-listing) ERR-NOT-FOUND)) + (lister (get lister listing)) + ) + (asserts! (or (is-eq tx-sender lister) (is-admin)) ERR-NOT-AUTHORIZED) + (try! (as-contract (stx-transfer? amount tx-sender lister))) + (ok amount) + ) + ) + + (define-private (to-bool-response (value (response bool int))) + (match value + success (ok success) + error (err (to-uint error)))) + + (list-name 0x627463 0x6861696c6565737465696e66656c64 u24154589372 'SPNWZ5V2TPWGQGVDR6T7B6RQ4XMGZ4PXTEE0VQ0S.gamma-commission-3-5) + \ No newline at end of file diff --git a/contracts/SP1WXJ4JQQM676KBT224TVH9CZGNSP2QDGSME314W/bns-1696173274521-v1.clar b/contracts/SP1WXJ4JQQM676KBT224TVH9CZGNSP2QDGSME314W/bns-1696173274521-v1.clar new file mode 100644 index 0000000000..76ec419315 --- /dev/null +++ b/contracts/SP1WXJ4JQQM676KBT224TVH9CZGNSP2QDGSME314W/bns-1696173274521-v1.clar @@ -0,0 +1,126 @@ + + ;; version: 1 + ;; name: grunerundjahr + ;; namespace: btc + + (use-trait commission-trait 'SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.commission-trait.commission) + + (define-constant DEPLOYER_CONTRACT_PRINCIPAL (as-contract tx-sender)) + (define-constant COMM-ADDR 'SP7NDX6YRAH6C99WCZJWKF2SYR1GQRF7X6894QSJ) + + (define-constant ERR-ALREADY-LISTED (err u401)) + (define-constant ERR-WRONG-COMMISSION (err u402)) + (define-constant ERR-NOT-AUTHORIZED (err u403)) + (define-constant ERR-NOT-FOUND (err u404)) + (define-constant ERR-WRONG-PRICE (err u405)) + (define-constant ERR-TRANSFER-FAILED (err u500)) + + (define-data-var current-namespace (buff 20) 0x00) + (define-data-var current-name (buff 48) 0x00) + + (define-map listings { namespace: (buff 20), name: (buff 48) } { price: uint, lister: principal, commission: principal }) + + (define-read-only (is-admin) + (is-eq tx-sender COMM-ADDR) + ) + + (define-read-only (get-listing) + (map-get? listings { namespace: (var-get current-namespace), name: (var-get current-name) }) + ) + + (define-read-only (get-current-name) + { namespace: (var-get current-namespace), name: (var-get current-name) } + ) + + (define-private (list-name (namespace (buff 20)) (name (buff 48)) (price uint) (commission )) + (begin + (asserts! (is-none (get-listing)) ERR-ALREADY-LISTED) + (try! (to-bool-response (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + DEPLOYER_CONTRACT_PRINCIPAL + none + ))) + (var-set current-namespace namespace) + (var-set current-name name) + (ok (map-set listings {name: name, namespace: namespace} + {price: price, lister: tx-sender, commission: (contract-of commission)})) + ) + ) + + (define-public (change-price (namespace (buff 20)) (name (buff 48)) (new-price uint) (commission )) + (let ( + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing))) + (asserts! (is-eq tx-sender lister) ERR-NOT-AUTHORIZED) + (ok (map-set listings { namespace: namespace, name: name } { price: new-price, lister: lister, commission: (contract-of commission) })) + ) + ) + + (define-public (unlist-name (namespace (buff 20)) (name (buff 48))) + (let ( + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing))) + (asserts! (or (is-eq tx-sender lister) (is-admin)) ERR-NOT-AUTHORIZED) + (map-delete listings {namespace: namespace, name: name}) + (as-contract + (to-bool-response (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + lister + none + )) + ) + ) + ) + + (define-public (purchase-name (namespace (buff 20)) (name (buff 48)) (expected-price uint) (commission ) (recipient (optional principal))) + (let ( + (new-owner (if (is-some recipient) (unwrap-panic recipient) tx-sender)) + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing)) + (list-commission (get commission listing)) + ) + (asserts! (is-eq (contract-of commission) list-commission) ERR-WRONG-COMMISSION) + (asserts! (is-eq price expected-price) ERR-WRONG-PRICE) + (try! (contract-call? commission pay u0 price)) + (try! (stx-transfer? price tx-sender lister)) + (map-delete listings {namespace: namespace, name: name}) + (to-bool-response (as-contract + (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + new-owner + none + ) + )) + ) + ) + + (define-public (withdraw-stx (amount uint)) + (let ( + (listing (unwrap! (get-listing) ERR-NOT-FOUND)) + (lister (get lister listing)) + ) + (asserts! (or (is-eq tx-sender lister) (is-admin)) ERR-NOT-AUTHORIZED) + (try! (as-contract (stx-transfer? amount tx-sender lister))) + (ok amount) + ) + ) + + (define-private (to-bool-response (value (response bool int))) + (match value + success (ok success) + error (err (to-uint error)))) + + (list-name 0x627463 0x6772756e6572756e646a616872 u24154589372 'SPNWZ5V2TPWGQGVDR6T7B6RQ4XMGZ4PXTEE0VQ0S.gamma-commission-3-5) + \ No newline at end of file diff --git a/contracts/SP1X2NM8KM7GR6SJWXCFQG2Z8HXKNKWD1NFXA0W0V/bns-1696174039188-v1.clar b/contracts/SP1X2NM8KM7GR6SJWXCFQG2Z8HXKNKWD1NFXA0W0V/bns-1696174039188-v1.clar new file mode 100644 index 0000000000..fdf6510d82 --- /dev/null +++ b/contracts/SP1X2NM8KM7GR6SJWXCFQG2Z8HXKNKWD1NFXA0W0V/bns-1696174039188-v1.clar @@ -0,0 +1,126 @@ + + ;; version: 1 + ;; name: kaitlyndever + ;; namespace: btc + + (use-trait commission-trait 'SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.commission-trait.commission) + + (define-constant DEPLOYER_CONTRACT_PRINCIPAL (as-contract tx-sender)) + (define-constant COMM-ADDR 'SP7NDX6YRAH6C99WCZJWKF2SYR1GQRF7X6894QSJ) + + (define-constant ERR-ALREADY-LISTED (err u401)) + (define-constant ERR-WRONG-COMMISSION (err u402)) + (define-constant ERR-NOT-AUTHORIZED (err u403)) + (define-constant ERR-NOT-FOUND (err u404)) + (define-constant ERR-WRONG-PRICE (err u405)) + (define-constant ERR-TRANSFER-FAILED (err u500)) + + (define-data-var current-namespace (buff 20) 0x00) + (define-data-var current-name (buff 48) 0x00) + + (define-map listings { namespace: (buff 20), name: (buff 48) } { price: uint, lister: principal, commission: principal }) + + (define-read-only (is-admin) + (is-eq tx-sender COMM-ADDR) + ) + + (define-read-only (get-listing) + (map-get? listings { namespace: (var-get current-namespace), name: (var-get current-name) }) + ) + + (define-read-only (get-current-name) + { namespace: (var-get current-namespace), name: (var-get current-name) } + ) + + (define-private (list-name (namespace (buff 20)) (name (buff 48)) (price uint) (commission )) + (begin + (asserts! (is-none (get-listing)) ERR-ALREADY-LISTED) + (try! (to-bool-response (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + DEPLOYER_CONTRACT_PRINCIPAL + none + ))) + (var-set current-namespace namespace) + (var-set current-name name) + (ok (map-set listings {name: name, namespace: namespace} + {price: price, lister: tx-sender, commission: (contract-of commission)})) + ) + ) + + (define-public (change-price (namespace (buff 20)) (name (buff 48)) (new-price uint) (commission )) + (let ( + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing))) + (asserts! (is-eq tx-sender lister) ERR-NOT-AUTHORIZED) + (ok (map-set listings { namespace: namespace, name: name } { price: new-price, lister: lister, commission: (contract-of commission) })) + ) + ) + + (define-public (unlist-name (namespace (buff 20)) (name (buff 48))) + (let ( + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing))) + (asserts! (or (is-eq tx-sender lister) (is-admin)) ERR-NOT-AUTHORIZED) + (map-delete listings {namespace: namespace, name: name}) + (as-contract + (to-bool-response (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + lister + none + )) + ) + ) + ) + + (define-public (purchase-name (namespace (buff 20)) (name (buff 48)) (expected-price uint) (commission ) (recipient (optional principal))) + (let ( + (new-owner (if (is-some recipient) (unwrap-panic recipient) tx-sender)) + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing)) + (list-commission (get commission listing)) + ) + (asserts! (is-eq (contract-of commission) list-commission) ERR-WRONG-COMMISSION) + (asserts! (is-eq price expected-price) ERR-WRONG-PRICE) + (try! (contract-call? commission pay u0 price)) + (try! (stx-transfer? price tx-sender lister)) + (map-delete listings {namespace: namespace, name: name}) + (to-bool-response (as-contract + (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + new-owner + none + ) + )) + ) + ) + + (define-public (withdraw-stx (amount uint)) + (let ( + (listing (unwrap! (get-listing) ERR-NOT-FOUND)) + (lister (get lister listing)) + ) + (asserts! (or (is-eq tx-sender lister) (is-admin)) ERR-NOT-AUTHORIZED) + (try! (as-contract (stx-transfer? amount tx-sender lister))) + (ok amount) + ) + ) + + (define-private (to-bool-response (value (response bool int))) + (match value + success (ok success) + error (err (to-uint error)))) + + (list-name 0x627463 0x6b6169746c796e6465766572 u24154589372 'SPNWZ5V2TPWGQGVDR6T7B6RQ4XMGZ4PXTEE0VQ0S.gamma-commission-3-5) + \ No newline at end of file diff --git a/contracts/SP1X5YGZPGV83WAB86RD22746860277D32K8QNAE/bns-1696172890391-v1.clar b/contracts/SP1X5YGZPGV83WAB86RD22746860277D32K8QNAE/bns-1696172890391-v1.clar new file mode 100644 index 0000000000..308c9e1c51 --- /dev/null +++ b/contracts/SP1X5YGZPGV83WAB86RD22746860277D32K8QNAE/bns-1696172890391-v1.clar @@ -0,0 +1,126 @@ + + ;; version: 1 + ;; name: brunosoehnle + ;; namespace: btc + + (use-trait commission-trait 'SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.commission-trait.commission) + + (define-constant DEPLOYER_CONTRACT_PRINCIPAL (as-contract tx-sender)) + (define-constant COMM-ADDR 'SP7NDX6YRAH6C99WCZJWKF2SYR1GQRF7X6894QSJ) + + (define-constant ERR-ALREADY-LISTED (err u401)) + (define-constant ERR-WRONG-COMMISSION (err u402)) + (define-constant ERR-NOT-AUTHORIZED (err u403)) + (define-constant ERR-NOT-FOUND (err u404)) + (define-constant ERR-WRONG-PRICE (err u405)) + (define-constant ERR-TRANSFER-FAILED (err u500)) + + (define-data-var current-namespace (buff 20) 0x00) + (define-data-var current-name (buff 48) 0x00) + + (define-map listings { namespace: (buff 20), name: (buff 48) } { price: uint, lister: principal, commission: principal }) + + (define-read-only (is-admin) + (is-eq tx-sender COMM-ADDR) + ) + + (define-read-only (get-listing) + (map-get? listings { namespace: (var-get current-namespace), name: (var-get current-name) }) + ) + + (define-read-only (get-current-name) + { namespace: (var-get current-namespace), name: (var-get current-name) } + ) + + (define-private (list-name (namespace (buff 20)) (name (buff 48)) (price uint) (commission )) + (begin + (asserts! (is-none (get-listing)) ERR-ALREADY-LISTED) + (try! (to-bool-response (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + DEPLOYER_CONTRACT_PRINCIPAL + none + ))) + (var-set current-namespace namespace) + (var-set current-name name) + (ok (map-set listings {name: name, namespace: namespace} + {price: price, lister: tx-sender, commission: (contract-of commission)})) + ) + ) + + (define-public (change-price (namespace (buff 20)) (name (buff 48)) (new-price uint) (commission )) + (let ( + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing))) + (asserts! (is-eq tx-sender lister) ERR-NOT-AUTHORIZED) + (ok (map-set listings { namespace: namespace, name: name } { price: new-price, lister: lister, commission: (contract-of commission) })) + ) + ) + + (define-public (unlist-name (namespace (buff 20)) (name (buff 48))) + (let ( + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing))) + (asserts! (or (is-eq tx-sender lister) (is-admin)) ERR-NOT-AUTHORIZED) + (map-delete listings {namespace: namespace, name: name}) + (as-contract + (to-bool-response (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + lister + none + )) + ) + ) + ) + + (define-public (purchase-name (namespace (buff 20)) (name (buff 48)) (expected-price uint) (commission ) (recipient (optional principal))) + (let ( + (new-owner (if (is-some recipient) (unwrap-panic recipient) tx-sender)) + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing)) + (list-commission (get commission listing)) + ) + (asserts! (is-eq (contract-of commission) list-commission) ERR-WRONG-COMMISSION) + (asserts! (is-eq price expected-price) ERR-WRONG-PRICE) + (try! (contract-call? commission pay u0 price)) + (try! (stx-transfer? price tx-sender lister)) + (map-delete listings {namespace: namespace, name: name}) + (to-bool-response (as-contract + (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + new-owner + none + ) + )) + ) + ) + + (define-public (withdraw-stx (amount uint)) + (let ( + (listing (unwrap! (get-listing) ERR-NOT-FOUND)) + (lister (get lister listing)) + ) + (asserts! (or (is-eq tx-sender lister) (is-admin)) ERR-NOT-AUTHORIZED) + (try! (as-contract (stx-transfer? amount tx-sender lister))) + (ok amount) + ) + ) + + (define-private (to-bool-response (value (response bool int))) + (match value + success (ok success) + error (err (to-uint error)))) + + (list-name 0x627463 0x6272756e6f736f65686e6c65 u24154589372 'SPNWZ5V2TPWGQGVDR6T7B6RQ4XMGZ4PXTEE0VQ0S.gamma-commission-3-5) + \ No newline at end of file diff --git a/contracts/SP1YK2XNYDMEXYP3PA6JJV6HVBE9SGR7A1ZTHEY8R/bns-1696173844009-v1.clar b/contracts/SP1YK2XNYDMEXYP3PA6JJV6HVBE9SGR7A1ZTHEY8R/bns-1696173844009-v1.clar new file mode 100644 index 0000000000..4a6f6df529 --- /dev/null +++ b/contracts/SP1YK2XNYDMEXYP3PA6JJV6HVBE9SGR7A1ZTHEY8R/bns-1696173844009-v1.clar @@ -0,0 +1,126 @@ + + ;; version: 1 + ;; name: nicolapeltz + ;; namespace: btc + + (use-trait commission-trait 'SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.commission-trait.commission) + + (define-constant DEPLOYER_CONTRACT_PRINCIPAL (as-contract tx-sender)) + (define-constant COMM-ADDR 'SP7NDX6YRAH6C99WCZJWKF2SYR1GQRF7X6894QSJ) + + (define-constant ERR-ALREADY-LISTED (err u401)) + (define-constant ERR-WRONG-COMMISSION (err u402)) + (define-constant ERR-NOT-AUTHORIZED (err u403)) + (define-constant ERR-NOT-FOUND (err u404)) + (define-constant ERR-WRONG-PRICE (err u405)) + (define-constant ERR-TRANSFER-FAILED (err u500)) + + (define-data-var current-namespace (buff 20) 0x00) + (define-data-var current-name (buff 48) 0x00) + + (define-map listings { namespace: (buff 20), name: (buff 48) } { price: uint, lister: principal, commission: principal }) + + (define-read-only (is-admin) + (is-eq tx-sender COMM-ADDR) + ) + + (define-read-only (get-listing) + (map-get? listings { namespace: (var-get current-namespace), name: (var-get current-name) }) + ) + + (define-read-only (get-current-name) + { namespace: (var-get current-namespace), name: (var-get current-name) } + ) + + (define-private (list-name (namespace (buff 20)) (name (buff 48)) (price uint) (commission )) + (begin + (asserts! (is-none (get-listing)) ERR-ALREADY-LISTED) + (try! (to-bool-response (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + DEPLOYER_CONTRACT_PRINCIPAL + none + ))) + (var-set current-namespace namespace) + (var-set current-name name) + (ok (map-set listings {name: name, namespace: namespace} + {price: price, lister: tx-sender, commission: (contract-of commission)})) + ) + ) + + (define-public (change-price (namespace (buff 20)) (name (buff 48)) (new-price uint) (commission )) + (let ( + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing))) + (asserts! (is-eq tx-sender lister) ERR-NOT-AUTHORIZED) + (ok (map-set listings { namespace: namespace, name: name } { price: new-price, lister: lister, commission: (contract-of commission) })) + ) + ) + + (define-public (unlist-name (namespace (buff 20)) (name (buff 48))) + (let ( + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing))) + (asserts! (or (is-eq tx-sender lister) (is-admin)) ERR-NOT-AUTHORIZED) + (map-delete listings {namespace: namespace, name: name}) + (as-contract + (to-bool-response (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + lister + none + )) + ) + ) + ) + + (define-public (purchase-name (namespace (buff 20)) (name (buff 48)) (expected-price uint) (commission ) (recipient (optional principal))) + (let ( + (new-owner (if (is-some recipient) (unwrap-panic recipient) tx-sender)) + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing)) + (list-commission (get commission listing)) + ) + (asserts! (is-eq (contract-of commission) list-commission) ERR-WRONG-COMMISSION) + (asserts! (is-eq price expected-price) ERR-WRONG-PRICE) + (try! (contract-call? commission pay u0 price)) + (try! (stx-transfer? price tx-sender lister)) + (map-delete listings {namespace: namespace, name: name}) + (to-bool-response (as-contract + (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + new-owner + none + ) + )) + ) + ) + + (define-public (withdraw-stx (amount uint)) + (let ( + (listing (unwrap! (get-listing) ERR-NOT-FOUND)) + (lister (get lister listing)) + ) + (asserts! (or (is-eq tx-sender lister) (is-admin)) ERR-NOT-AUTHORIZED) + (try! (as-contract (stx-transfer? amount tx-sender lister))) + (ok amount) + ) + ) + + (define-private (to-bool-response (value (response bool int))) + (match value + success (ok success) + error (err (to-uint error)))) + + (list-name 0x627463 0x6e69636f6c6170656c747a u24154589372 'SPNWZ5V2TPWGQGVDR6T7B6RQ4XMGZ4PXTEE0VQ0S.gamma-commission-3-5) + \ No newline at end of file diff --git a/contracts/SP2512A5M3Y5F1ZNXG900VAPRCNK6ZQWKA5FBRB46/bns-1696173917150-v1.clar b/contracts/SP2512A5M3Y5F1ZNXG900VAPRCNK6ZQWKA5FBRB46/bns-1696173917150-v1.clar new file mode 100644 index 0000000000..fb117a6d21 --- /dev/null +++ b/contracts/SP2512A5M3Y5F1ZNXG900VAPRCNK6ZQWKA5FBRB46/bns-1696173917150-v1.clar @@ -0,0 +1,126 @@ + + ;; version: 1 + ;; name: kayascodelario + ;; namespace: btc + + (use-trait commission-trait 'SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.commission-trait.commission) + + (define-constant DEPLOYER_CONTRACT_PRINCIPAL (as-contract tx-sender)) + (define-constant COMM-ADDR 'SP7NDX6YRAH6C99WCZJWKF2SYR1GQRF7X6894QSJ) + + (define-constant ERR-ALREADY-LISTED (err u401)) + (define-constant ERR-WRONG-COMMISSION (err u402)) + (define-constant ERR-NOT-AUTHORIZED (err u403)) + (define-constant ERR-NOT-FOUND (err u404)) + (define-constant ERR-WRONG-PRICE (err u405)) + (define-constant ERR-TRANSFER-FAILED (err u500)) + + (define-data-var current-namespace (buff 20) 0x00) + (define-data-var current-name (buff 48) 0x00) + + (define-map listings { namespace: (buff 20), name: (buff 48) } { price: uint, lister: principal, commission: principal }) + + (define-read-only (is-admin) + (is-eq tx-sender COMM-ADDR) + ) + + (define-read-only (get-listing) + (map-get? listings { namespace: (var-get current-namespace), name: (var-get current-name) }) + ) + + (define-read-only (get-current-name) + { namespace: (var-get current-namespace), name: (var-get current-name) } + ) + + (define-private (list-name (namespace (buff 20)) (name (buff 48)) (price uint) (commission )) + (begin + (asserts! (is-none (get-listing)) ERR-ALREADY-LISTED) + (try! (to-bool-response (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + DEPLOYER_CONTRACT_PRINCIPAL + none + ))) + (var-set current-namespace namespace) + (var-set current-name name) + (ok (map-set listings {name: name, namespace: namespace} + {price: price, lister: tx-sender, commission: (contract-of commission)})) + ) + ) + + (define-public (change-price (namespace (buff 20)) (name (buff 48)) (new-price uint) (commission )) + (let ( + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing))) + (asserts! (is-eq tx-sender lister) ERR-NOT-AUTHORIZED) + (ok (map-set listings { namespace: namespace, name: name } { price: new-price, lister: lister, commission: (contract-of commission) })) + ) + ) + + (define-public (unlist-name (namespace (buff 20)) (name (buff 48))) + (let ( + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing))) + (asserts! (or (is-eq tx-sender lister) (is-admin)) ERR-NOT-AUTHORIZED) + (map-delete listings {namespace: namespace, name: name}) + (as-contract + (to-bool-response (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + lister + none + )) + ) + ) + ) + + (define-public (purchase-name (namespace (buff 20)) (name (buff 48)) (expected-price uint) (commission ) (recipient (optional principal))) + (let ( + (new-owner (if (is-some recipient) (unwrap-panic recipient) tx-sender)) + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing)) + (list-commission (get commission listing)) + ) + (asserts! (is-eq (contract-of commission) list-commission) ERR-WRONG-COMMISSION) + (asserts! (is-eq price expected-price) ERR-WRONG-PRICE) + (try! (contract-call? commission pay u0 price)) + (try! (stx-transfer? price tx-sender lister)) + (map-delete listings {namespace: namespace, name: name}) + (to-bool-response (as-contract + (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + new-owner + none + ) + )) + ) + ) + + (define-public (withdraw-stx (amount uint)) + (let ( + (listing (unwrap! (get-listing) ERR-NOT-FOUND)) + (lister (get lister listing)) + ) + (asserts! (or (is-eq tx-sender lister) (is-admin)) ERR-NOT-AUTHORIZED) + (try! (as-contract (stx-transfer? amount tx-sender lister))) + (ok amount) + ) + ) + + (define-private (to-bool-response (value (response bool int))) + (match value + success (ok success) + error (err (to-uint error)))) + + (list-name 0x627463 0x6b61796173636f64656c6172696f u24154589372 'SPNWZ5V2TPWGQGVDR6T7B6RQ4XMGZ4PXTEE0VQ0S.gamma-commission-3-5) + \ No newline at end of file diff --git a/contracts/SP2A81ASA7W0DXK47AQN08RA23WQ0MA528ZTRJYSV/bns-1696174086053-v1.clar b/contracts/SP2A81ASA7W0DXK47AQN08RA23WQ0MA528ZTRJYSV/bns-1696174086053-v1.clar new file mode 100644 index 0000000000..d0e681a1a5 --- /dev/null +++ b/contracts/SP2A81ASA7W0DXK47AQN08RA23WQ0MA528ZTRJYSV/bns-1696174086053-v1.clar @@ -0,0 +1,126 @@ + + ;; version: 1 + ;; name: raffeycassidy + ;; namespace: btc + + (use-trait commission-trait 'SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.commission-trait.commission) + + (define-constant DEPLOYER_CONTRACT_PRINCIPAL (as-contract tx-sender)) + (define-constant COMM-ADDR 'SP7NDX6YRAH6C99WCZJWKF2SYR1GQRF7X6894QSJ) + + (define-constant ERR-ALREADY-LISTED (err u401)) + (define-constant ERR-WRONG-COMMISSION (err u402)) + (define-constant ERR-NOT-AUTHORIZED (err u403)) + (define-constant ERR-NOT-FOUND (err u404)) + (define-constant ERR-WRONG-PRICE (err u405)) + (define-constant ERR-TRANSFER-FAILED (err u500)) + + (define-data-var current-namespace (buff 20) 0x00) + (define-data-var current-name (buff 48) 0x00) + + (define-map listings { namespace: (buff 20), name: (buff 48) } { price: uint, lister: principal, commission: principal }) + + (define-read-only (is-admin) + (is-eq tx-sender COMM-ADDR) + ) + + (define-read-only (get-listing) + (map-get? listings { namespace: (var-get current-namespace), name: (var-get current-name) }) + ) + + (define-read-only (get-current-name) + { namespace: (var-get current-namespace), name: (var-get current-name) } + ) + + (define-private (list-name (namespace (buff 20)) (name (buff 48)) (price uint) (commission )) + (begin + (asserts! (is-none (get-listing)) ERR-ALREADY-LISTED) + (try! (to-bool-response (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + DEPLOYER_CONTRACT_PRINCIPAL + none + ))) + (var-set current-namespace namespace) + (var-set current-name name) + (ok (map-set listings {name: name, namespace: namespace} + {price: price, lister: tx-sender, commission: (contract-of commission)})) + ) + ) + + (define-public (change-price (namespace (buff 20)) (name (buff 48)) (new-price uint) (commission )) + (let ( + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing))) + (asserts! (is-eq tx-sender lister) ERR-NOT-AUTHORIZED) + (ok (map-set listings { namespace: namespace, name: name } { price: new-price, lister: lister, commission: (contract-of commission) })) + ) + ) + + (define-public (unlist-name (namespace (buff 20)) (name (buff 48))) + (let ( + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing))) + (asserts! (or (is-eq tx-sender lister) (is-admin)) ERR-NOT-AUTHORIZED) + (map-delete listings {namespace: namespace, name: name}) + (as-contract + (to-bool-response (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + lister + none + )) + ) + ) + ) + + (define-public (purchase-name (namespace (buff 20)) (name (buff 48)) (expected-price uint) (commission ) (recipient (optional principal))) + (let ( + (new-owner (if (is-some recipient) (unwrap-panic recipient) tx-sender)) + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing)) + (list-commission (get commission listing)) + ) + (asserts! (is-eq (contract-of commission) list-commission) ERR-WRONG-COMMISSION) + (asserts! (is-eq price expected-price) ERR-WRONG-PRICE) + (try! (contract-call? commission pay u0 price)) + (try! (stx-transfer? price tx-sender lister)) + (map-delete listings {namespace: namespace, name: name}) + (to-bool-response (as-contract + (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + new-owner + none + ) + )) + ) + ) + + (define-public (withdraw-stx (amount uint)) + (let ( + (listing (unwrap! (get-listing) ERR-NOT-FOUND)) + (lister (get lister listing)) + ) + (asserts! (or (is-eq tx-sender lister) (is-admin)) ERR-NOT-AUTHORIZED) + (try! (as-contract (stx-transfer? amount tx-sender lister))) + (ok amount) + ) + ) + + (define-private (to-bool-response (value (response bool int))) + (match value + success (ok success) + error (err (to-uint error)))) + + (list-name 0x627463 0x72616666657963617373696479 u24154589372 'SPNWZ5V2TPWGQGVDR6T7B6RQ4XMGZ4PXTEE0VQ0S.gamma-commission-3-5) + \ No newline at end of file diff --git a/contracts/SP2DJD3MZTTSKDJ0ASQZNNRWM78HWDACH1TQM8ZBZ/bns-1696173378975-v1.clar b/contracts/SP2DJD3MZTTSKDJ0ASQZNNRWM78HWDACH1TQM8ZBZ/bns-1696173378975-v1.clar new file mode 100644 index 0000000000..85643826eb --- /dev/null +++ b/contracts/SP2DJD3MZTTSKDJ0ASQZNNRWM78HWDACH1TQM8ZBZ/bns-1696173378975-v1.clar @@ -0,0 +1,126 @@ + + ;; version: 1 + ;; name: hachettelivre + ;; namespace: btc + + (use-trait commission-trait 'SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.commission-trait.commission) + + (define-constant DEPLOYER_CONTRACT_PRINCIPAL (as-contract tx-sender)) + (define-constant COMM-ADDR 'SP7NDX6YRAH6C99WCZJWKF2SYR1GQRF7X6894QSJ) + + (define-constant ERR-ALREADY-LISTED (err u401)) + (define-constant ERR-WRONG-COMMISSION (err u402)) + (define-constant ERR-NOT-AUTHORIZED (err u403)) + (define-constant ERR-NOT-FOUND (err u404)) + (define-constant ERR-WRONG-PRICE (err u405)) + (define-constant ERR-TRANSFER-FAILED (err u500)) + + (define-data-var current-namespace (buff 20) 0x00) + (define-data-var current-name (buff 48) 0x00) + + (define-map listings { namespace: (buff 20), name: (buff 48) } { price: uint, lister: principal, commission: principal }) + + (define-read-only (is-admin) + (is-eq tx-sender COMM-ADDR) + ) + + (define-read-only (get-listing) + (map-get? listings { namespace: (var-get current-namespace), name: (var-get current-name) }) + ) + + (define-read-only (get-current-name) + { namespace: (var-get current-namespace), name: (var-get current-name) } + ) + + (define-private (list-name (namespace (buff 20)) (name (buff 48)) (price uint) (commission )) + (begin + (asserts! (is-none (get-listing)) ERR-ALREADY-LISTED) + (try! (to-bool-response (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + DEPLOYER_CONTRACT_PRINCIPAL + none + ))) + (var-set current-namespace namespace) + (var-set current-name name) + (ok (map-set listings {name: name, namespace: namespace} + {price: price, lister: tx-sender, commission: (contract-of commission)})) + ) + ) + + (define-public (change-price (namespace (buff 20)) (name (buff 48)) (new-price uint) (commission )) + (let ( + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing))) + (asserts! (is-eq tx-sender lister) ERR-NOT-AUTHORIZED) + (ok (map-set listings { namespace: namespace, name: name } { price: new-price, lister: lister, commission: (contract-of commission) })) + ) + ) + + (define-public (unlist-name (namespace (buff 20)) (name (buff 48))) + (let ( + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing))) + (asserts! (or (is-eq tx-sender lister) (is-admin)) ERR-NOT-AUTHORIZED) + (map-delete listings {namespace: namespace, name: name}) + (as-contract + (to-bool-response (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + lister + none + )) + ) + ) + ) + + (define-public (purchase-name (namespace (buff 20)) (name (buff 48)) (expected-price uint) (commission ) (recipient (optional principal))) + (let ( + (new-owner (if (is-some recipient) (unwrap-panic recipient) tx-sender)) + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing)) + (list-commission (get commission listing)) + ) + (asserts! (is-eq (contract-of commission) list-commission) ERR-WRONG-COMMISSION) + (asserts! (is-eq price expected-price) ERR-WRONG-PRICE) + (try! (contract-call? commission pay u0 price)) + (try! (stx-transfer? price tx-sender lister)) + (map-delete listings {namespace: namespace, name: name}) + (to-bool-response (as-contract + (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + new-owner + none + ) + )) + ) + ) + + (define-public (withdraw-stx (amount uint)) + (let ( + (listing (unwrap! (get-listing) ERR-NOT-FOUND)) + (lister (get lister listing)) + ) + (asserts! (or (is-eq tx-sender lister) (is-admin)) ERR-NOT-AUTHORIZED) + (try! (as-contract (stx-transfer? amount tx-sender lister))) + (ok amount) + ) + ) + + (define-private (to-bool-response (value (response bool int))) + (match value + success (ok success) + error (err (to-uint error)))) + + (list-name 0x627463 0x68616368657474656c69767265 u24154589372 'SPNWZ5V2TPWGQGVDR6T7B6RQ4XMGZ4PXTEE0VQ0S.gamma-commission-3-5) + \ No newline at end of file diff --git a/contracts/SP2J0R8H0GY005RTK4YSQDAV63SC6ENXXCRE46FD6/bns-1696122128290-v1.clar b/contracts/SP2J0R8H0GY005RTK4YSQDAV63SC6ENXXCRE46FD6/bns-1696122128290-v1.clar new file mode 100644 index 0000000000..f5bedbce2c --- /dev/null +++ b/contracts/SP2J0R8H0GY005RTK4YSQDAV63SC6ENXXCRE46FD6/bns-1696122128290-v1.clar @@ -0,0 +1,126 @@ + + ;; version: 1 + ;; name: clarus + ;; namespace: btc + + (use-trait commission-trait 'SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.commission-trait.commission) + + (define-constant DEPLOYER_CONTRACT_PRINCIPAL (as-contract tx-sender)) + (define-constant COMM-ADDR 'SP7NDX6YRAH6C99WCZJWKF2SYR1GQRF7X6894QSJ) + + (define-constant ERR-ALREADY-LISTED (err u401)) + (define-constant ERR-WRONG-COMMISSION (err u402)) + (define-constant ERR-NOT-AUTHORIZED (err u403)) + (define-constant ERR-NOT-FOUND (err u404)) + (define-constant ERR-WRONG-PRICE (err u405)) + (define-constant ERR-TRANSFER-FAILED (err u500)) + + (define-data-var current-namespace (buff 20) 0x00) + (define-data-var current-name (buff 48) 0x00) + + (define-map listings { namespace: (buff 20), name: (buff 48) } { price: uint, lister: principal, commission: principal }) + + (define-read-only (is-admin) + (is-eq tx-sender COMM-ADDR) + ) + + (define-read-only (get-listing) + (map-get? listings { namespace: (var-get current-namespace), name: (var-get current-name) }) + ) + + (define-read-only (get-current-name) + { namespace: (var-get current-namespace), name: (var-get current-name) } + ) + + (define-private (list-name (namespace (buff 20)) (name (buff 48)) (price uint) (commission )) + (begin + (asserts! (is-none (get-listing)) ERR-ALREADY-LISTED) + (try! (to-bool-response (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + DEPLOYER_CONTRACT_PRINCIPAL + none + ))) + (var-set current-namespace namespace) + (var-set current-name name) + (ok (map-set listings {name: name, namespace: namespace} + {price: price, lister: tx-sender, commission: (contract-of commission)})) + ) + ) + + (define-public (change-price (namespace (buff 20)) (name (buff 48)) (new-price uint) (commission )) + (let ( + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing))) + (asserts! (is-eq tx-sender lister) ERR-NOT-AUTHORIZED) + (ok (map-set listings { namespace: namespace, name: name } { price: new-price, lister: lister, commission: (contract-of commission) })) + ) + ) + + (define-public (unlist-name (namespace (buff 20)) (name (buff 48))) + (let ( + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing))) + (asserts! (or (is-eq tx-sender lister) (is-admin)) ERR-NOT-AUTHORIZED) + (map-delete listings {namespace: namespace, name: name}) + (as-contract + (to-bool-response (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + lister + none + )) + ) + ) + ) + + (define-public (purchase-name (namespace (buff 20)) (name (buff 48)) (expected-price uint) (commission ) (recipient (optional principal))) + (let ( + (new-owner (if (is-some recipient) (unwrap-panic recipient) tx-sender)) + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing)) + (list-commission (get commission listing)) + ) + (asserts! (is-eq (contract-of commission) list-commission) ERR-WRONG-COMMISSION) + (asserts! (is-eq price expected-price) ERR-WRONG-PRICE) + (try! (contract-call? commission pay u0 price)) + (try! (stx-transfer? price tx-sender lister)) + (map-delete listings {namespace: namespace, name: name}) + (to-bool-response (as-contract + (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + new-owner + none + ) + )) + ) + ) + + (define-public (withdraw-stx (amount uint)) + (let ( + (listing (unwrap! (get-listing) ERR-NOT-FOUND)) + (lister (get lister listing)) + ) + (asserts! (or (is-eq tx-sender lister) (is-admin)) ERR-NOT-AUTHORIZED) + (try! (as-contract (stx-transfer? amount tx-sender lister))) + (ok amount) + ) + ) + + (define-private (to-bool-response (value (response bool int))) + (match value + success (ok success) + error (err (to-uint error)))) + + (list-name 0x627463 0x636c61727573 u1919806764 'SPNWZ5V2TPWGQGVDR6T7B6RQ4XMGZ4PXTEE0VQ0S.gamma-commission-3-5) + \ No newline at end of file diff --git a/contracts/SP2Q1XS0AYWJRHDB647KZQTYKJAZE5KMJ5BRVBVHW/bns-1696172627390-v1.clar b/contracts/SP2Q1XS0AYWJRHDB647KZQTYKJAZE5KMJ5BRVBVHW/bns-1696172627390-v1.clar new file mode 100644 index 0000000000..51e8f77ee8 --- /dev/null +++ b/contracts/SP2Q1XS0AYWJRHDB647KZQTYKJAZE5KMJ5BRVBVHW/bns-1696172627390-v1.clar @@ -0,0 +1,126 @@ + + ;; version: 1 + ;; name: hennesandmauritz + ;; namespace: btc + + (use-trait commission-trait 'SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.commission-trait.commission) + + (define-constant DEPLOYER_CONTRACT_PRINCIPAL (as-contract tx-sender)) + (define-constant COMM-ADDR 'SP7NDX6YRAH6C99WCZJWKF2SYR1GQRF7X6894QSJ) + + (define-constant ERR-ALREADY-LISTED (err u401)) + (define-constant ERR-WRONG-COMMISSION (err u402)) + (define-constant ERR-NOT-AUTHORIZED (err u403)) + (define-constant ERR-NOT-FOUND (err u404)) + (define-constant ERR-WRONG-PRICE (err u405)) + (define-constant ERR-TRANSFER-FAILED (err u500)) + + (define-data-var current-namespace (buff 20) 0x00) + (define-data-var current-name (buff 48) 0x00) + + (define-map listings { namespace: (buff 20), name: (buff 48) } { price: uint, lister: principal, commission: principal }) + + (define-read-only (is-admin) + (is-eq tx-sender COMM-ADDR) + ) + + (define-read-only (get-listing) + (map-get? listings { namespace: (var-get current-namespace), name: (var-get current-name) }) + ) + + (define-read-only (get-current-name) + { namespace: (var-get current-namespace), name: (var-get current-name) } + ) + + (define-private (list-name (namespace (buff 20)) (name (buff 48)) (price uint) (commission )) + (begin + (asserts! (is-none (get-listing)) ERR-ALREADY-LISTED) + (try! (to-bool-response (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + DEPLOYER_CONTRACT_PRINCIPAL + none + ))) + (var-set current-namespace namespace) + (var-set current-name name) + (ok (map-set listings {name: name, namespace: namespace} + {price: price, lister: tx-sender, commission: (contract-of commission)})) + ) + ) + + (define-public (change-price (namespace (buff 20)) (name (buff 48)) (new-price uint) (commission )) + (let ( + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing))) + (asserts! (is-eq tx-sender lister) ERR-NOT-AUTHORIZED) + (ok (map-set listings { namespace: namespace, name: name } { price: new-price, lister: lister, commission: (contract-of commission) })) + ) + ) + + (define-public (unlist-name (namespace (buff 20)) (name (buff 48))) + (let ( + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing))) + (asserts! (or (is-eq tx-sender lister) (is-admin)) ERR-NOT-AUTHORIZED) + (map-delete listings {namespace: namespace, name: name}) + (as-contract + (to-bool-response (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + lister + none + )) + ) + ) + ) + + (define-public (purchase-name (namespace (buff 20)) (name (buff 48)) (expected-price uint) (commission ) (recipient (optional principal))) + (let ( + (new-owner (if (is-some recipient) (unwrap-panic recipient) tx-sender)) + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing)) + (list-commission (get commission listing)) + ) + (asserts! (is-eq (contract-of commission) list-commission) ERR-WRONG-COMMISSION) + (asserts! (is-eq price expected-price) ERR-WRONG-PRICE) + (try! (contract-call? commission pay u0 price)) + (try! (stx-transfer? price tx-sender lister)) + (map-delete listings {namespace: namespace, name: name}) + (to-bool-response (as-contract + (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + new-owner + none + ) + )) + ) + ) + + (define-public (withdraw-stx (amount uint)) + (let ( + (listing (unwrap! (get-listing) ERR-NOT-FOUND)) + (lister (get lister listing)) + ) + (asserts! (or (is-eq tx-sender lister) (is-admin)) ERR-NOT-AUTHORIZED) + (try! (as-contract (stx-transfer? amount tx-sender lister))) + (ok amount) + ) + ) + + (define-private (to-bool-response (value (response bool int))) + (match value + success (ok success) + error (err (to-uint error)))) + + (list-name 0x627463 0x68656e6e6573616e646d61757269747a u24154589372 'SPNWZ5V2TPWGQGVDR6T7B6RQ4XMGZ4PXTEE0VQ0S.gamma-commission-3-5) + \ No newline at end of file diff --git a/contracts/SP726NPK4PJB9MFQ556WPZGA531YAEBBMQ8P9FRM/bns-1696173134362-v1.clar b/contracts/SP726NPK4PJB9MFQ556WPZGA531YAEBBMQ8P9FRM/bns-1696173134362-v1.clar new file mode 100644 index 0000000000..f14bff3ff5 --- /dev/null +++ b/contracts/SP726NPK4PJB9MFQ556WPZGA531YAEBBMQ8P9FRM/bns-1696173134362-v1.clar @@ -0,0 +1,126 @@ + + ;; version: 1 + ;; name: georgvonholtzbrinck + ;; namespace: btc + + (use-trait commission-trait 'SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.commission-trait.commission) + + (define-constant DEPLOYER_CONTRACT_PRINCIPAL (as-contract tx-sender)) + (define-constant COMM-ADDR 'SP7NDX6YRAH6C99WCZJWKF2SYR1GQRF7X6894QSJ) + + (define-constant ERR-ALREADY-LISTED (err u401)) + (define-constant ERR-WRONG-COMMISSION (err u402)) + (define-constant ERR-NOT-AUTHORIZED (err u403)) + (define-constant ERR-NOT-FOUND (err u404)) + (define-constant ERR-WRONG-PRICE (err u405)) + (define-constant ERR-TRANSFER-FAILED (err u500)) + + (define-data-var current-namespace (buff 20) 0x00) + (define-data-var current-name (buff 48) 0x00) + + (define-map listings { namespace: (buff 20), name: (buff 48) } { price: uint, lister: principal, commission: principal }) + + (define-read-only (is-admin) + (is-eq tx-sender COMM-ADDR) + ) + + (define-read-only (get-listing) + (map-get? listings { namespace: (var-get current-namespace), name: (var-get current-name) }) + ) + + (define-read-only (get-current-name) + { namespace: (var-get current-namespace), name: (var-get current-name) } + ) + + (define-private (list-name (namespace (buff 20)) (name (buff 48)) (price uint) (commission )) + (begin + (asserts! (is-none (get-listing)) ERR-ALREADY-LISTED) + (try! (to-bool-response (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + DEPLOYER_CONTRACT_PRINCIPAL + none + ))) + (var-set current-namespace namespace) + (var-set current-name name) + (ok (map-set listings {name: name, namespace: namespace} + {price: price, lister: tx-sender, commission: (contract-of commission)})) + ) + ) + + (define-public (change-price (namespace (buff 20)) (name (buff 48)) (new-price uint) (commission )) + (let ( + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing))) + (asserts! (is-eq tx-sender lister) ERR-NOT-AUTHORIZED) + (ok (map-set listings { namespace: namespace, name: name } { price: new-price, lister: lister, commission: (contract-of commission) })) + ) + ) + + (define-public (unlist-name (namespace (buff 20)) (name (buff 48))) + (let ( + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing))) + (asserts! (or (is-eq tx-sender lister) (is-admin)) ERR-NOT-AUTHORIZED) + (map-delete listings {namespace: namespace, name: name}) + (as-contract + (to-bool-response (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + lister + none + )) + ) + ) + ) + + (define-public (purchase-name (namespace (buff 20)) (name (buff 48)) (expected-price uint) (commission ) (recipient (optional principal))) + (let ( + (new-owner (if (is-some recipient) (unwrap-panic recipient) tx-sender)) + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing)) + (list-commission (get commission listing)) + ) + (asserts! (is-eq (contract-of commission) list-commission) ERR-WRONG-COMMISSION) + (asserts! (is-eq price expected-price) ERR-WRONG-PRICE) + (try! (contract-call? commission pay u0 price)) + (try! (stx-transfer? price tx-sender lister)) + (map-delete listings {namespace: namespace, name: name}) + (to-bool-response (as-contract + (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + new-owner + none + ) + )) + ) + ) + + (define-public (withdraw-stx (amount uint)) + (let ( + (listing (unwrap! (get-listing) ERR-NOT-FOUND)) + (lister (get lister listing)) + ) + (asserts! (or (is-eq tx-sender lister) (is-admin)) ERR-NOT-AUTHORIZED) + (try! (as-contract (stx-transfer? amount tx-sender lister))) + (ok amount) + ) + ) + + (define-private (to-bool-response (value (response bool int))) + (match value + success (ok success) + error (err (to-uint error)))) + + (list-name 0x627463 0x67656f7267766f6e686f6c747a6272696e636b u24154589372 'SPNWZ5V2TPWGQGVDR6T7B6RQ4XMGZ4PXTEE0VQ0S.gamma-commission-3-5) + \ No newline at end of file diff --git a/contracts/SPC61GG6XBVNAZMQVAW9RBNN3DEQY6E12S17SEFN/bns-1696172951449-v1.clar b/contracts/SPC61GG6XBVNAZMQVAW9RBNN3DEQY6E12S17SEFN/bns-1696172951449-v1.clar new file mode 100644 index 0000000000..080477a1b6 --- /dev/null +++ b/contracts/SPC61GG6XBVNAZMQVAW9RBNN3DEQY6E12S17SEFN/bns-1696172951449-v1.clar @@ -0,0 +1,126 @@ + + ;; version: 1 + ;; name: penguinrandomhouse + ;; namespace: btc + + (use-trait commission-trait 'SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.commission-trait.commission) + + (define-constant DEPLOYER_CONTRACT_PRINCIPAL (as-contract tx-sender)) + (define-constant COMM-ADDR 'SP7NDX6YRAH6C99WCZJWKF2SYR1GQRF7X6894QSJ) + + (define-constant ERR-ALREADY-LISTED (err u401)) + (define-constant ERR-WRONG-COMMISSION (err u402)) + (define-constant ERR-NOT-AUTHORIZED (err u403)) + (define-constant ERR-NOT-FOUND (err u404)) + (define-constant ERR-WRONG-PRICE (err u405)) + (define-constant ERR-TRANSFER-FAILED (err u500)) + + (define-data-var current-namespace (buff 20) 0x00) + (define-data-var current-name (buff 48) 0x00) + + (define-map listings { namespace: (buff 20), name: (buff 48) } { price: uint, lister: principal, commission: principal }) + + (define-read-only (is-admin) + (is-eq tx-sender COMM-ADDR) + ) + + (define-read-only (get-listing) + (map-get? listings { namespace: (var-get current-namespace), name: (var-get current-name) }) + ) + + (define-read-only (get-current-name) + { namespace: (var-get current-namespace), name: (var-get current-name) } + ) + + (define-private (list-name (namespace (buff 20)) (name (buff 48)) (price uint) (commission )) + (begin + (asserts! (is-none (get-listing)) ERR-ALREADY-LISTED) + (try! (to-bool-response (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + DEPLOYER_CONTRACT_PRINCIPAL + none + ))) + (var-set current-namespace namespace) + (var-set current-name name) + (ok (map-set listings {name: name, namespace: namespace} + {price: price, lister: tx-sender, commission: (contract-of commission)})) + ) + ) + + (define-public (change-price (namespace (buff 20)) (name (buff 48)) (new-price uint) (commission )) + (let ( + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing))) + (asserts! (is-eq tx-sender lister) ERR-NOT-AUTHORIZED) + (ok (map-set listings { namespace: namespace, name: name } { price: new-price, lister: lister, commission: (contract-of commission) })) + ) + ) + + (define-public (unlist-name (namespace (buff 20)) (name (buff 48))) + (let ( + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing))) + (asserts! (or (is-eq tx-sender lister) (is-admin)) ERR-NOT-AUTHORIZED) + (map-delete listings {namespace: namespace, name: name}) + (as-contract + (to-bool-response (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + lister + none + )) + ) + ) + ) + + (define-public (purchase-name (namespace (buff 20)) (name (buff 48)) (expected-price uint) (commission ) (recipient (optional principal))) + (let ( + (new-owner (if (is-some recipient) (unwrap-panic recipient) tx-sender)) + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing)) + (list-commission (get commission listing)) + ) + (asserts! (is-eq (contract-of commission) list-commission) ERR-WRONG-COMMISSION) + (asserts! (is-eq price expected-price) ERR-WRONG-PRICE) + (try! (contract-call? commission pay u0 price)) + (try! (stx-transfer? price tx-sender lister)) + (map-delete listings {namespace: namespace, name: name}) + (to-bool-response (as-contract + (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + new-owner + none + ) + )) + ) + ) + + (define-public (withdraw-stx (amount uint)) + (let ( + (listing (unwrap! (get-listing) ERR-NOT-FOUND)) + (lister (get lister listing)) + ) + (asserts! (or (is-eq tx-sender lister) (is-admin)) ERR-NOT-AUTHORIZED) + (try! (as-contract (stx-transfer? amount tx-sender lister))) + (ok amount) + ) + ) + + (define-private (to-bool-response (value (response bool int))) + (match value + success (ok success) + error (err (to-uint error)))) + + (list-name 0x627463 0x70656e6775696e72616e646f6d686f757365 u24154589372 'SPNWZ5V2TPWGQGVDR6T7B6RQ4XMGZ4PXTEE0VQ0S.gamma-commission-3-5) + \ No newline at end of file diff --git a/contracts/SPYH4YZM08JF1JHX914JMNMV6EQR3W5AEPAZMKVH/bns-1696173699808-v1.clar b/contracts/SPYH4YZM08JF1JHX914JMNMV6EQR3W5AEPAZMKVH/bns-1696173699808-v1.clar new file mode 100644 index 0000000000..c07109f746 --- /dev/null +++ b/contracts/SPYH4YZM08JF1JHX914JMNMV6EQR3W5AEPAZMKVH/bns-1696173699808-v1.clar @@ -0,0 +1,126 @@ + + ;; version: 1 + ;; name: shailenewoodley + ;; namespace: btc + + (use-trait commission-trait 'SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.commission-trait.commission) + + (define-constant DEPLOYER_CONTRACT_PRINCIPAL (as-contract tx-sender)) + (define-constant COMM-ADDR 'SP7NDX6YRAH6C99WCZJWKF2SYR1GQRF7X6894QSJ) + + (define-constant ERR-ALREADY-LISTED (err u401)) + (define-constant ERR-WRONG-COMMISSION (err u402)) + (define-constant ERR-NOT-AUTHORIZED (err u403)) + (define-constant ERR-NOT-FOUND (err u404)) + (define-constant ERR-WRONG-PRICE (err u405)) + (define-constant ERR-TRANSFER-FAILED (err u500)) + + (define-data-var current-namespace (buff 20) 0x00) + (define-data-var current-name (buff 48) 0x00) + + (define-map listings { namespace: (buff 20), name: (buff 48) } { price: uint, lister: principal, commission: principal }) + + (define-read-only (is-admin) + (is-eq tx-sender COMM-ADDR) + ) + + (define-read-only (get-listing) + (map-get? listings { namespace: (var-get current-namespace), name: (var-get current-name) }) + ) + + (define-read-only (get-current-name) + { namespace: (var-get current-namespace), name: (var-get current-name) } + ) + + (define-private (list-name (namespace (buff 20)) (name (buff 48)) (price uint) (commission )) + (begin + (asserts! (is-none (get-listing)) ERR-ALREADY-LISTED) + (try! (to-bool-response (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + DEPLOYER_CONTRACT_PRINCIPAL + none + ))) + (var-set current-namespace namespace) + (var-set current-name name) + (ok (map-set listings {name: name, namespace: namespace} + {price: price, lister: tx-sender, commission: (contract-of commission)})) + ) + ) + + (define-public (change-price (namespace (buff 20)) (name (buff 48)) (new-price uint) (commission )) + (let ( + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing))) + (asserts! (is-eq tx-sender lister) ERR-NOT-AUTHORIZED) + (ok (map-set listings { namespace: namespace, name: name } { price: new-price, lister: lister, commission: (contract-of commission) })) + ) + ) + + (define-public (unlist-name (namespace (buff 20)) (name (buff 48))) + (let ( + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing))) + (asserts! (or (is-eq tx-sender lister) (is-admin)) ERR-NOT-AUTHORIZED) + (map-delete listings {namespace: namespace, name: name}) + (as-contract + (to-bool-response (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + lister + none + )) + ) + ) + ) + + (define-public (purchase-name (namespace (buff 20)) (name (buff 48)) (expected-price uint) (commission ) (recipient (optional principal))) + (let ( + (new-owner (if (is-some recipient) (unwrap-panic recipient) tx-sender)) + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing)) + (list-commission (get commission listing)) + ) + (asserts! (is-eq (contract-of commission) list-commission) ERR-WRONG-COMMISSION) + (asserts! (is-eq price expected-price) ERR-WRONG-PRICE) + (try! (contract-call? commission pay u0 price)) + (try! (stx-transfer? price tx-sender lister)) + (map-delete listings {namespace: namespace, name: name}) + (to-bool-response (as-contract + (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + new-owner + none + ) + )) + ) + ) + + (define-public (withdraw-stx (amount uint)) + (let ( + (listing (unwrap! (get-listing) ERR-NOT-FOUND)) + (lister (get lister listing)) + ) + (asserts! (or (is-eq tx-sender lister) (is-admin)) ERR-NOT-AUTHORIZED) + (try! (as-contract (stx-transfer? amount tx-sender lister))) + (ok amount) + ) + ) + + (define-private (to-bool-response (value (response bool int))) + (match value + success (ok success) + error (err (to-uint error)))) + + (list-name 0x627463 0x736861696c656e65776f6f646c6579 u24154589372 'SPNWZ5V2TPWGQGVDR6T7B6RQ4XMGZ4PXTEE0VQ0S.gamma-commission-3-5) + \ No newline at end of file diff --git a/contracts/SPZWAF8KCY1T37V68DER5Y2W04D280QH6V0ZZPQC/bns-1696172801839-v1.clar b/contracts/SPZWAF8KCY1T37V68DER5Y2W04D280QH6V0ZZPQC/bns-1696172801839-v1.clar new file mode 100644 index 0000000000..d079d346b1 --- /dev/null +++ b/contracts/SPZWAF8KCY1T37V68DER5Y2W04D280QH6V0ZZPQC/bns-1696172801839-v1.clar @@ -0,0 +1,126 @@ + + ;; version: 1 + ;; name: citizenwatch + ;; namespace: btc + + (use-trait commission-trait 'SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.commission-trait.commission) + + (define-constant DEPLOYER_CONTRACT_PRINCIPAL (as-contract tx-sender)) + (define-constant COMM-ADDR 'SP7NDX6YRAH6C99WCZJWKF2SYR1GQRF7X6894QSJ) + + (define-constant ERR-ALREADY-LISTED (err u401)) + (define-constant ERR-WRONG-COMMISSION (err u402)) + (define-constant ERR-NOT-AUTHORIZED (err u403)) + (define-constant ERR-NOT-FOUND (err u404)) + (define-constant ERR-WRONG-PRICE (err u405)) + (define-constant ERR-TRANSFER-FAILED (err u500)) + + (define-data-var current-namespace (buff 20) 0x00) + (define-data-var current-name (buff 48) 0x00) + + (define-map listings { namespace: (buff 20), name: (buff 48) } { price: uint, lister: principal, commission: principal }) + + (define-read-only (is-admin) + (is-eq tx-sender COMM-ADDR) + ) + + (define-read-only (get-listing) + (map-get? listings { namespace: (var-get current-namespace), name: (var-get current-name) }) + ) + + (define-read-only (get-current-name) + { namespace: (var-get current-namespace), name: (var-get current-name) } + ) + + (define-private (list-name (namespace (buff 20)) (name (buff 48)) (price uint) (commission )) + (begin + (asserts! (is-none (get-listing)) ERR-ALREADY-LISTED) + (try! (to-bool-response (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + DEPLOYER_CONTRACT_PRINCIPAL + none + ))) + (var-set current-namespace namespace) + (var-set current-name name) + (ok (map-set listings {name: name, namespace: namespace} + {price: price, lister: tx-sender, commission: (contract-of commission)})) + ) + ) + + (define-public (change-price (namespace (buff 20)) (name (buff 48)) (new-price uint) (commission )) + (let ( + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing))) + (asserts! (is-eq tx-sender lister) ERR-NOT-AUTHORIZED) + (ok (map-set listings { namespace: namespace, name: name } { price: new-price, lister: lister, commission: (contract-of commission) })) + ) + ) + + (define-public (unlist-name (namespace (buff 20)) (name (buff 48))) + (let ( + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing))) + (asserts! (or (is-eq tx-sender lister) (is-admin)) ERR-NOT-AUTHORIZED) + (map-delete listings {namespace: namespace, name: name}) + (as-contract + (to-bool-response (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + lister + none + )) + ) + ) + ) + + (define-public (purchase-name (namespace (buff 20)) (name (buff 48)) (expected-price uint) (commission ) (recipient (optional principal))) + (let ( + (new-owner (if (is-some recipient) (unwrap-panic recipient) tx-sender)) + (listing (unwrap! (map-get? listings {namespace: namespace, name: name}) ERR-NOT-FOUND)) + (price (get price listing)) + (lister (get lister listing)) + (list-commission (get commission listing)) + ) + (asserts! (is-eq (contract-of commission) list-commission) ERR-WRONG-COMMISSION) + (asserts! (is-eq price expected-price) ERR-WRONG-PRICE) + (try! (contract-call? commission pay u0 price)) + (try! (stx-transfer? price tx-sender lister)) + (map-delete listings {namespace: namespace, name: name}) + (to-bool-response (as-contract + (contract-call? + 'SP000000000000000000002Q6VF78.bns + name-transfer + namespace + name + new-owner + none + ) + )) + ) + ) + + (define-public (withdraw-stx (amount uint)) + (let ( + (listing (unwrap! (get-listing) ERR-NOT-FOUND)) + (lister (get lister listing)) + ) + (asserts! (or (is-eq tx-sender lister) (is-admin)) ERR-NOT-AUTHORIZED) + (try! (as-contract (stx-transfer? amount tx-sender lister))) + (ok amount) + ) + ) + + (define-private (to-bool-response (value (response bool int))) + (match value + success (ok success) + error (err (to-uint error)))) + + (list-name 0x627463 0x636974697a656e7761746368 u24154589372 'SPNWZ5V2TPWGQGVDR6T7B6RQ4XMGZ4PXTEE0VQ0S.gamma-commission-3-5) + \ No newline at end of file diff --git a/last-block.txt b/last-block.txt index 603ebff859..24e04c6eee 100644 --- a/last-block.txt +++ b/last-block.txt @@ -1 +1 @@ -122975 \ No newline at end of file +123099 \ No newline at end of file