mirror of
https://github.com/lens-protocol/core.git
synced 2026-01-11 07:08:09 -05:00
33 lines
1008 B
Solidity
33 lines
1008 B
Solidity
// SPDX-License-Identifier: MIT
|
|
|
|
pragma solidity ^0.8.19;
|
|
|
|
import {ILensHub} from 'contracts/interfaces/ILensHub.sol';
|
|
import {Errors} from 'contracts/libraries/constants/Errors.sol';
|
|
|
|
/**
|
|
* @title FollowValidationLib
|
|
* @author Lens Protocol
|
|
*
|
|
* @notice A library contract that verifies that a user is following another user and reverts if not.
|
|
*/
|
|
library FollowValidationLib {
|
|
function validateIsFollowing(address hub, uint256 followerProfileId, uint256 followedProfileId) internal view {
|
|
if (!ILensHub(hub).isFollowing(followerProfileId, followedProfileId)) {
|
|
revert Errors.NotFollowing();
|
|
}
|
|
}
|
|
|
|
function validateIsFollowingOrSelf(
|
|
address hub,
|
|
uint256 followerProfileId,
|
|
uint256 followedProfileId
|
|
) internal view {
|
|
// We treat following yourself is always true
|
|
if (followerProfileId == followedProfileId) {
|
|
return;
|
|
}
|
|
validateIsFollowing(hub, followerProfileId, followedProfileId);
|
|
}
|
|
}
|