Inherits: Initializable, ContextUpgradeable, ITeamControlled
Author: Daniel Yamagata & Jerry Qi & Naveen Ailawadi
A base contract whose inheritors can enforce ownership-like access control. This access control is non-transferrable and cannot be renounced.
State Variables
TeamControlledStorageLocation
bytes32 private constant TeamControlledStorageLocation =
0xb816793abbf480753098fb767c6f1dcec3044cd562367c4739d88482505d6d00;
Functions
_getTeamControlledStorage
function _getTeamControlledStorage() internal pure returns (TeamControlledStorage storage $);
onlyTeam
Reverts if the caller is not the 'team'
onlyTeamOrAncestor
Reverts if the caller is not the 'team' or its ancestor
modifier onlyTeamOrAncestor();
__TeamControlled_init
Sets the '_team' variable and validate that it supports the ITeam interface
function __TeamControlled_init(address initTeam) internal virtual onlyInitializing;
team
Returns the address of the team, which act similar to an 'owner' of the contract
function team() public view virtual returns (address);
_isCallerTeam
function _isCallerTeam() internal view returns (bool);
_validateCallerIsTeam
Reverts if the caller is not the 'team'
function _validateCallerIsTeam() internal view;
_validateCallerIsTeamOrAncestor
Reverts if the caller is not the 'team' or an ancestor of the 'team'
function _validateCallerIsTeamOrAncestor() internal view;
Structs
TeamControlledStorage
struct TeamControlledStorage {
address _team;
}