Lendefi DAO
  • Home
  • ❱ audit
    • Ecosystem
    • GovernanceToken
    • InvestmentManager
    • InvestorVesting
    • LendefiGovernor
    • PartnerVesting
    • TeamManager
    • TeamVesting
    • Treasury
    • Deploy
  • ❱ ecosystem
    • Ecosystem
    • GovernanceToken
    • InvestmentManager
    • InvestorVesting
    • LendefiGovernor
    • PartnerVesting
    • TeamManager
    • TeamVesting
    • Treasury
  • ❱ interfaces
    • IECOSYSTEM
    • IINVMANAGER
    • ILENDEFI
    • IPARTNERVESTING
    • ITEAMMANAGER
    • ITEAMVESTING
    • ITREASURY
    • IVESTING
  • ❱ deploys
  • ❱ tokenomics
Powered by GitBook
On this page
  • Functions
  • pause
  • unpause
  • addTeamMember
  • scheduleUpgrade
  • upgradeTimelockRemaining
  • version
  • allocations
  • vestingContracts
  • supply
  • totalAllocation
  • pendingUpgrade
  • timelock
  • cancelUpgrade
  • Events
  • Initialized
  • Upgrade
  • AddTeamMember
  • UpgradeScheduled
  • UpgradeCancelled
  • Errors
  • ZeroAddress
  • ZeroAmount
  • BeneficiaryAlreadyExists
  • InvalidCliff
  • InvalidDuration
  • SupplyExceeded
  • UpgradeTimelockActive
  • UpgradeNotScheduled
  • ImplementationMismatch
  • ValidationFailed
  • Structs
  • UpgradeRequest
  1. ❱ interfaces

ITEAMMANAGER

PreviousIPARTNERVESTINGNextITEAMVESTING

Last updated 2 months ago

Interface for the Lendefi DAO Team Manager

Notes:

  • security-contact: security@nebula-labs.xyz

  • copyright: Copyright (c) 2025 Nebula Holding Inc. All rights reserved.

Functions

pause

Pause contract.

function pause() external;

unpause

Unpause contract.

function unpause() external;

addTeamMember

Create and fund a vesting contract for a new team member

function addTeamMember(address beneficiary, uint256 amount, uint256 cliff, uint256 duration) external;

Parameters

Name
Type
Description

beneficiary

address

beneficiary address

amount

uint256

token amount

cliff

uint256

cliff period in seconds

duration

uint256

vesting duration in seconds after cliff (e.g. 24 months)

scheduleUpgrade

Schedules an upgrade to a new implementation

function scheduleUpgrade(address newImplementation) external;

Parameters

Name
Type
Description

newImplementation

address

Address of the new implementation

upgradeTimelockRemaining

Returns the remaining time before a scheduled upgrade can be executed

function upgradeTimelockRemaining() external view returns (uint256);

Returns

Name
Type
Description

<none>

uint256

The time remaining in seconds, or 0 if no upgrade is scheduled or timelock has passed

version

Getter for the UUPS version, incremented each time an upgrade occurs.

function version() external view returns (uint32);

Returns

Name
Type
Description

<none>

uint32

version number (1,2,3)

allocations

Getter for the amount of tokens allocated to team member.

function allocations(address account) external view returns (uint256);

Parameters

Name
Type
Description

account

address

address

Returns

Name
Type
Description

<none>

uint256

amount of tokens allocated to member

vestingContracts

Getter for the address of vesting contract created for team member.

function vestingContracts(address account) external view returns (address);

Parameters

Name
Type
Description

account

address

address

Returns

Name
Type
Description

<none>

address

vesting contract address

supply

Starting supply allocated to team.

function supply() external view returns (uint256);

Returns

Name
Type
Description

<none>

uint256

amount

totalAllocation

Total amount of token allocated so far.

function totalAllocation() external view returns (uint256);

Returns

Name
Type
Description

<none>

uint256

amount

pendingUpgrade

Access the pending upgrade information

function pendingUpgrade() external view returns (address implementation, uint64 scheduledTime, bool exists);

Returns

Name
Type
Description

implementation

address

The address of the pending implementation

scheduledTime

uint64

The timestamp when the upgrade was scheduled

exists

bool

