LogoLogo
General DocsTechnical DocsSource CodeMarketing SiteGet Early Access
  • Protocol
    • Overview
    • Treasury & Departments
      • Signers & Access Control
      • Spending Funds & Allowance
      • Departments
    • Capital Stack
      • Share Classes
      • Debt
    • Shareholder Governance
    • Modules
      • Equity Financing Module
        • Priced Rounds
        • SAFEs
      • Billing
      • Payroll
      • Documents
      • Vesting & Unlocks
    • Lifecycle Events
      • Recapitalization
      • Liquidation
      • Acquisition
    • KYC Procceses
  • Smart Contracts
    • Overview
    • Smart Contract Security
    • Deployment of Core Contracts
    • Contract Upgrades
    • Mezz Guards
    • Documents
    • Glossary
    • Source Code
      • Core
        • Base
          • Team
          • TeamControlled
          • AdminControlled
          • Credentialed
          • MezzUUPSUpgradeable
        • MezzShares
          • CommonShares
          • PreferredShares
        • Treasury
        • Department
          • GeneralDepartment
        • Module
          • EquityFinancingModule
        • CapitalStack
        • DelegateRegistry
        • TokenTimelock
        • PayrollManager
        • PricedRound
        • MezzGovernor
          • ProposalGovernor
          • StartupGovernor
          • ShareClassGovernor
          • LateStageGovernor
        • MezzGuard
          • BlacklistGuard
          • WhitelistGuard
          • ShareholderGuard
      • MezzHub
      • MezzDeployer
      • MezzMigrator
      • BillingRouter
      • DocumentRegistry
      • FeeController
      • Events
      • Errors
  • Technical Documentation
    • Creating a Custom Module
Powered by GitBook
On this page
  • State Variables
  • TeamControlledStorageLocation
  • Functions
  • _getTeamControlledStorage
  • onlyTeam
  • onlyTeamOrAncestor
  • __TeamControlled_init
  • team
  • _isCallerTeam
  • _validateCallerIsTeam
  • _validateCallerIsTeamOrAncestor
  • Structs
  • TeamControlledStorage
  1. Smart Contracts
  2. Source Code
  3. Core
  4. Base

TeamControlled

PreviousTeamNextAdminControlled

Last updated 1 year ago

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