TeamManager
Last updated
Last updated
Inherits:, Initializable, PausableUpgradeable, AccessControlUpgradeable, ReentrancyGuardUpgradeable, UUPSUpgradeable
Creates and deploys team vesting contracts
Implements a secure and upgradeable team manager with upgrade timelock
Notes:
security-contact: security@nebula-labs.xyz
copyright: Copyright (c) 2025 Nebula Holding Inc. All rights reserved.
oz-upgrades:
Team allocation percentage of total supply (18%)
Minimum cliff period (3 months)
Maximum cliff period (1 year)
Minimum vesting duration (1 year)
Maximum vesting duration (4 years)
Upgrade timelock duration (4 days)
AccessControl Pauser Role
AccessControl Manager Role
AccessControl Upgrader Role
governance token instance
amount of ecosystem tokens in the contract
amount of tokens allocated so far
timelock address
number of UUPS upgrades
Pending upgrade information
token allocations to team members
vesting contract addresses for team members
gap for future storage variables (50 - 8 existing variables = 42)
Modifier to check for non-zero address
Parameters
addr
address
The address to check
Modifier to check for non-zero amount
Parameters
amount
uint256
The amount to check
Note: oz-upgrades-unsafe-allow: constructor
Prevents receiving Ether
Initializes the team manager contract
Sets up the initial state of the contract with core functionality
Parameters
token
address
The address of the ecosystem token contract
timelock_
address
The address of the timelock controller
multisig
address
The address receiving UPGRADER_ROLE
Pauses all contract operations
Prevents execution of state-modifying functions
Resumes all contract operations
Re-enables execution of state-modifying functions
Create and fund a vesting contract for a new team member
Parameters
beneficiary
address
The address of the team member
amount
uint256
The amount of tokens to vest
cliff
uint256
The cliff period in seconds
duration
uint256
The vesting duration in seconds after cliff
Schedules an upgrade to a new implementation
Parameters
newImplementation
address
Address of the new implementation
Cancels a previously scheduled upgrade
Only callable by addresses with UPGRADER_ROLE
Returns the remaining time before a scheduled upgrade can be executed
Returns
<none>
uint256
timeRemaining The time remaining in seconds, or 0 if no upgrade is scheduled or timelock has passed
Authorizes and processes contract upgrades with timelock enforcement
Internal override for UUPS upgrade authorization
Parameters
newImplementation
address
Address of the new implementation contract