TeamControlled

Git Source

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'

modifier onlyTeam();

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;
}

Last updated