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