Source Code

(use-trait nft-trait 'SP2PABAF9FTAJYNFZH93XENAJ8FVY99RRM50D2JG9.nft-trait.nft-trait)
(use-trait tradables-trait .tradable-trait.tradables-trait)

(define-trait marketplace-unlist-type-a 
  (
    (unlist-asset (<tradables-trait> uint) (response bool uint))
  )
)
  
(define-trait marketplace-unlist-type-b 
  (
    (unlist-item (<nft-trait> uint uint) (response bool uint))
  )
)
  
(define-trait marketplace-unlist-type-c 
  (
    (unlist-item (<nft-trait> (string-ascii 256) uint) (response bool uint))
  )
)

(define-trait marketplace-list 
  (
    (list-asset (<tradables-trait> uint uint uint) (response bool uint))
  )
)
  
(define-public (change-price-a (first-marketplace <marketplace-unlist-type-a>) (second-marketplace <marketplace-list>)  
                               (tradables <tradables-trait>) (tradable-id uint) (new-price uint) (commission uint))
  (begin
    (try! (contract-call? first-marketplace unlist-asset tradables tradable-id))
    (contract-call? second-marketplace list-asset tradables tradable-id new-price commission)
  )
)

(define-public (change-price-b (first-marketplace <marketplace-unlist-type-b>) (second-marketplace <marketplace-list>) 
                               (collection <nft-trait>) (collection-id uint) (item-id uint)
                               (tradables <tradables-trait>) (new-price uint) (commission uint))
  (begin
    (try! (contract-call? first-marketplace unlist-item collection collection-id item-id))
    (contract-call? second-marketplace list-asset tradables item-id new-price commission)
  )
)

(define-public (change-price-c (first-marketplace <marketplace-unlist-type-c>) (second-marketplace <marketplace-list>) 
                               (collection <nft-trait>) (collection-id (string-ascii 256)) (item-id uint)
                               (tradables <tradables-trait>) (new-price uint) (commission uint))
  (begin
    (try! (contract-call? first-marketplace unlist-item collection collection-id item-id))
    (contract-call? second-marketplace list-asset tradables item-id new-price commission)
  )
)

Functions (3)

FunctionAccessArgs
change-price-apublicfirst-marketplace: <marketplace-unlist-type-a>, second-marketplace: <marketplace-list>, tradables: <tradables-trait>, tradable-id: uint, new-price: uint, commission: uint
change-price-bpublicfirst-marketplace: <marketplace-unlist-type-b>, second-marketplace: <marketplace-list>, collection: <nft-trait>, collection-id: uint, item-id: uint, tradables: <tradables-trait>, new-price: uint, commission: uint
change-price-cpublicfirst-marketplace: <marketplace-unlist-type-c>, second-marketplace: <marketplace-list>, collection: <nft-trait>, collection-id: (string-ascii 256