Whether a pending upgrade exists

timelock

Get the timelock address.

function timelock() external view returns (address);

Returns

Name
Type
Description

<none>

address

Address of the timelock controller

cancelUpgrade

Cancels a previously scheduled upgrade

Removes a pending upgrade from the schedule

Notes:

  • access: Restricted to UPGRADER_ROLE

  • state-changes:

  • Clears the pendingUpgrade data

  • Emits an UpgradeCancelled event

function cancelUpgrade() external;

Events

Initialized

Initialized Event.

event Initialized(address indexed src);

Parameters

Name
Type
Description

src

address

sender address

Upgrade

Upgrade Event.

event Upgrade(address indexed src, address indexed implementation);

Parameters

Name
Type
Description

src

address

sender address

implementation

address

address

AddTeamMember

AddTeamMember Event.

event AddTeamMember(address indexed account, address indexed vesting, uint256 amount);

Parameters

Name
Type
Description

account

address

member address

vesting

address

contract address

amount

uint256

of tokens allocated to vesting

UpgradeScheduled

Emitted when an upgrade is scheduled

event UpgradeScheduled(
    address indexed sender, address indexed implementation, uint64 scheduledTime, uint64 effectiveTime
);

Parameters

Name
Type
Description

sender

address

The address that scheduled the upgrade

implementation

address

The new implementation address

scheduledTime

uint64

The time when the upgrade was scheduled

effectiveTime

uint64

The time when the upgrade can be executed

UpgradeCancelled

Emitted when a scheduled upgrade is cancelled

event UpgradeCancelled(address indexed canceller, address indexed implementation);

Parameters

Name
Type
Description

canceller

address

The address that cancelled the upgrade

implementation

address

The implementation address that was cancelled

Errors

ZeroAddress

Error thrown when an address parameter is zero

error ZeroAddress();

ZeroAmount

Error thrown when an amount parameter is zero

error ZeroAmount();

BeneficiaryAlreadyExists

Error thrown when a beneficiary already has an allocation

error BeneficiaryAlreadyExists(address beneficiary);

Parameters

Name
Type
Description

beneficiary

address

The address that already has an allocation

InvalidCliff

Error thrown when cliff is outside allowed range

error InvalidCliff(uint256 provided, uint256 minAllowed, uint256 maxAllowed);

Parameters

Name
Type
Description

provided

uint256

The provided cliff duration

minAllowed

uint256

The minimum allowed cliff duration

maxAllowed

uint256

The maximum allowed cliff duration

InvalidDuration

Error thrown when duration is outside allowed range

error InvalidDuration(uint256 provided, uint256 minAllowed, uint256 maxAllowed);

Parameters

Name
Type
Description

provided

uint256

The provided vesting duration

minAllowed

uint256

The minimum allowed vesting duration

maxAllowed

uint256

The maximum allowed vesting duration

SupplyExceeded

Error thrown when allocation exceeds remaining supply

error SupplyExceeded(uint256 requested, uint256 available);

Parameters

Name
Type
Description

requested

uint256

The requested allocation amount

available

uint256

The available supply

UpgradeTimelockActive

Error thrown when trying to execute an upgrade too soon

error UpgradeTimelockActive(uint256 remainingTime);

Parameters

Name
Type
Description

remainingTime

uint256

The time remaining until upgrade can be executed

UpgradeNotScheduled

Error thrown when trying to execute an upgrade that wasn't scheduled

error UpgradeNotScheduled();

ImplementationMismatch

Error thrown when trying to execute an upgrade with wrong implementation

error ImplementationMismatch(address expected, address provided);

Parameters

Name
Type
Description

expected

address

The expected implementation address

provided

address

The provided implementation address

ValidationFailed

Error thrown for general validation failures

error ValidationFailed(string reason);

Parameters

Name
Type
Description

reason

string

Description of the validation failure

Structs

UpgradeRequest

Upgrade request details

Tracks pending contract upgrades with timelock

struct UpgradeRequest {
    address implementation;
    uint64 scheduledTime;
    bool exists;
}

Properties

Name
Type
Description

implementation

address

New implementation contract address

scheduledTime

uint64

When the upgrade was requested

exists

bool

Whether this upgrade request is active

Git Source