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.
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.
delegate TRIBE tokens from timelock
delegatee to recieve the TRIBE votes
amount of TRIBE delegated
Remove TRIBE votes from delegatee
delegatee to remove TRIBE votes
amount of TRIBE undelegated
function delegateContract(address delegatee)externalviewreturns (address);
Returns the contract address escrowing and delegating the TRIBE for
function delegateAmount(address delegatee) external view returns (uint256);
Returns the amount of TRIBE delegated in the escrow contract for
function totalDelegated() external view returns (uint256);
Returns the total amount of TRIBE delegated in proxy contracts, excluding the TRIBE held natively in the TimelockedDelegator.
function tribe() external view returns (ITribe);
A reference to the TRIBE contract.
function delegate(address delegatee, uint256 amount) external;
amount of TRIBE from the TimelockedDelegator to
delegatee by creating a proxy and transferring TRIBE to it.
delegatee already has delegation, the TimelockedDelegator undelegates it and increments
amount before sending to the proxy.
Undelegate if the
delegatee already has some delegated
function undelegate(address delegatee) external returns (uint256);
Withdraws all TRIBE from the delegate proxy contract associated with
delegatee and returns the amount received.