LegacyCollectNFT
Inherits: LensBaseERC721, ERC2981CollectionRoyalties, ICollectNFT
Author: Lens Protocol
This is the NFT contract that is minted upon collecting a given publication. It is cloned upon the first collect for a given publication, and the token URI points to the original publication's contentURI.
This is the Legacy CollectNFT that is used for Legacy Lens V1 publications. The new CollectNFT was introduced in Lens V2 with the only difference that it is restricted by the Action Module instead of the LensHub.
State Variables
HUB
address public immutable HUB;
_profileId
uint256 internal _profileId;
_pubId
uint256 internal _pubId;
_tokenIdCounter
uint256 internal _tokenIdCounter;
_initialized
bool private _initialized;
_royaltiesInBasisPoints
uint256 internal _royaltiesInBasisPoints;
Functions
constructor
constructor(address hub);
initialize
Initializes the collect NFT, setting the feed as the privileged minter, storing the collected publication pointer and initializing the name and symbol in the LensNFTBase contract.
function initialize(uint256 profileId, uint256 pubId) external override;
Parameters
Name | Type | Description |
---|---|---|
profileId | uint256 | The token ID of the profile in the hub that this Collect NFT points to. |
pubId | uint256 | The profile publication ID in the hub that this Collect NFT points to. |
mint
Mints a collect NFT to the specified address. This can only be called by the hub and is called upon collection.
function mint(address to) external override returns (uint256);
Parameters
Name | Type | Description |
---|---|---|
to | address | The address to mint the NFT to. |
Returns
Name | Type | Description |
---|---|---|
<none> | uint256 | uint256 An integer representing the minted token ID. |
getSourcePublicationPointer
Returns the source publication of this collect NFT.
function getSourcePublicationPointer() external view override returns (uint256, uint256);
Returns
Name | Type | Description |
---|---|---|
<none> | uint256 | tuple First is the profile ID, and second is the publication ID. |
<none> | uint256 |
tokenURI
function tokenURI(uint256 tokenId) public view override returns (string memory);
name
See {IERC721Metadata-name}.
function name() public view override returns (string memory);
symbol
See {IERC721Metadata-symbol}.
function symbol() public pure override returns (string memory);
supportsInterface
See {IERC165-supportsInterface}.
function supportsInterface(bytes4 interfaceId)
public
view
virtual
override(ERC2981CollectionRoyalties, LensBaseERC721)
returns (bool);
_getReceiver
function _getReceiver(uint256) internal view override returns (address);
_beforeRoyaltiesSet
function _beforeRoyaltiesSet(uint256) internal view override;
_getRoyaltiesInBasisPointsSlot
function _getRoyaltiesInBasisPointsSlot() internal pure override returns (uint256);