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
  • AdminControlledStorageLocation
  • Functions
  • _getAdminControlledStorage
  • onlyAdmin
  • addAdmin
  • removeAdmin
  • isAdmin
  • getAdmins
  • _validateCallerIsBoardOrAdmin
  • _isCallerBoardOrAdmin
  • Structs
  • AdminControlledStorage
  1. Smart Contracts
  2. Source Code
  3. Core
  4. Base

AdminControlled

PreviousTeamControlledNextCredentialed

Last updated 1 year ago

Inherits: BoardControlled, IAdminControlled

Author: Daniel Yamagata

A base contract that is inherited by contracts meant to be controlled by a company's board of directors and a set of admins

State Variables

AdminControlledStorageLocation

bytes32 private constant AdminControlledStorageLocation =
    0xe8d3a2e05e64290a0f2256f86af6161ca7eebf433b9b144d23028b2415816200;

Functions

_getAdminControlledStorage

function _getAdminControlledStorage() internal pure returns (AdminControlledStorage storage $);

onlyAdmin

Reverts if the caller is not the board or an admin

modifier onlyAdmin();

addAdmin

Adds 'adminToAdd' to the list of admins

function addAdmin(address adminToAdd) external onlyBoard;

removeAdmin

Removes 'adminToRemove' from the list of admins

function removeAdmin(address adminToRemove) external onlyBoard;

isAdmin

Returns true if the 'adminToCheck' is part of the admins set

function isAdmin(address adminToCheck) public view returns (bool);

getAdmins

Returns the list of admins

function getAdmins() public view returns (address[] memory);

_validateCallerIsBoardOrAdmin

Reverts if the caller is not the board or an admin

function _validateCallerIsBoardOrAdmin() internal view virtual;

_isCallerBoardOrAdmin

Returns true if the caller is the board or an admin

function _isCallerBoardOrAdmin() internal view virtual returns (bool);

Structs

AdminControlledStorage

struct AdminControlledStorage {
    EnumerableSet.AddressSet _admins;
}
Git Source