721J Code
Last updated
Last updated
The code for ERC721J.sol can be read here.
There are 10 events in ERC721J.sol and 3 events imported from interfaces, making 13 total:
Copy - from IERC721J
Recycle - from IERC721JFull
SetPromo - from IERC721JPromo
TokenPriceSet - Emits when a price changes for an ERC20 token
TogglePublic - Emits when a tokenId is staked or unstaked
NewSongURI - Emits when a piece of song metadata is added or changed
NewMax - Emits when setMaxEditions is called to change the max supply of copies for a song.
NewSplit - Emits when a split address is set to a song
NewMultiplier - Emits when setRarityMultiplier is called and a generation's rarity multiplier is updated
BaseURIChange - Emits when setBaseURI is called and the baseURI is changed.
ContractURIChange - Emits when setContractURI is called and the contractURI is changed.
NameChange - Emits when setName is called and the contract name is changed
SymbolChange - Emits when setSymbol is called and the symbol is changed.
Transfer - from IERC721
Approval - from IERC721
ApprovalForAll - from IERC721
There are a lot of functions in the ERC721J.sol contract. 72 public functions, and a bunch of private functions too! I'll do my best to organize the public functions in an understandable order here.
Functions are separated into categories because there are so many. Every function that isn't from an interface is properly noted.
There are 4 read and 5 write functions related to metadata. Read more here.
There are 10 write functions related to minting. Read more here.
There are 7 features that have their 19 functions detailed here.
There are 4 read and 6 write functions related to the promo system. Read more here.
The unsorted misfit functions are below.
setName - Lets the owner set the name for the contract.
setSymbol - Lets the owner set the symbol for the contract.
setVariables2 - Intended as the first function after initializing which sets the baseURI, contractURI and royaltyBPS all in one. Meant to be used once at the beginning as a way to initialize the collection with a profile. If you load into The Manager page right after minting a contract with The Contract Wizard, you will see a special button that is asking you to use this code.
withdraw - Withdraws the ETH that was sent to the contract.
rarityOfToken
songOfToken
totalSongs
tokenOfPublicByIndex
tokenOfSongByIndex
All the imported interface contracts have their corresponding functions implemented into ERC721J.sol. The imported interface contracts are: