ITLCV1
Alluvial
TLC Interface (v1)
TLC token interface
Methods
allowance
Returns the remaining number of tokens that spender
will be allowed to spend on behalf of owner
through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.
Parameters
Name | Type | Description |
---|---|---|
owner | address | undefined |
spender | address | undefined |
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | undefined |
approve
Sets amount
as the allowance of spender
over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.
Parameters
Name | Type | Description |
---|---|---|
spender | address | undefined |
amount | uint256 | undefined |
Returns
Name | Type | Description |
---|---|---|
_0 | bool | undefined |
balanceOf
Returns the amount of tokens owned by account
.
Parameters
Name | Type | Description |
---|---|---|
account | address | undefined |
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | undefined |
computeVestingReleasableAmount
Computes the releasable amount of tokens for a vesting schedule.
Parameters
Name | Type | Description |
---|---|---|
_index | uint256 | index of the vesting schedule |
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | amount of releasable tokens |
computeVestingVestedAmount
Computes the vested amount of tokens for a vesting schedule.
Parameters
Name | Type | Description |
---|---|---|
_index | uint256 | index of the vesting schedule |
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | amount of vested tokens |
createVestingSchedule
Creates a new vesting scheduleThere may delay between the time a user should start vesting tokens and the time the vesting schedule is actually created on the contract.Typically a user joins the Liquid Collective but some weeks pass before the user gets all legal agreements in place and signed for thetoken grant emission to happen. In this case, the vesting schedule created for the token grant would start on the join date which is in the past.
As vesting schedules can be created in the past, this means that you should be careful when creating a vesting schedule and what duration parametersyou use as this contract would allow creating a vesting schedule in the past and even a vesting schedule that has already ended.
Parameters
Name | Type | Description |
---|---|---|
_start | uint64 | start time of the vesting |
_cliffDuration | uint32 | duration to vesting cliff (in seconds) |
_duration | uint32 | total vesting schedule duration after which all tokens are vested (in seconds) |
_periodDuration | uint32 | duration of a period after which new tokens unlock (in seconds) |
_lockDuration | uint32 | duration during which tokens are locked (in seconds) |
_revocable | bool | whether the vesting schedule is revocable or not |
_amount | uint256 | amount of token attributed by the vesting schedule |
_beneficiary | address | address of the beneficiary of the tokens |
_delegatee | address | address to delegate escrow voting power to |
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | index of the created vesting schedule |
delegate
Delegates votes from the sender to delegatee
.
Parameters
Name | Type | Description |
---|---|---|
delegatee | address | undefined |
delegateBySig
Delegates votes from signer to delegatee
.
Parameters
Name | Type | Description |
---|---|---|
delegatee | address | undefined |
nonce | uint256 | undefined |
expiry | uint256 | undefined |
v | uint8 | undefined |
r | bytes32 | undefined |
s | bytes32 | undefined |
delegateVestingEscrow
Delegate vesting escrowed tokens
Parameters
Name | Type | Description |
---|---|---|
_index | uint256 | index of the vesting schedule |
_delegatee | address | address to delegate the token to |
Returns
Name | Type | Description |
---|---|---|
_0 | bool | True on success |
delegates
Returns the delegate that account
has chosen.
Parameters
Name | Type | Description |
---|---|---|
account | address | undefined |
Returns
Name | Type | Description |
---|---|---|
_0 | address | undefined |
getPastTotalSupply
Returns the total supply of votes available at the end of a past block (blockNumber
). NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote.
Parameters
Name | Type | Description |
---|---|---|
blockNumber | uint256 | undefined |
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | undefined |
getPastVotes
Returns the amount of votes that account
had at the end of a past block (blockNumber
).
Parameters
Name | Type | Description |
---|---|---|
account | address | undefined |
blockNumber | uint256 | undefined |
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | undefined |
getVestingSchedule
Get vesting schedule
The vesting schedule structure represents a static configuration used to compute the desiredvesting details of a beneficiary at all times. The values won't change even after tokens are released.The only dynamic field of the structure is end, and is updated whenever a vesting schedule is revoked
Parameters
Name | Type | Description |
---|---|---|
_index | uint256 | Index of the vesting schedule |
Returns
Name | Type | Description |
---|---|---|
_0 | VestingSchedulesV2.VestingSchedule | undefined |
getVestingScheduleCount
Get count of vesting schedules
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | count of vesting schedules |
getVotes
Returns the current amount of votes that account
has.
Parameters
Name | Type | Description |
---|---|---|
account | address | undefined |
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | undefined |
initTLCV1
Initializes the TLC Token
Parameters
Name | Type | Description |
---|---|---|
_account | address | The initial account to grant all the minted tokens |
migrateVestingSchedules
Migrates the vesting schedule state structures
releaseVestingSchedule
Release vesting scheduleWhen tokens are released from the escrow, the delegated address of the escrow will see its voting power decrease.The beneficiary has to make sure its delegation parameters are set properly to be able to use/delegate the voting power of its balance.
Parameters
Name | Type | Description |
---|---|---|
_index | uint256 | Index of the vesting schedule to release |
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | released amount |
revokeVestingSchedule
Revoke vesting schedule
Parameters
Name | Type | Description |
---|---|---|
_index | uint256 | Index of the vesting schedule to revoke |
_end | uint64 | End date for the schedule |
Returns
Name | Type | Description |
---|---|---|
returnedAmount | uint256 | amount returned to the vesting schedule creator |
totalSupply
Returns the amount of tokens in existence.
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | undefined |
transfer
Moves amount
tokens from the caller's account to to
. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.
Parameters
Name | Type | Description |
---|---|---|
to | address | undefined |
amount | uint256 | undefined |
Returns
Name | Type | Description |
---|---|---|
_0 | bool | undefined |
transferFrom
Moves amount
tokens from from
to to
using the allowance mechanism. amount
is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.
Parameters
Name | Type | Description |
---|---|---|
from | address | undefined |
to | address | undefined |
amount | uint256 | undefined |
Returns
Name | Type | Description |
---|---|---|
_0 | bool | undefined |
vestingEscrow
Get the address of the escrow for a vesting schedule
Parameters
Name | Type | Description |
---|---|---|
_index | uint256 | Index of the vesting schedule |
Returns
Name | Type | Description |
---|---|---|
_0 | address | address of the escrow |
Events
Approval
Parameters
Name | Type | Description |
---|---|---|
owner | address | undefined |
spender | address | undefined |
value | uint256 | undefined |
CreatedVestingSchedule
A new vesting schedule has been created
Parameters
Name | Type | Description |
---|---|---|
index | uint256 | undefined |
creator | address | undefined |
beneficiary | address | undefined |
amount | uint256 | undefined |
DelegateChanged
Parameters
Name | Type | Description |
---|---|---|
delegator | address | undefined |
fromDelegate | address | undefined |
toDelegate | address | undefined |
DelegateVotesChanged
Parameters
Name | Type | Description |
---|---|---|
delegate | address | undefined |
previousBalance | uint256 | undefined |
newBalance | uint256 | undefined |
DelegatedVestingEscrow
Vesting escrow has been delegated
Parameters
Name | Type | Description |
---|---|---|
index | uint256 | undefined |
oldDelegatee | address | undefined |
newDelegatee | address | undefined |
beneficiary | address | undefined |
ReleasedVestingSchedule
Vesting schedule has been released
Parameters
Name | Type | Description |
---|---|---|
index | uint256 | undefined |
releasedAmount | uint256 | undefined |
RevokedVestingSchedule
Vesting schedule has been revoked
Parameters
Name | Type | Description |
---|---|---|
index | uint256 | undefined |
returnedAmount | uint256 | undefined |
newEnd | uint256 | undefined |
Transfer
Parameters
Name | Type | Description |
---|---|---|
from | address | undefined |
to | address | undefined |
value | uint256 | undefined |
Errors
InvalidRevokedVestingScheduleEnd
Attempt to revoke a vesting schedule with an invalid end parameter
InvalidVestingScheduleParameter
Invalid parameter for a vesting schedule
Parameters
Name | Type | Description |
---|---|---|
msg | string | undefined |
UnsufficientVestingScheduleCreatorBalance
Vesting schedule creator has unsufficient balance to create vesting schedule
VestingScheduleIsLocked
The vesting schedule is locked
VestingScheduleNotRevocable
The vesting schedule is not revocable
VestingScheduleNotRevocableInPast
Attempt to revoke a schedule in the past
ZeroReleasableAmount
No token to release
Last updated