Fei Protocol
Search…
TimelockedDelegator
A LinearTokenTimelock for TRIBE with the ability to sub-delegate locked tokens

Contract

Description

A TRIBE token timelock which allows subdelegation. Managed by the Fei Core Team to distribute vested TRIBE and voting rights to team members and investors.
The contract receives TRIBE tokens that vest linearly over a 4 year schedule to a beneficiary.

Sub-Delegation

During the elected timelock period, any TRIBE in the timelock can be sub-delegated to any address. The TimelockedDelegator creates a proxy delegate contract which escrows the TRIBE and sub-delegates. It can then withdraw voting rights at any time.
The beneficiary decides where to delegate and undelegate. All TRIBE held in the timelock that is not sub-delegated is delegated to the beneficiary.

Events

Delegate
Undelegate
delegate TRIBE tokens from timelock
type
param
description
address indexed
_delegatee
delegatee to recieve the TRIBE votes
uint256
_amount
amount of TRIBE delegated
Remove TRIBE votes from delegatee
type
param
description
address indexed
_delegatee
delegatee to remove TRIBE votes
uint256
_amount
amount of TRIBE undelegated

Read-Only Functions

delegateContract

1
function delegateContract(address delegatee)
2
external
3
view
4
returns (address);
Copied!
Returns the contract address escrowing and delegating the TRIBE for delegatee.

delegateAmount

1
function delegateAmount(address delegatee) external view returns (uint256);
Copied!
Returns the amount of TRIBE delegated in the escrow contract for delegatee

totalDelegated

1
function totalDelegated() external view returns (uint256);
Copied!
Returns the total amount of TRIBE delegated in proxy contracts, excluding the TRIBE held natively in the TimelockedDelegator.

tribe

1
function tribe() external view returns (ITribe);
Copied!
A reference to the TRIBE contract.

State-Changing Functions

Beneficiary-Only👑

delegate

1
function delegate(address delegatee, uint256 amount) external;
Copied!
Delegates amount of TRIBE from the TimelockedDelegator to delegatee by creating a proxy and transferring TRIBE to it.
If delegatee already has delegation, the TimelockedDelegator undelegates it and increments amount before sending to the proxy.
emits Delegate and Undelegate if the delegatee already has some delegated

undelegate

1
function undelegate(address delegatee) external returns (uint256);
Copied!
Withdraws all TRIBE from the delegate proxy contract associated with delegatee and returns the amount received.
emits Undelegate

ABIs

TimelockedDelegator.json
5KB
Code
TimelockedDelegator ABI
ITimelockedDelegator.json
2KB
Code
TimelockedDelegator Interface ABI
Last modified 10mo ago