diff --git a/contracts/FollowNFT.sol b/contracts/FollowNFT.sol index 1479ded..498243d 100644 --- a/contracts/FollowNFT.sol +++ b/contracts/FollowNFT.sol @@ -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; diff --git a/contracts/LensHub.sol b/contracts/LensHub.sol index be112b8..008c77e 100644 --- a/contracts/LensHub.sol +++ b/contracts/LensHub.sol @@ -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, diff --git a/contracts/misc/LensHubInitializable.sol b/contracts/misc/LensHubInitializable.sol index 560c986..6fce830 100644 --- a/contracts/misc/LensHubInitializable.sol +++ b/contracts/misc/LensHubInitializable.sol @@ -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. diff --git a/contracts/misc/access/LitAccessControl.sol b/contracts/misc/access/LitAccessControl.sol index 09360a4..3be46ea 100644 --- a/contracts/misc/access/LitAccessControl.sol +++ b/contracts/misc/access/LitAccessControl.sol @@ -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; diff --git a/contracts/modules/act/seadrop/SeaDropMintPublicationAction.sol b/contracts/modules/act/seadrop/SeaDropMintPublicationAction.sol index 85a8638..25c28e7 100644 --- a/contracts/modules/act/seadrop/SeaDropMintPublicationAction.sol +++ b/contracts/modules/act/seadrop/SeaDropMintPublicationAction.sol @@ -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); diff --git a/contracts/namespaces/LensHandles.sol b/contracts/namespaces/LensHandles.sol index 53e1d4b..9d75c03 100644 --- a/contracts/namespaces/LensHandles.sol +++ b/contracts/namespaces/LensHandles.sol @@ -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;