Merge pull request #142 from lens-protocol/misc/upgradeable-tag-docs

misc: upgradeable tag docs
This commit is contained in:
Alan
2023-10-24 18:54:40 +01:00
committed by GitHub
6 changed files with 15 additions and 0 deletions

View File

@@ -16,6 +16,9 @@ import {StorageLib} from 'contracts/libraries/StorageLib.sol';
import {FollowTokenURILib} from 'contracts/libraries/token-uris/FollowTokenURILib.sol';
import {Types} from 'contracts/libraries/constants/Types.sol';
/**
* @custom:upgradeable Beacon proxy. The beacon, responsible for returning the implementation address, is the LensHub.
*/
contract FollowNFT is HubRestricted, LensBaseERC721, ERC2981CollectionRoyalties, IFollowNFT {
using Strings for uint256;

View File

@@ -42,6 +42,9 @@ import {LensV2Migration} from 'contracts/misc/LensV2Migration.sol';
* number of NFT contracts and interactions at once. For that reason, we've made two quirky design decisions:
* 1. Both Follow & Collect NFTs invoke a LensHub callback on transfer with the sole purpose of emitting an event.
* 2. Almost every event in the protocol emits the current block timestamp, reducing the need to fetch it manually.
*
* @custom:upgradeable Transparent upgradeable proxy. In this version, without initializer.
* See `../misc/LensHubInitializable.sol` for the initializable version.
*/
contract LensHub is
LensProfiles,

View File

@@ -13,6 +13,9 @@ import {VersionedInitializable} from 'contracts/base/upgradeability/VersionedIni
* @author Lens Protocol
*
* @notice Extension of LensHub contract that includes initialization for fresh deployments.
*
* @custom:upgradeable Transparent upgradeable proxy.
* See `../LensHub.sol` for the version without initalizer.
*/
contract LensHubInitializable is LensHub, VersionedInitializable, ILensHubInitializable {
// Constant for upgradeability purposes, see VersionedInitializable.

View File

@@ -13,6 +13,7 @@ import {CollectPublicationAction} from 'contracts/modules/act/collect/CollectPub
* @notice This contract enables additional access control for encrypted publications on Lens by reporting whether
* an address owns or has control over a given profile.
*
* @custom:upgradeable Transparent upgradeable proxy without initializer.
*/
contract LitAccessControl {
address internal immutable LENS_HUB;

View File

@@ -19,6 +19,9 @@ import {ILensHub} from 'contracts/interfaces/ILensHub.sol';
import {LensModule} from 'contracts/modules/LensModule.sol';
/**
* @custom:upgradeable Transparent upgradeable proxy without initializer.
*/
contract SeaDropMintPublicationAction is LensModule, HubRestricted, IPublicationActionModule {
function supportsInterface(bytes4 interfaceID) public pure override returns (bool) {
return interfaceID == type(IPublicationActionModule).interfaceId || super.supportsInterface(interfaceID);

View File

@@ -23,6 +23,8 @@ import {IERC165} from '@openzeppelin/contracts/utils/introspection/IERC165.sol';
* Handle and local name can be used interchangeably once you are in a context of a namespace, as it became redundant.
*
* handle === ${localName} ; inside some namespace.
*
* @custom:upgradeable Transparent upgradeable proxy without initializer.
*/
contract LensHandles is ERC721, ERC2981CollectionRoyalties, ImmutableOwnable, ILensHandles {
using Address for address;