reputation-badge-1721005343820

SP37MPXHEESNHHHXF5PV3353W7F9NEZ4T13GZWJD4

Source Code

;; title: template-batch-endorsements

;; traits
;;
(impl-trait 'SP2PABAF9FTAJYNFZH93XENAJ8FVY99RRM50D2JG9.nft-trait.nft-trait)

;; token definitions
;; 
;; (VAR) based on title of collection
(define-non-fungible-token endorsement uint)
;; constants
;;
;; (VAR) changes based on the number of recipients
(define-constant TOTAL u133)
(define-constant ERROR-NOT-IMPLEMENTED u1)
(define-constant ERROR-UNAUTHORIZED u1000)
(define-constant ERROR-ALREADY-MINTED u1001)

;; (VAR) changes based on the collection ipfs hash
(define-constant IPFS-ROOT "ipfs://ipfs/QmSiJgwnwrtye9hbgSSKaPsNthp3ZdgaisDzsciCUow1Xc/{id}.json")


;; data vars
;;
(define-data-var last-token-id uint u0)
;; data maps
;;


;; public functions
;;
(define-private (mint (address principal))
    (let (
        (token-id (+ u1 (var-get last-token-id)))
    ) 
    (var-set last-token-id token-id)
    (nft-mint? endorsement token-id address)))

;; Non transferrable
(define-public (transfer (id uint) (sender principal) (recipient principal)) 
    (err ERROR-NOT-IMPLEMENTED))

(define-public (burn (id uint)) 
    (let (
        (owner (unwrap! (nft-get-owner? endorsement id) (err ERROR-UNAUTHORIZED)))
    ) 
    (asserts! (is-eq owner tx-sender) (err ERROR-UNAUTHORIZED))
    (nft-burn? endorsement id owner)))
;; read only functions
;;

;; this would be constant to mark collection as preminted
(define-read-only (get-last-token-id) 
    (ok TOTAL))

(define-read-only (get-owner (id uint))
    (ok (nft-get-owner? endorsement id)))

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

;;; mint calls here
(mint 'SP3WAAYXPC6WZNEC7SHGR36D32RJPZVXRR1BG0QSY)
(mint 'SPPGS1KM4NB38TFNV8GC3BYYQ62WYC4X6QP3P3QA)
(mint 'SP2DR5FDPMZ9NZGKP2A2YR1BKJY3MYAD5MPBXEAMF)
(mint 'SP3CGBHFXFNQMDVWVKWRPK9KBTS60Y7CPEH2ESFMB)
(mint 'SP1WD9R0B8T0KYVDWR9N8GHKC3289YFJSA50K5WRN)
(mint 'SP3MZAT2XFF2NX3AWKEJZGP4YFSTM5XRTPYC8JGV)
(mint 'SP2C9HTHKWTH890N742J6EQ1ZKM9WW2CHHQYGRR10)
(mint 'SP98MXWC10NNFVJZ0JMBY3BY9Z8RKQ6804J3ZF0R)
(mint 'SP1N4A61DKDG4ARD4WTXXY3JDEE64EMX511AJ18BC)
(mint 'SP312TSA3ZFE2FKSVQ3MDQZ4HN6TAJQSTGMNST7GX)
(mint 'SPPF4WRVCAXAGVDW383PVKP17JF83BEZ2KBGWA0G)
(mint 'SP7QQ9DV0DMV7YW4HR713MKBWADVA0BFC2J65PJT)
(mint 'SP1PJ0AYW1WRSRV4H449R31PXKZ3KGSDYKW1HN7DS)
(mint 'SP1EMXT9RET8W5TXQ325BG3TJ6X15NXV5GKEGVQE6)
(mint 'SP25DP4A9QDM42KC40EXTYQPMQCT1P0R5243GWEGS)
(mint 'SP870RFTKDBMC8WJ9CE89ZKVEJBGF57ZAV3T87Z1)
(mint 'SP2ZNGJ85ENDY6QRHQ5P2D4FXKGZWCKTB2T0Z55KS)
(mint 'SP24ANEK96Y51TT99FBCG3PZKMESBQ5G4YZXK1T5K)
(mint 'SP177JV93RYPWWTX5F0MK9NVQ3YTXB4YQZGBPP6H4)
(mint 'SP2MZ78KD961QVB92GDM2GF5ZR2QEGM9R2E8JC2AG)
(mint 'SP238X3JD22HJBMWR8E7CKTF4JCBQ73BG9YS1DBH8)
(mint 'SP2EK6MPWJYXM0JE3K19AWCDT0041DFPMJERAPP9Y)
(mint 'SP19NPW1QYFAVJ4DFY9C29X9MMVD1RA3SGK033EZ8)
(mint 'SP3NJ4BR35W8002J0PWZY0QNG9FTYZ32H38Z0PV17)
(mint 'SPSV8PA2RQEXFX85H0C99C5E81B8PR3QYEZRXDEJ)
(mint 'SPSTE5R54386QDCDNJJWH2EXQFST44QYZW3RPMD3)
(mint 'SP1ZCT38K25QAB3SKFANT6HY2ERF58SPMJQJYZFRV)
(mint 'SP736GPNFX595XHYRMZ4VF5X58YC0NNYHVDS35XY)
(mint 'SP20DE6FVC603XADB2W53BGH7BHTPBJR4GAKVBJHM)
(mint 'SPXMQG3B8G4H7JZMC8ZTNP15SA07B2QH12PQQQ7B)
(mint 'SP1JMRR3FXT05E5028MJGQJR4BAJ1TWA2NWX79HVF)
(mint 'SP1VR0DTVA9G1VAV0MPER2C6XNR3NSA7917MZZBAQ)
(mint 'SPR6K4VQ0JQN677W4GGCN5JTPN7XF7YTP7WKAJXH)
(mint 'SP2A7E3EZ600AJM63FTD3TNS6DY2CB2XGDSKSW226)
(mint 'SP1SVJQ8B0M5JE5F2HNFQW6YYX8QB41BFVQMQ5YK5)
(mint 'SP1MP4T8DA0J1BET2A5PMHT3CZJZMHJ9R1YNKB56V)
(mint 'SP3KAJC6X2X15C11J85C9HMBCF11D9GM43VKFM41V)
(mint 'SPB8H6K97YY2TEWP726SG652KSJVNB6GJQ6RTMYE)
(mint 'SP14KRMYQPMPADNH2VKCT03DPF6QXS9DVME7B8HRK)
(mint 'SPGBT9P5ZBFRC2ZN01J68KYTDJ3QA5Z42T6FK3TT)
(mint 'SP3T1M18J3VX038KSYPP5G450WVWWG9F9G6GAZA4Q)
(mint 'SP149EKCCAZ8CGTDXS7ZPCZCQC3PPBTAPCP3RPC3A)
(mint 'SP14GPTKDAKAJ07MCM5M01FXCWZE0C1KY6HRSK9T4)
(mint 'SP3SKWYY8W298JAF4F76GJGCAEDCZ39PS90XGQRXF)
(mint 'SP2HS7410H0W7GC90BT2DZ07SZZXNS7SBJF1PCQTC)
(mint 'SP1863SX4G0Q6M7JHPM1TXHSNEDA16MMCZRZKM0XE)
(mint 'SPV2092EATG6WQFZKSPXM9VBHMANQKNTBTRF081W)
(mint 'SPN0HJ0WZMN6K2GSJRHC9TNFXDNEXGDNMFRZP5WS)
(mint 'SP3SSWKXK96ME1D9WNJKPNJZKEX78K4CWPMTYXRAN)
(mint 'SP1ZM1412VP6C9JVFXWG6ZM6QGS7PE3ZXEC4M3N8A)
(mint 'SPKXMVMKMKHY5B50WK0C2BTSMJS381YXMWXGRB3J)
(mint 'SP3MZNNH7TVYYFM4DRBQAG8E9EDNAHCZV09Z76NP9)
(mint 'SP2RDD26DPY8DKT220E7EQ03M7QHHJMM2N1WQ4YAP)
(mint 'SPS1MQ9JK8JPZBG2YT8A36SFDDAS2N1TZP7QJ1ET)
(mint 'SP1JGJD47TJY3Z8AJBGDVTH3JRHB0BMPWMNGJNTCT)
(mint 'SP21Y8H6HKRX30EKGR5TAPGJ8B8CMR0JATN7F7W07)
(mint 'SP3G7PQHSR8QQX2WVEC2JNCQTH7HRFXSXVK1GR7ST)
(mint 'SP1762Z0NXGMWZBPPNYKT1PSVVGETQAXVM3ESP227)
(mint 'SP2W6CV7053ZCCZC0PZ5Q9V6BXEF4FNV6D23978K8)
(mint 'SP1TME13512JGA25YS9NDRX036R2G8P0Y4QFX7A09)
(mint 'SP9V5BPSCP73GN5ZV52C3ZXH7PBM4Q7KMPBN1QN4)
(mint 'SP26RMN84H52GHBEB8GBA89PBST9WRR7FX6MVGHVD)
(mint 'SPP55QP39C6Z8Z4KXDWWHQF0ENZE7YQVMRYB4EDY)
(mint 'SPZCSZN0ECFFNSK555G19QT2DC1W2MWTJ9RZSZA8)
(mint 'SP2NARFZ0DB3X5R3VW6BYSJ2MMXDSVMESCYSXS132)
(mint 'SPJ8NVC2ZVQCKB68XW1QXM6P7YJF8EYGQ2TT5QT7)
(mint 'SPAQN4FQ9FY58RCZG1GEP5Q3RSDS7PSW3QXA6XZV)
(mint 'SP2ZMHZE792DEC1196H5TQBKXEHP33BBJR2WC1Q0V)
(mint 'SPSQ4W56BY5XKZR8YJMXYP1CKJ64TT4CQ04GFQT8)
(mint 'SPB38WCVZQGG9BHGGF8SFEMRARG2RWNX5VPF7H9S)
(mint 'SP34MT257NMNMC40TC6TJ482DT8JG8X7139RGBG6J)
(mint 'SPMQX3SGAM5DR3DBMER0BTB4S6SSEZPK79VC4Q6Z)
(mint 'SP2RN4JRHXQWCA8MC96FQW5JHZ2RQMMM0YTFN97YH)
(mint 'SP157DZQDGR2KB65WZS10QDCKJYRG73ZD1TCECBXT)
(mint 'SP3C58KMV1WARKGPX8A59C9Z2JHXMNG7GSWVEEA9Q)
(mint 'SPWRJ6AQRYR8E68GS8XP3TGM33FBA898E08PM1MD)
(mint 'SP7BBE0JDDFEEN7TVM241RSW6QZQ7FC6JEKSZT6F)
(mint 'SP1NQ0WG5PTB7M2N3PNNPG5XFD7N14VXKHZ9NQP08)
(mint 'SP12C2285NTBNZH38SAAPVBDCQMWT2J2SYKC1KDC3)
(mint 'SP142CZ9QRQ5TAANRWB273GS32PRT74XP8QRW9QAA)
(mint 'SP18FMGYM55W9BMN7KWFJ6F0WQR69R5X4T1A54CY0)
(mint 'SP1A5M0ZRSNQMF8BNPQPM8WWC5PJ6HJ4GEKFP8W4M)
(mint 'SP1AE9VDCF89XEZQ2CTYPTEZ30H8E8S6MHCN43JVK)
(mint 'SP1CHWS7TDP36PPVWV8E4Q8QV7S8SZPYYWW9N0ZW8)
(mint 'SP1DB3XBFQATJS3H7JB2FPSHNV4W4WGNTQ8DPZBHW)
(mint 'SP1E22HKNAM2J2M07QCMZYX6R00KPF3XC13SQHR5M)
(mint 'SP1EJFT15Y3AJWW2BK9CRWKR1BA8XETSQ9HXYZKJH)
(mint 'SP1G3R4G3Z1P8T3NQ56P2BV32VYBD879ZBCH9CQJ7)
(mint 'SP1GFYAR57AZFEWHMKRQD83HHW5G42VSPSW8JE1YG)
(mint 'SP1H7NKX5Y7X217X4H44F83NHKJ712FHQ3AVXEJWV)
(mint 'SP1N39529ACA8E06GJQB220T75VR0DBGERJMSH2S1)
(mint 'SP1P458Q2Z3CZY9CHDJ3GS5THDHCYD7PR0BM5JFZ3)
(mint 'SP1PKZ3CQSC8RWFCJ1Z0Q4VE5BAF5E5V59PMPKFVY)
(mint 'SP1QABQ972DW13WFHARMKEZAKEVYQFX2YW882GV1E)
(mint 'SP21CJMJ86Y8SASVY0W927NZT61X3XPE33WSA00PS)
(mint 'SP239PCNQ0C366NRNP54PCN1PQWX665FXVEZ14X0Z)
(mint 'SP255MVZTQRZ9Q1S9ES2KKMWVJ09RV4347509VB1C)
(mint 'SP25SF2MPZZS8Q20QA3VTYJXTHAHCRNM5MSZYDNB0)
(mint 'SP27AV8K8ZP7JJ1PTCFJG6T16708Q3CR63VTAKFAJ)
(mint 'SP2AMQ900CFWQDK6P59AWBM7D7HR33BST0DVYJA5)
(mint 'SP2BWTF2PXKMYSBS3MF8QR00ZEWXV6B9K4649X6HF)
(mint 'SP2CX56YMJXMQ1PY2GHNNA3DSWW3DGR6Q5R701TFY)
(mint 'SP2FQ9RB2EVMJW7T8S5X1XVGS4F774S594E3D52WH)
(mint 'SP2GRR1M02EMG15SEX5FTKNCS5Q9Z2MFTNHNTXRR9)
(mint 'SP2MFXF78QMN1564XVYJ9AM4VY5GEHHPV5D0JMF51)
(mint 'SP2N3WDQH29TWYW0KFBBYG3S2JPZ10B1W3CA69RDC)
(mint 'SP2NTZ5ABMMMX1KYEHK3KYK5ZV6FKWV01CXRNYT44)
(mint 'SP2S7PW1PK8ZE54EFYT6FRFNC22KHZSNMYMYZFAC6)
(mint 'SP2VSPY8F7WN6NX746RTWJ4VSS3F0V378W75D7ZWD)
(mint 'SP2Z8Q9C1SMZXSGKJ2Z43JMAD0AQWR14EFQRG23DY)
(mint 'SP32BJT4V5VE3697VYDCG3WKBX7SDJWTT4WE78Y8J)
(mint 'SP34NJCCYANQR5YAY58JHX7AGCZ4E82EFYD0FR0TP)
(mint 'SP3BG71CK7JYNPN4V11PKXQGQKP3NPK7T8HMX8SKA)
(mint 'SP3C41TT8QM53593Z27NDSC3HQYFV5VSP9HD6F262)
(mint 'SP3G3FGJ5FWYJMZZ839QS05BMXYSEHVM6NHBYFDXM)
(mint 'SP3GBWJX51JSXM4J4D8VB10X34XGZDBBMPZ8KTRC9)
(mint 'SP3KVRE3RDYYSJ3JDGXKA0K15CC4JEA2ZGX4TJ5EC)
(mint 'SP3KZ997Q26NW64KPDK9M0K6Z2104JG7P5QPYKQ2H)
(mint 'SP3MR948GBBMZYP1QE0NW6DD35D7Q5TSGPX4TJBH)
(mint 'SP3PMGPK3Q0M00RN9TG1PAW5PM97AYSGJ8FH12E4A)
(mint 'SP3SZR11RT4R5KN6R7FBY2DXCY8Y2GKHC1PXV5DRV)
(mint 'SP3VZ056PX5038DEM53AEGV2G3W66QCC9PYS76M7D)
(mint 'SP3WVFX99ZH93X8176981RH117F5NAT92JY7MCJ9T)
(mint 'SP5JM32CQTNVJQ7BVGGNE7X0H1Z9YKFPVWPFSRFN)
(mint 'SP7CP1QGW8TX59TY4TE2HZ50FWWVB701K6C5SJD4)
(mint 'SP8CR0EZ13ATRJWJB6W8BZMY49DSX4AZP2CA0JSF)
(mint 'SP9C39XV8GD9XBQ41JDYG37ZP7PFPHYHQ89HHRAA)
(mint 'SPEXAF3YRNCR01Z4DFZ567Z0FB4RKPHM88DMKJSQ)
(mint 'SPGNRR2GG22EKH62N8DCW58YB4D1PVK8TP0KQTHD)
(mint 'SPQAATW0PRFYJF7FHJDQ0RPGSMJZYP93VZPBA7NF)
(mint 'SPSHZXHVZVS5T3CJ9K8H52MKM7CMY9KQ0MC06MFP)
(mint 'SPTGQJPEZKS9S5SWQBQJRE6P5CKGSGBY1EM1E40)
(mint 'SPV5MQ3N28HX7K9YXY1EF71KHSCPPQ6ECXV7GSSY)

Functions (6)

FunctionAccessArgs
mintprivateaddress: principal
transferpublicid: uint, sender: principal, recipient: principal
burnpublicid: uint
get-last-token-idread-only
get-ownerread-onlyid: uint
get-token-uriread-onlytoken-id: uint