721J Code
The code for ERC721J.sol can be read here.
Events
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
Functions
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.
Categories
Metadata Functions
There are 4 read and 5 write functions related to metadata. Read more here.
Minting Functions
There are 10 write functions related to minting. Read more here.
Feature Functions
There are 7 features that have their 19 functions detailed here.
Promo System Functions
There are 4 read and 6 write functions related to the promo system. Read more here.
Other Functions
The unsorted misfit functions are below.
Write Functions
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.
From IERC721J
rarityOfToken
songOfToken
totalSongs
From IERC721JEnumerable
tokenOfPublicByIndex
tokenOfSongByIndex
From Interface Contracts
All the imported interface contracts have their corresponding functions implemented into ERC721J.sol. The imported interface contracts are:
Last updated