Comment on page
TimelockedDelegator
A LinearTokenTimelock for RING with the ability to sub-delegate locked tokens
A RING token timelock which allows subdelegation. Managed by the Ring Core Team to distribute vested RING and voting rights to team members and investors.
The contract receives RING tokens that vest linearly over a 4 year schedule to a beneficiary.
During the elected timelock period, any RING in the timelock can be sub-delegated to any address. The TimelockedDelegator creates a proxy delegate contract which escrows the RING and sub-delegates. It can then withdraw voting rights at any time.
The beneficiary decides where to delegate and undelegate. All RING held in the timelock that is not sub-delegated is delegated to the beneficiary.
Delegate
Undelegate
delegate RING tokens from timelock
type | param | description |
address indexed | _delegatee | delegatee to recieve the RING votes |
uint256 | _amount | amount of RING delegated |
Remove RING votes from delegatee
type | param | description |
address indexed | _delegatee | delegatee to remove RING votes |
uint256 | _amount | amount of RING undelegated |
function delegateContract(address delegatee)
external
view
returns (address);
Returns the contract address escrowing and delegating the RING for
delegatee
.function delegateAmount(address delegatee) external view returns (uint256);
Returns the amount of RING delegated in the escrow contract for
delegatee
function totalDelegated() external view returns (uint256);
Returns the total amount of RING delegated in proxy contracts, excluding the RING held natively in the TimelockedDelegator.
function ring() external view returns (IRing);
function delegate(address delegatee, uint256 amount) external;
Delegates
amount
of RING from the TimelockedDelegator to delegatee
by creating a proxy and transferring RING 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 delegatedfunction undelegate(address delegatee) external returns (uint256);
Withdraws all RING from the delegate proxy contract associated with
delegatee
and returns the amount received.emits
Undelegate
timelockeddelegator.json
5KB
Code
TimelockedDelegator ABI
itimelockeddelegator.json
2KB
Code
TimelockedDelegator Interface ABI
Last modified 2yr ago