This repo contains contracts for the Crazy Zoo Protocol and includes:
-
mint
- mints the specified ZOO token amount -
setMinter
- adds an address/wallet as minter -
setParams
- updates the minting fees -
setFeeCollectors
- updates the fee collectorsNote All these functions are only called by the
owner
exceptmint
which can also be called by aminter
mintLemur
- mints Lemur NFT of id range 1-2222mintRhino
- mints Rhino NFT of id range 2223-4444mintGorilla
- mints Gorilla NFT of id range 4445-6666setMintFeeToken
- to updatesmintFeeToken
setDirectMinting
- to enable minting from the NFT contract mint functionchangeMintFeeStatus
- to disable/enable fee charge on NFT mintsetFeeCollector
- updatesfeeCollector
setBaseURI
- updates thebaseURI
setFees
- updateslemurMintFee
,rhinoMintFee
,gorillaMintFee
setCid
- update the cid for the NFTs Note All functions are only called by theadmin
except formintLemur
,mintRhino
,mintGorilla
stake
- stake/deposit NFTs to the staking contract in order to earn rewardswithdraw
- withdraws the specified NFT ids to the stakerfeedYourAnimal
- feed your hungry animal NFTs that staked. Only animal NFTs staked that can get hungry and can fed not less than twice monthlysetRewardsPerDay
- updatesrewardsPerDay
for any of the value in the arraysetRewardDays
- updaterewardDays
for any of the values in the arraysetNftPrices
- updatenftPrices
for any of the values in the arraysetFoodPrices
- updatefoodPrices
for any of the values in the arraysetExtraMintAmount
- updates theextraMintAmount
valuesetMintingFees
- updatemintingFees
for any of the values in the arraysetReferralTaxes
- update referral1Tax referral2Tax referral3TaxsetBasicWithdrawalFee
- updatebasicWithdrawalFee
setWhaleFee
- updatewhalesWithdrawalExtraFee
Note All functions are only called by theowner
exceptstake
,withdraw
,feedYourAnimal
- Deploy Zoo token
- Set the
nftStakingContractAddress
andmarketingWallet
addresses using the functionsetFeeCollectors
- Deploy Zoo NFT
- Deploy Zoo NFT staking
- Set
Zoo NFT staking
address as a minter of theZoo token
using thesetMinter
on theZoo token
contract - Also grant
MINTER_ROLE
role to theZoo NFT staking
address on theZoo NFT
contract usinggrantRole
function Note These setter and grant role functions are only called the respective contract deployers