mirror of
https://github.com/lens-protocol/core.git
synced 2026-01-10 14:48:15 -05:00
Merge pull request #142 from lens-protocol/misc/upgradeable-tag-docs
misc: upgradeable tag docs
This commit is contained in:
@@ -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;
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user