(impl-trait 'SP248HH800501WYSG7Z2SS1ZWHQW1GGH85ME34NT2.nft-trait.nft-trait)

(define-constant ERR-PRICE-MUST-BE-OVER-100 (err u974))
(define-constant ERR-INSUFFICIENT-STX (err u975))
(define-constant ERR-TOKEN-NOT-FOR-SALE (err u976))
(define-constant ERR-NOT-AUTHORIZED (err u978))
(define-constant ERR-DATA-FAILED-TO-UNWRAP (err u986))
(define-constant ERR-FAILED-TO-SET-TOKEN-DATA (err u995))
(define-constant ERR-TOKEN-DOES-NOT-EXIST (err u997))
(define-constant ERR-GETTING-TOKEN-OWNER (err u999))

(define-constant token-metadata "ipfs://QmdQkyKK2amGytYZLSurU9VFzyxpiMNj1CNayWkyLZf66f")
(define-constant gmer 'SP2R4ZCMA92WV07XHRDTN6HTJCF7B8B0KYQ4SM73D)
(define-non-fungible-token gm-silver uint)
(define-data-var admin principal tx-sender)
(define-data-var last-token-id uint u0)
(define-map token-data {token-id: uint} {price: uint, for-sale: bool})

(define-private (mint-token-transfer (recipient principal))
  (let ((token-id (+ u1 (var-get last-token-id)))) 
    (try! (nft-mint? gm-silver token-id gmer))
    (try! (nft-transfer? gm-silver token-id gmer recipient))
    (map-insert token-data {token-id: token-id} {price: u64460000, for-sale: false})
    (var-set last-token-id token-id)
    (ok token-id)
  )
)

(define-private (pay-share (to-pay uint) (recipient principal))
  (if (not (is-eq tx-sender recipient))
    (stx-transfer? to-pay tx-sender recipient)
    (ok false)
  )
)

(define-public (change-admin (new-admin principal))
  (begin 
    (asserts! (is-eq tx-sender (var-get admin)) ERR-NOT-AUTHORIZED)
    (ok (var-set admin new-admin))
  )
)

(define-public (purchase (token-id uint))
  (let 
    (
      (data (unwrap! (map-get? token-data { token-id: token-id }) ERR-DATA-FAILED-TO-UNWRAP))
      (is-token-for-sale (get for-sale data))
      (token-price (get price data))
      (token-owner (unwrap! (nft-get-owner? gm-silver token-id) ERR-GETTING-TOKEN-OWNER))
    )
    (asserts! is-token-for-sale ERR-TOKEN-NOT-FOR-SALE)
    (asserts! (>= (stx-get-balance tx-sender) token-price) ERR-INSUFFICIENT-STX)
    (try! (pay token-price token-owner))
    (try! (nft-transfer? gm-silver token-id token-owner tx-sender))
    (ok (map-set token-data { token-id: token-id } {for-sale: false, price: token-price}))
  )
)

(define-public (pay (price uint) (owner-address principal))
  (begin
    (try! (pay-share (/ (* price u10) u100) (var-get admin))) ;; Layer royalty
    (try! (pay-share (/ (* price u5) u100) gmer)) ;; Creator royalty
    (try! (pay-share (/ (* price u85) u100) owner-address)) ;; Owner share
    (ok true)
  )
)

(define-public (complete-sale (token-id uint) (new-owner-address principal) (old-owner-address principal) (token-price uint))
  (begin 
    (asserts! (is-eq tx-sender (var-get admin)) ERR-NOT-AUTHORIZED)
    (try! (pay token-price old-owner-address))
    (try! (nft-transfer? gm-silver token-id tx-sender new-owner-address))
    (ok true)
  )
)

(define-public (set-token-price-data (token-id uint) (price uint) (for-sale bool))
  (begin 
    (asserts! (is-eq (some tx-sender) (nft-get-owner? gm-silver token-id)) ERR-NOT-AUTHORIZED)
    (asserts! (>= price u100) ERR-PRICE-MUST-BE-OVER-100)
    (ok (map-set token-data {token-id: token-id} {price: price, for-sale: for-sale}))
  )
)

(define-read-only (get-all-token-data (token-id uint))
  (ok {
      token-id: token-id,
      token-metadata: token-metadata,
      token-data: (unwrap! (map-get? token-data {token-id: token-id}) ERR-TOKEN-DOES-NOT-EXIST),
      token-owner: (unwrap! (nft-get-owner? gm-silver token-id) ERR-GETTING-TOKEN-OWNER),
    })
)

(define-public (delete-nft (token-id uint))
  (let ((nft-owner (unwrap! (nft-get-owner? gm-silver token-id) ERR-GETTING-TOKEN-OWNER)))
    (asserts! (is-eq tx-sender nft-owner) ERR-NOT-AUTHORIZED)
    (nft-burn? gm-silver token-id nft-owner)
  )
)

(define-public (transfer (token-id uint) (owner principal) (recipient principal))
  (begin 
    (asserts! (is-eq (some tx-sender) (nft-get-owner? gm-silver token-id)) ERR-NOT-AUTHORIZED)
    (try! (nft-transfer? gm-silver token-id owner recipient))
    (ok (map-set token-data {token-id: token-id} (merge (unwrap! (map-get? token-data {token-id: token-id}) ERR-FAILED-TO-SET-TOKEN-DATA) {for-sale: false})))
  )
)

(define-read-only (get-owner (token-id uint))
  (ok (nft-get-owner? gm-silver token-id))
)

(define-read-only (get-last-token-id)
  (ok (var-get last-token-id))
)

(define-read-only (get-token-uri (token-id uint))
  (ok (some token-metadata))
)

(mint-token-transfer 'SP11H9D403WD6A9GXFT8JVSV69V62C9TJ6GRCBYXD)
(mint-token-transfer 'SP2HKTPSG8XNKWR87DD7B9KBTQ5NJ8WEE340NSCE8)
(mint-token-transfer 'SP2W7K88YTYFEAXR5WE5MYWFJZ0KE6433Y4X9QAG4)
(mint-token-transfer 'SP2AGMMPZNA8RHQZ93GQJVBA33W1HX4SXJSYV1HQN)
(mint-token-transfer 'SP2FAY5XSD5PR3H2XN8EVB1NXT3B6Z8G9P3N383RP)
(mint-token-transfer 'SPMCV5NJDXJ6XBDF9ZMZ7PEG7B06FWGWZ8P7YVQW)
(mint-token-transfer 'SP293M874EPBS7H5EFF1DYAR3P5V1CNKVPK78GXG3)
(mint-token-transfer 'SPP00YEA89YVYYBYT423FHX3D0KYWXEGSBB442XS)
(mint-token-transfer 'SP1GV16H3B3JA72X496VEPX5FFHD0F97RMX8DCX2J)
(mint-token-transfer 'SPHTME3Z11YK1AGKC0MBNNXKCPRC9WR52MDDV9GK)
(mint-token-transfer 'SP14V9BXQR5A6M32REYYFDBQQE7FA0Q2R41GD90NK)
(mint-token-transfer 'SPP96RTM53XTT2W2WBJESDQFM9BGDHG39RD8WQ4G)
(mint-token-transfer 'SP24B77W7NZ924CVA4W9YYPV5Y6WRJRMY5Q8H8QXA)
(mint-token-transfer 'SP2RA3BH5HHHZ1B44HMNGZJEC7BN62Q0W4ZBWGE9D)
(mint-token-transfer 'SP269627XWJDHYNM5NZ7130Q0H67QJGGAMGHE0HME)
(mint-token-transfer 'SPYMF4ARBZEVT61CKV8RBQHC6NCGCAF7ANHA23VG)
(mint-token-transfer 'SP1TG3MPVHSWZPM7AZMQ3TQD4JHQ1FCP2JZAK8YMG)
(mint-token-transfer 'SP2BDMSXM0T345W5SEDGVPK43ZTWBR52A58B1VPHJ)
(mint-token-transfer 'SP2B11WCSEVQDNY3JQZP37V8J3PTPC7NJKBZN7700)
(mint-token-transfer 'SP1XHYZ6PJ4SCCKEHKRYJ791HGS19GENZG2N4Q0T6)
(mint-token-transfer 'SP3JYQHBSXSY49DEHYS3NY74WD3HEXWPZ7XP23CWE)
(mint-token-transfer 'SPX5F21SSNTWTM55F24TM03S095QYQM7JARDA1F)
(mint-token-transfer 'SP131RF0C0DFF0KZC2TRGRGYB9WETMQ7FJRF4K3ZQ)
(mint-token-transfer 'SP3R8APMXYQRQC6JZAE376ZDVKJAQG5KYMTPV3F9E)
(mint-token-transfer 'SP1MFKCXVF13ZBF6M4MBFVXTV3JE3DAJDH6EW52F)
(mint-token-transfer 'SP3Q1CZZNXM95DZVTB7VBND4FW4B2E0YXM2KJ7FAH)
(mint-token-transfer 'SP2K2WYDF3GJP6TKFVBC43QHRB0BQEKA5NC9QCAZG)
(mint-token-transfer 'SP2QA9DW0G8QS8D6S4A8VV15RZMFVBAAN7XX4ZW8D)
(mint-token-transfer 'SP2ZAYH7XFYJZBCJVCZEBKQFVA8Q8SRVJ48ZY89VH)
(mint-token-transfer 'SP3R566RQQ8J023DBZ1AZQYJG1MZZRQ8P3ZKVZ3V1)
(mint-token-transfer 'SP1XJ6GNTDVF6HR1VHPQDMFZJY87D9W6TGMH3QCP)
(mint-token-transfer 'SPXQS1T1T2BKGSHH8H75PVFEY0R1X39F0B3MQWTJ)
(mint-token-transfer 'SP132M1BAAZR2NWH4ZD550E995YH37H04C0TFJ3Y5)
(mint-token-transfer 'SP65CAZ20QFDRTP5X7A9KGJ5MFCE2QBZ24XS0G2S)
(mint-token-transfer 'SPJ81C2WPQHFB6XTG518JKPABWM639R2X0B331XE)
(mint-token-transfer 'SP235VD14JSA9EZJT2SPWAYS70BV5QFGF9JFS754A)
(mint-token-transfer 'SP38M8SBRPPJ05VXBBJMHRDTNGRXX48YM4PH31MTN)
(mint-token-transfer 'SP3477JMVDZ9CED6XVXVK1GYZBDYR2TVS32XTAC35)
(mint-token-transfer 'SPQ1KYXNRXZSFSJMF5NMN8WFF00GJHBW9S0RA6PK)
(mint-token-transfer 'SPG34S51QV6YTZQGVRPZY9323MY4BTCFAFP1HR25)
(mint-token-transfer 'SP2891F1DM9QJ14F711C62NQS3RQG4VFV6ZTEEN60)
(mint-token-transfer 'SP343J7DNE122AVCSC4HEK4MF871PW470ZSXJ5K66)
(mint-token-transfer 'SP32V5EAKRWZ66VVA67XGDK18VYMZM5NT7NP98M9)
(mint-token-transfer 'SP329G766AV8Z01X9EEAHPDQ4WDJXT2A0XB383MGP)
(mint-token-transfer 'SPRXM4K11S8HJCEAHTTQ8531VKX5GC5YATCM1JK9)
(mint-token-transfer 'SP30HDQ1WGZRD1YTBRPPPYZHKQJ7E8CVYZCTHXKVX)
(mint-token-transfer 'SP36DHK0QACYS0FNVZ0Q5HMA10CD29XZNE029QX1F)
(mint-token-transfer 'SP95KMAB3Y1MXDJMHP7ZA6WSKA9M1XSJQZ2VRDJJ)
(mint-token-transfer 'SP372Y3DA0XN9J9Q98RTVZ8SD65BRD8Y2S6P8K6Y7)
(mint-token-transfer 'SPZ4D1WZVZEMSDA5J3QGYCSWKVK75JTWDZ100RVT)
(mint-token-transfer 'SP1B76S9HHKFY6768SBATCMXQPAYWEPC97XCP9313)
(mint-token-transfer 'SPYDBZAG3D3BNF0CH26JN304SRKF847QJWCFR22W)
(mint-token-transfer 'SPBJAB8481H9ZJYZPCF5VSN7HAVRRN0MP6JGSX6V)
(mint-token-transfer 'SP1J1AVNYK4GK171NXJ1W9HKBC9F0BFS1DS6NSBBT)
(mint-token-transfer 'SP12KRW8TGEXQFC98F98Q2E18RX7W00C887PE3TE3)
(mint-token-transfer 'SP2NHZDAMMEEASE4DKHYYCVAG8RF8PA7YHPPW40BX)
(mint-token-transfer 'SP2E60CSEFJG3TNQR1P5H4D9RYP8MJ7FW0FVCSR34)
(mint-token-transfer 'SP293GDB0T7KMJRQSAHQ2PQYVASD1JZ156F2PR7CB)
(mint-token-transfer 'SP3RW544YBNV88HP4N55VT09G1G56YKNV4DA06Z0Q)
(mint-token-transfer 'SPPMGZTRGMBVCFW3RMEVQJEF26MW9G6EKT51EMD8)
(mint-token-transfer 'SP117F7X5RJ0J1AK0R67B0PGP9EPQFFSCVQNASZBC)
(mint-token-transfer 'SP1DM2AXQ0RKT7JMWNHFKDD75GSWVK0S2XD84TE1K)
(mint-token-transfer 'SPCQ7F0ER71V0J3RD0CJB6J06ZEPE5W23YKTX2Y5)
(mint-token-transfer 'SP39N703C8AACS7EEBWX5VJ4B97RCN6A07F3X7R0)
(mint-token-transfer 'SP12C6P5H1YPX2F1683XF6EPQE5PW7EPDM6J6KYTF)
(mint-token-transfer 'SP2W4D12PNEQW0CN8C2S02JA1JCT768QYN481G94T)
(mint-token-transfer 'SP1N09G5ME7DSAT82GTCQS13E6Q3TXX7CY2MG8HM5)
(mint-token-transfer 'SP2507VNQZC9VBXM7X7KB4SF4QJDJRSWHG4V39WPY)
(mint-token-transfer 'SP3NB12WE07V7BG2JH8ZATSZZ9WM55NYDB55N6CMZ)
(mint-token-transfer 'SP9ED821QKP4AEHATX7T6PFYK0CSKA791TF9N38X)
(mint-token-transfer 'SP1C4P84D6AJYPQMZT1K5RRY5S5XG3Z3TEKZX5BXH)
(mint-token-transfer 'SPVWHT8FK3B5AK77BQ62Z81PSM8DC4W565NW1TNK)
(mint-token-transfer 'SP39JWPMH9AN5E4SK1VMTXHPB2673ZPQTMEE217VR)
(mint-token-transfer 'SP1E8RFBN1D109GCJRHY6GNW1SR6FFDZ6Y75QPFAA)
(mint-token-transfer 'SP1PEWTW4XK1K0JFWKFWXDDYQCSFEVRESWWCN9MEB)
(mint-token-transfer 'SP3PAV4GYANANYC3EBWQZ6V2XV6J9ABXJSAV3NH6Q)
(mint-token-transfer 'SP16W7S76K0A7HAM176B73RQ8MD75E9VJ8VM256WH)
(mint-token-transfer 'SP1MNMYQS7YEM4F43T47T6KBRRP1NQVZXJNJZS55V)
(mint-token-transfer 'SP3E452CYPKM1SXX9SZGCYY9JH8VMW6TXKE2W1TDJ)
(mint-token-transfer 'SPBJJ2N4FXHGYHJ9KVCVCJ2XBBFFGXVZKR904GMY)
(mint-token-transfer 'SP3HCNR789SGMN18Y4SYBXBP38NB1BPRFVA9P010M)
(mint-token-transfer 'SP1C05YRGY8PHNEY55MTG2FSC3XS4AXE3H1KAYPCQ)
(mint-token-transfer 'SPWKDKPZ3QDPQGDADWJ3EWPAP14CB1N1HDQ897W5)
(mint-token-transfer 'SP26JFEX02PSM119G3FS44Z9083A2YCWEJJKXWN1F)
(mint-token-transfer 'SP1GTJ7X1EQQENTJ0500GW6NFD4R12TYZA9PBGBFJ)
(mint-token-transfer 'SPZ96YWTJHGP63D1REMQDY7G4NP477ANKA33PPZZ)
(mint-token-transfer 'SP33R9432VEBZ15J42Z3M9K0KSEZ2MNEPCK79J2DN)
(mint-token-transfer 'SP32ZYEZGWHHFQ5RX2WMFVDXR77C5WWQP4EK7E6HC)
(mint-token-transfer 'SP1Z3KPCEY3PYY03A9BZ3RVYKTG0G8J7G8587NKV4)
(mint-token-transfer 'SP3X9696B2ZKFMBHEJF1RBWMYDQ2YGXDA11GFYTE5)
(mint-token-transfer 'SPJT3WWPT4Q925GDE9BBZRC5MNZ3SMP8G7VMJSNS)
(mint-token-transfer 'SP3RH6EESRD39W6GEMB37VRGJ21P25TN3DZK7CBND)
(mint-token-transfer 'SPW5TXSS62ASTVDC9QAE7YADFAWD1EBKVPW8GS6P)
(mint-token-transfer 'SPT1R8D5D6JTB2DVZKBX8F4DVXXGNYDGMWS9V3ZQ)
(mint-token-transfer 'SP3TXRVAW3BGQ1103M7741MBF2GG0PJKZP4DYGH1S)
(mint-token-transfer 'SP31T35VH32TR0R42BTT235DTTA7R0GG599VQXC68)
(mint-token-transfer 'SP2Z9D6XKYYBD0JQ1774GRTZQK7VS4H4DH8XQQ0WE)
(mint-token-transfer 'SP26GZCVY8FYHNZ6C73W68TCFJHS8F8C9E772XX7X)
(mint-token-transfer 'SP2MDEE7BMXWTNST6PKE8MGP2EWD6412ZNPTYMQ5S)
(mint-token-transfer 'SP3JXBAP51JSPMQ523QCXANGN2T78KXB46R466QM2)
(mint-token-transfer 'SP3ZH954ZSS44HQPQYMXFHEZ2H3CNH82HTDP5FAHD)
(mint-token-transfer 'SP6Y9FQ6HE0HZ4G5XVT9PG0XZJJM2WWN0SXCY8YV)
(mint-token-transfer 'SP24D4A19AHNHH3215MXYJ88KWBQXEZHC5P5W2Q7W)
(mint-token-transfer 'SPBM9BTEYFTC50HTEGWHG39D7S7JHHBRYQ3Q159V)
(mint-token-transfer 'SP3AJC728JY0Y43E8RT6K4VDWPT265RDMXJ8M0VH0)
(mint-token-transfer 'SP1KBVBP3AZP7YA968Y3G14A17P9XXFPBPEVF5EG9)
(mint-token-transfer 'SP2T92KQ5D7ZFE9NXTK451YG4JFSJ2KXR3MAMG8WP)
(mint-token-transfer 'SP3MCBTS2V2AJCKBAHZSMJM16RF0TEQBZMRWSSK3Q)
(mint-token-transfer 'SP2TV9D3FWCAHQBM4M5MS0PE32ZG4N5QGRK6HQ2B7)
(mint-token-transfer 'SP2AXMTXQJNQ2AMVTVWPRSZTGP3YR6CK3Z1EKYC81)
(mint-token-transfer 'SPTDZA7DMGCW21Y0NTT6BD4CZWR4S31MYT5HN65E)
(mint-token-transfer 'SP1C6WQ9KTV3769S8X8YNAWBXKDG2Y65P5EEDRWR6)
(mint-token-transfer 'SP2NBCT6WVMD8PX46VTNRT4ENTQBZZ8ZYYYZY65RB)
(mint-token-transfer 'SP364J7EDJXRE1FPDZDABP9M58HPY4G88BFCP2HD0)
(mint-token-transfer 'SP3DEN0AZXRZV9ZBMQ7NB65V9NV4Y9TMF87NNP4RF)
(mint-token-transfer 'SP2FPQSPBEGJTNJV99XHSS82QXWWHSRFN0AEVZBVH)
(mint-token-transfer 'SP3CK642B6119EVC6CT550PW5EZZ1AJW661ZMQTYD)
(mint-token-transfer 'SP396HM7RBS154PTG53YB9NBRGBVN2XWQ55G4FCM8)
(mint-token-transfer 'SP2VG7S0R4Z8PYNYCAQ04HCBX1MH75VT11VXCWQ6G)
(mint-token-transfer 'SP2HGH3N1MNEBZEJ6CXYJPV39ZFV6DD9X8VZHW27H)
(mint-token-transfer 'SP2T7TN4K8AKB1V66WE6MC50YJ1PH72C8WYYWFHRZ)
(mint-token-transfer 'SP3T23YN6MBF44YNV910FD8JNMN1NZYGKG3MMZ73X)
(mint-token-transfer 'SP3HDKJMJ9DASZBH69A5T5AZDJJWP3KRDSS36G09M)
(mint-token-transfer 'SP2E4J02FHKB95VPZNTH48X0R40JX4RCP6V8X0PZA)
(mint-token-transfer 'SP1GK1YMVRYZAFQ5BCMZ8KQDXGGFRZ8V3GF1PX0KH)
(mint-token-transfer 'SP2DW9RTN82J2MR2FHQXY5EE0Y616JJ076RYG8PTY)
(mint-token-transfer 'SP3QHZRVEXBGJV57VRWZ2EEAR6Q9SMVWFRX86T6GF)
(mint-token-transfer 'SP3S8DC3VMG2JJWQZF2DP242JNQ3RN55CDXVBK0W0)
(mint-token-transfer 'SPP4K4CCC3RYGEYMHVH93H5HBBJEEBRMMMJ7NKJZ)
(mint-token-transfer 'SP15RGYVK9ACFQWMFFA2TVASDVZH38B4VATY8CJ01)
(mint-token-transfer 'SP1FD33S5AD9MW9C57BN1R4SWMG72M9667J6BZ2P7)
(mint-token-transfer 'SP2X7RCFYQK2YN0SWH9JSRWRZ52SKGFF7WTADYVPT)
(mint-token-transfer 'SP19WSDJWTH4CW3YG554XS5CAXJJGAN83P8CFZ4K1)
(mint-token-transfer 'SPWMMY1ZDCVMTYHX53WS4T5KTHF749C391Y15Z1R)
(mint-token-transfer 'SP36XTBYA6CXT49B241H99RAJVENF3RK9W7HS7FZB)
(mint-token-transfer 'SP1M3W2HMXHWPS4F6A845SQ02XKM6061N6XX2660E)
(mint-token-transfer 'SP22E55S7KRR5ES1PBK2Q5PKNMTBF02CM2MT06QZP)
(mint-token-transfer 'SPANA7DAQE5QJR0HJKY3J6MFW5H5KYJHXKKCZQ8Z)
(mint-token-transfer 'SPVZK711BV6TK82HEV09SAJKN6JKVABDNTZB83TT)
(mint-token-transfer 'SP1FBAM5QAG2EXGDQV9GK4VKCHP9GCKVJC6XZMTM9)
(mint-token-transfer 'SP3TY55JJ0Z72M6RMN1SYQC0XYM3Z1S33J6KA78GW)
(mint-token-transfer 'SP19A7XF0X59CBP5RGGQP2421RJ5VYPGNDKPEMG6P)
(mint-token-transfer 'SP2E1FH6C6E4WSHYQVPNN5JEDSWD1E2NYHSGDKFCS)
(mint-token-transfer 'SP3GKD03CY339NVCVG0PKKRRC4CAGCECYXNXGQ69)
(mint-token-transfer 'SPMR3PQK63ME9T99M2X4DVP1XD4WY6NFSJ4QTBWT)
(mint-token-transfer 'SP1HFQ1ZXEXNQE45RVKK15QXXFXCY17NDV3D0CRVN)
(mint-token-transfer 'SP3TF77S4XWBMZ455YTYWRMRMHTM7AZDM6258ACR3)
(mint-token-transfer 'SP36Z4CDWE9KA1TXYP2TB8GSX1RT8KBJJD4E4P8HA)
(mint-token-transfer 'SP3ZC81B7AGDQ5FPQNK2X0PC8WNZAAC30HJ7A1DNG)
(mint-token-transfer 'SP3ZMEFW7VH796ZQAH1JMAJT4WC4VPEZZFB6W5CAD)
(mint-token-transfer 'SP31DYVRQFT2HDPRVQGFJT7GD1TT4TRRS56YSJJ8E)
(mint-token-transfer 'SP3R3WS9C8JRHFHP6NQXZF7WQW66JEG3QVGZPTZ0K)
(mint-token-transfer 'SPF2C8BZG9YB6GZ70QC9JNCP861V6FQX9DYZTQRT)
(mint-token-transfer 'SP18XHTRSFZ6Q6YEQBYZ7CT8DMV9RW834D4NJNDC5)
(mint-token-transfer 'SP2XV2G7H7DC97ESZGFKWADTYZWNQH1QHZWGDDVS1)
(mint-token-transfer 'SP3BWAHYMTHQZHSB8N49AXQNTYWBACQBAN8Z4QFRD)
(mint-token-transfer 'SP1EZ214DYBR5NAQ2KYD99HC5Z70R04S9QZ48PPWX)
(mint-token-transfer 'SP2S6PFGVGXPGRT09EVY256AQTMYNQZDK5Y7GCY8J)
(mint-token-transfer 'SP21X0YFDV4HYAC9DXTB1A810DZGHFMPG758ANFSJ)
(mint-token-transfer 'SPX0076GHSMQ2J7WPZ817X1438DRJHYAKM5243J8)
(mint-token-transfer 'SP1JSWEME2VP73J0ACS9WF55F5GTJA8HGHMMQ8BNA)
(mint-token-transfer 'SP1WH8ER51M01J6KS306AJ0RVTCYWGY0PQ841RZF7)
(mint-token-transfer 'SP21JJ0KVPTGAA1PD8RG1QR0ZSCFX39Q86T5NNFCY)
(mint-token-transfer 'SPP5E7226CYT6T2473BEYBE1S7QPC4R2WN55GVP7)
(mint-token-transfer 'SP1JT8QWS5B1T03S56TZQPSVPER6GG1XNSY6H6WEE)
(mint-token-transfer 'SP195SPGFN1HRZSRJB6YWE5CMGRVJFK475A7F55E1)
(mint-token-transfer 'SPJEF34FQ5JP9MQQCPFA2VR0TE3JDYW8RKFNCK6M)
(mint-token-transfer 'SPAVMDHREA6ZJB7G4AKF5WP7ZBT9KXMG9QWP2FZ9)
(mint-token-transfer 'SP3ANWNWTHJAH4E1WNQ9RT7V07ERJN5S4DA7X6XEW)
(mint-token-transfer 'SP11GDRWAVM0Q9K7JQNS4QCD6TXVMC3NK81Q8NE7J)
(mint-token-transfer 'SPW5QFPXWA4A2MFHA6BYT706YY2VEXN0XW69RVQX)
(mint-token-transfer 'SP6DMNP7XZ4G77Q90G43779JJ1G27BDHGJ4FVHEW)
(mint-token-transfer 'SP2ZNKJ5HC2C0TGHNJ96DTK2WC01J73PFMY57K69R)
(mint-token-transfer 'SP3JPSJ50A3JWX59TNGRA4BB2ZJ9WCBY55RFPGBW2)
(mint-token-transfer 'SP2EMYH0XQWJ1GZ036JCS9CA9S97KCN6W8A6RDSFB)
(mint-token-transfer 'SP3QK75VP0Y64SAJNKTNH5WBBR798C8XAR8T4PJ6W)
(mint-token-transfer 'SP2MT1DVZT035TVNB3YCD94S6BWX5G2012Q1698BK)
(mint-token-transfer 'SP1WBNM0A4ZVY1GVZMXDPMV831BF0BMHFJK9ZXNRW)
(mint-token-transfer 'SP2BTKF13RC0Y36K3D41RJT6PA3A662BXSM63JSJ2)
(mint-token-transfer 'SP2MGM7RECNSEBSNR79K7KTNWMH9HMRHJ17B0R025)
(mint-token-transfer 'SPR84H5VB6ZZ5Z34VQW3J2QXA03E4W4S7DCRMDZD)
(mint-token-transfer 'SP16EB2725233EPY9C22TAK4C68XK75WQWNJA2PSC)
(mint-token-transfer 'SP1ZHVKGVT1KZETT4J9CGYXZE9D20N375V4M323SQ)
(mint-token-transfer 'SP310HRCP6H4BC6WFD691235M1G3H0T2RB5CX3REF)
(mint-token-transfer 'SP143YHR805B8S834BWJTMZVFR1WP5FFC03WZE4BF)
(mint-token-transfer 'SP1KMCJYQADSQ9N3B06N7BF7YRVC5EBTVQ5H9XKZ1)
(mint-token-transfer 'SP2DX7AS1E4CNHAJMG16048FQ6E6AF7WR7PTQRG7H)
(mint-token-transfer 'SP3A0WS1AH5E2XF3KB5Y0A54W0HPP9XWQ44HF96RY)
(mint-token-transfer 'SP2EK5VZQKRR1WYQ3F8MH86QDRDEHMC5WY6E3KA34)
(mint-token-transfer 'SP1K3T2JED6QFE70SR88TKTSM1KSXCS90NFPMRWMK)
(mint-token-transfer 'SPMKABMRR3TGRBQX06WVA19E8RYPMDEG2MCTTS5W)
(mint-token-transfer 'SPKN9G4XHTR3QKGE13YT8M9WFVR91GFS6D81R7J2)
(mint-token-transfer 'SP3KV3PCGGRBBCYNTTQ006HR2JBXQ07Q4R4PGB2GC)
(mint-token-transfer 'SP3S8FAWKQ7NCKMJ6729B8KJJ6JYRE2EY5YVK4R55)
(mint-token-transfer 'SP16XD8Q7JD8Y2Y93S0WZC6WGN421R57V0Q56R7CX)
(mint-token-transfer 'SP158378PVRA077MC9851WTVSF7G3MES99HPJ26DW)
(mint-token-transfer 'SP30VMF712XSAVCS56Y0FN5PBVEZYTT0E66TC8P6A)
(mint-token-transfer 'SP26K0GMRRGM0FD1RS1MC78FE9BA8ZV39RX2MGAQ5)
(mint-token-transfer 'SP2T68SPQYVCJVYBW6H6ES9REAVVCD6WCYX9D18DH)
(mint-token-transfer 'SP2MANB3ZJ6BE6QC6YK6A8ASMR5ADBSW4SWP066RZ)
(mint-token-transfer 'SP1Q5ZRX0RYBY55F5W46DNPMXDK5G2MQCXHVCAPJN)
(mint-token-transfer 'SP4PRMT5HDV58HT1EF92GD5ZB77MY7ZV6NX7WJXW)
(mint-token-transfer 'SP1VCG4HXMG02BMJCSAZDBS1WR4N2YG3RPHMNP9WR)
(mint-token-transfer 'SPMFMZE6F8CXTHDPYQQ9QV0SCGP6XXMECYF34S4A)
(mint-token-transfer 'SPR13DG89TQ2V58VR460BNRZPGEDSRBB3FRJQWNJ)
(mint-token-transfer 'SP343SNH3E14GAHSGGF2PH9PNN64DP5HFY9HT56AE)
(mint-token-transfer 'SP1GMF5DB0B4ZQTK1028PDE3KYH16QVA8K1WTVJ6N)
(mint-token-transfer 'SP25ES4KTJDATNET3CGCKXXQW1BCSHWPKKEN3BZJD)
(mint-token-transfer 'SP2F18PH7FP22EHS0J0X3A6EFZ9PAW0EZJRET0GXZ)
(mint-token-transfer 'SPKFSJ4T8T39ZJN455QBY7TJX4DYF47J7344HNNF)
(mint-token-transfer 'SP1CFFA5GK0QXCN30GWTF99BD3HP5V6WC4R7T2PE)
(mint-token-transfer 'SP20R5GNHG7KTDEH9SXRX8ACRSJNJ5FGFTYDGBND2)
(mint-token-transfer 'SP153NWJ9PGY1K92J16EHE8XW7VW28T8W6QFH57AH)
(mint-token-transfer 'SP2PFH9S05944J1Q5AG9DXS4SSNKNRRTYE8PT16MV)
(mint-token-transfer 'SP27F79AKX0BMMQWWBZF3X20RFY47Z4XSH9SS17NF)
(mint-token-transfer 'SP2KTSYCP42M8RFD9G7GC24PSDAGF2DAYJDJ3A5M0)