Alluvial Finance Inc.
TLC Interface (v1)
TLC token interface
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.
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.
Returns the amount of tokens owned by account.
Computes the releasable amount of tokens for a vesting schedule.
Computes the vested amount of tokens for a vesting schedule.
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 the token 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 parameters you use as this contract would allow creating a vesting schedule in the past and even a vesting schedule that has already ended.
Delegates votes from the sender to delegatee.
Delegates votes from signer to delegatee.
Delegate vesting escrowed tokens
Returns the delegate that account has chosen.
Returns the total supply of votes available at a specific moment in the past. If the clock() is configured to use block numbers, this will return the value at the end of the corresponding block. 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.
Returns the amount of votes that account had at a specific moment in the past. If the clock() is configured to use block numbers, this will return the value at the end of the corresponding block.
Get vesting schedule
The vesting schedule structure represents a static configuration used to compute the desired vesting 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
Get count of vesting schedules
Returns the current amount of votes that account has.
Initializes the TLC Token
Get vesting global unlock schedule activation status for a vesting schedule
Migrates the vesting schedule state structures
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.
Revoke vesting schedule
Returns the amount of tokens in existence.
Moves amount tokens from the caller's account to to. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.
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.
Get the address of the escrow for a vesting schedule
Emitted when the allowance of a spender for an owner is set by a call to {approve}. value is the new allowance.
A new vesting schedule has been created
Emitted when an account changes their delegate.
Emitted when a token transfer or delegate change results in changes to a delegate's number of votes.
Vesting escrow has been delegated
Vesting schedule has been released
Vesting schedule has been revoked
Emitted when value tokens are moved from one account (from) to another (to). Note that value may be zero.
Underflow in global unlock logic (should never happen)
Attempt to revoke a vesting schedule with an invalid end parameter
Invalid parameter for a vesting schedule
Vesting schedule creator has unsufficient balance to create vesting schedule
The vesting schedule is locked
The vesting schedule is not revocable
Attempt to revoke a schedule in the past
No token to release
_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
_ignoreGlobalUnlockSchedule
bool
whether the vesting schedule should ignore the global lock
r
bytes32
undefined
s
bytes32
undefined
owner
address
undefined
spender
address
undefined
_0
uint256
undefined
spender
address
undefined
amount
uint256
undefined
_0
bool
undefined
account
address
undefined
_0
uint256
undefined
_index
uint256
index of the vesting schedule
_0
uint256
amount of releasable tokens
_index
uint256
index of the vesting schedule
_0
uint256
amount of vested tokens
_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
_0
uint256
index of the created vesting schedule
delegatee
address
undefined
delegatee
address
undefined
nonce
uint256
undefined
expiry
uint256
undefined
v
uint8
_index
uint256
index of the vesting schedule
_delegatee
address
address to delegate the token to
_0
bool
True on success
account
address
undefined
_0
address
undefined
timepoint
uint256
undefined
_0
uint256
undefined
account
address
undefined
timepoint
uint256
undefined
_0
uint256
undefined
_index
uint256
Index of the vesting schedule
_0
VestingSchedulesV2.VestingSchedule
undefined
_0
uint256
count of vesting schedules
account
address
undefined
_0
uint256
undefined
_account
address
The initial account to grant all the minted tokens
_index
uint256
Index of the vesting schedule
_0
bool
true if the vesting schedule should ignore the global unlock schedule
_index
uint256
Index of the vesting schedule to release
_0
uint256
released amount
_index
uint256
Index of the vesting schedule to revoke
_end
uint64
End date for the schedule
returnedAmount
uint256
amount returned to the vesting schedule creator
_0
uint256
undefined
to
address
undefined
amount
uint256
undefined
_0
bool
undefined
from
address
undefined
to
address
undefined
amount
uint256
undefined
_0
bool
undefined
_index
uint256
Index of the vesting schedule
_0
address
address of the escrow
owner indexed
address
undefined
spender indexed
address
undefined
value
uint256
undefined
index
uint256
Vesting schedule index
creator indexed
address
Creator of the vesting schedule
beneficiary indexed
address
Vesting beneficiary address
amount
uint256
delegator indexed
address
undefined
fromDelegate indexed
address
undefined
toDelegate indexed
address
undefined
delegate indexed
address
undefined
previousBalance
uint256
undefined
newBalance
uint256
undefined
index
uint256
Vesting schedule index
oldDelegatee indexed
address
old delegatee
newDelegatee indexed
address
new delegatee
beneficiary indexed
address
index
uint256
Vesting schedule index
releasedAmount
uint256
Amount of tokens released to the beneficiary
index
uint256
Vesting schedule index
returnedAmount
uint256
Amount of tokens returned to the creator
newEnd
uint256
New end timestamp after revoke action
from indexed
address
undefined
to indexed
address
undefined
value
uint256
undefined
msg
string
undefined
duration of a period after which new tokens unlock (in seconds)
undefined
Vesting schedule amount
vesting schedule beneficiary
function allowance(address owner, address spender) external view returns (uint256)function approve(address spender, uint256 amount) external nonpayable returns (bool)function balanceOf(address account) external view returns (uint256)function computeVestingReleasableAmount(uint256 _index) external view returns (uint256)function computeVestingVestedAmount(uint256 _index) external view returns (uint256)function createVestingSchedule(uint64 _start, uint32 _cliffDuration, uint32 _duration, uint32 _periodDuration, uint32 _lockDuration, bool _revocable, uint256 _amount, address _beneficiary, address _delegatee, bool _ignoreGlobalUnlockSchedule) external nonpayable returns (uint256)function delegate(address delegatee) external nonpayablefunction delegateBySig(address delegatee, uint256 nonce, uint256 expiry, uint8 v, bytes32 r, bytes32 s) external nonpayablefunction delegateVestingEscrow(uint256 _index, address _delegatee) external nonpayable returns (bool)function delegates(address account) external view returns (address)function getPastTotalSupply(uint256 timepoint) external view returns (uint256)function getPastVotes(address account, uint256 timepoint) external view returns (uint256)function getVestingSchedule(uint256 _index) external view returns (struct VestingSchedulesV2.VestingSchedule)function getVestingScheduleCount() external view returns (uint256)function getVotes(address account) external view returns (uint256)function initTLCV1(address _account) external nonpayablefunction isGlobalUnlockedScheduleIgnored(uint256 _index) external view returns (bool)function migrateVestingSchedules() external nonpayablefunction releaseVestingSchedule(uint256 _index) external nonpayable returns (uint256)function revokeVestingSchedule(uint256 _index, uint64 _end) external nonpayable returns (uint256 returnedAmount)function totalSupply() external view returns (uint256)function transfer(address to, uint256 amount) external nonpayable returns (bool)function transferFrom(address from, address to, uint256 amount) external nonpayable returns (bool)function vestingEscrow(uint256 _index) external view returns (address)event Approval(address indexed owner, address indexed spender, uint256 value)event CreatedVestingSchedule(uint256 index, address indexed creator, address indexed beneficiary, uint256 amount)event DelegateChanged(address indexed delegator, address indexed fromDelegate, address indexed toDelegate)event DelegateVotesChanged(address indexed delegate, uint256 previousBalance, uint256 newBalance)event DelegatedVestingEscrow(uint256 index, address indexed oldDelegatee, address indexed newDelegatee, address indexed beneficiary)event ReleasedVestingSchedule(uint256 index, uint256 releasedAmount)event RevokedVestingSchedule(uint256 index, uint256 returnedAmount, uint256 newEnd)event Transfer(address indexed from, address indexed to, uint256 value)error GlobalUnlockUnderlfow()error InvalidRevokedVestingScheduleEnd()error InvalidVestingScheduleParameter(string msg)error UnsufficientVestingScheduleCreatorBalance()error VestingScheduleIsLocked()error VestingScheduleNotRevocable()error VestingScheduleNotRevocableInPast()error ZeroReleasableAmount()