ERC721A-Upgradeable (v4.3.0) is the upgradeable variant of ERC721A, a gas-efficient ERC721 implementation for batch minting popularized by NFTs. It uses the diamond storage pattern (EIP-2535) for storage layout compatibility across upgrades. Major version changes break storage (e.g., 3.x to 4.x). Requires OpenZeppelin's initializer pattern and a separate initializerERC721A modifier. Release cadence follows ERC721A main package. Differentiators: batch minting to save gas, upgradeable-friendly storage, explicit tooling recommendations (OpenZeppelin Upgrades Plugins). No peer dependencies beyond Solidity ^0.8.4.
npm install erc721a-upgradeableNo compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
Deploys an upgradeable ERC721A contract with Ownable, batch minting function, and admin mint function.
Deploy a new proxy with the new implementation; do not upgrade an existing proxy across major versions.
Override supportsInterface to include both ERC721A and extension interfaces, e.g., function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return super.supportsInterface(interfaceId) || ...; }Define initialize() with both modifiers: function initialize() initializerERC721A initializer public { ... }Migrate to version 4.x following the official migration guide.
Use _mint(address to, uint256 quantity) instead of _mint(address to, uint256 tokenId, bytes memory).
Ensure initialize() is called only once, and use initializerERC721A for ERC721AUpgradeable parts.
No dependency data recorded yet.