Git Source Inherits: Initializable, ERC721EnumerableUpgradeable, ProtocolTokenCommonU, ReentrancyGuard Author: @ShaneDuncan602, @oscarsernarosero, @TJ-Everett This is the base contract for all protocol ERC721Upgradeable Minimals.

State Variables

handlerAddress

address private handlerAddress;

handler

IProtocolTokenHandler private handler;

__gap

memory placeholders to allow variable addition without affecting client upgradeability
uint256[49] __gap;

Functions

__ProtocolERC721_init

Initializer sets the the App Manager
function __ProtocolERC721_init(address _appManagerAddress) internal onlyInitializing;
Parameters
NameTypeDescription
_appManagerAddressaddressAddress of App Manager

__ProtocolERC721_init_unchained

function __ProtocolERC721_init_unchained(address _appManagerAddress) internal onlyInitializing;

_beforeTokenTransfer

Function called before any token transfers to confirm transfer is within rules of the protocol
function _beforeTokenTransfer(address from, address to, uint256 tokenId, uint256 batchSize)
    internal
    virtual
    override
    nonReentrant;
Parameters
NameTypeDescription
fromaddresssender address
toaddressrecipient address
tokenIduint256Id of token to be transferred
batchSizeuint256the amount of NFTs to mint in batch. If a value greater than 1 is given, tokenId will represent the first id to start the batch.

getHandlerAddress

Rule Processor Module Check This function returns the handler address
function getHandlerAddress() external view returns (address);
Returns
NameTypeDescription
<none>addresshandlerAddress

connectHandlerToToken

This function does not check for zero address. Zero address is a valid address for this function’s purpose. Function to connect Token to previously deployed Handler contract
function connectHandlerToToken(address _deployedHandlerAddress) external appAdministratorOnly(appManagerAddress);
Parameters
NameTypeDescription
_deployedHandlerAddressaddressaddress of the currently deployed Handler Address