EntriesManager
Git Source Manager contract that handles the acquisition ofRaffl
entries.
*This is an extract of @cygaar_dev and @vectorized.eth ERC721A contract in order to manage
efficient minting of entries.
Assumptions:
- An owner cannot mint more than 2**64 - 1 (type(uint64).max).
- The maximum entry ID cannot exceed 2**256 - 1 (type(uint256).max).*
State Variables
_BITMASK_ADDRESS_DATA_ENTRY
Mask of an entry in packed address data._BITPOS_NUMBER_MINTED
The bit position ofnumberMinted
in packed address data.
_BITMASK_ADDRESS
The mask of the lower 160 bits for addresses._currentIndex
The next entry ID to be minted._packedOwnerships
_packedAddressData
Functions
totalEntries
Returns the total amount of entries minted in the contract.balanceOf
Returns the number of entries inowner
’s account.
ownerOf
*Returns the owner of theentryId
.
Requirements:
entryId
must exist.*
_packedOwnershipOf
Returns the packed ownership data ofentryId
.
_packOwnershipData
Packs ownership data into a single uint256._mint
*Mintsquantity
entries and transfers them to to
.
Requirements:
to
cannot be the zero address.quantity
must be greater than 0.*