arrow-left

All pages
gitbookPowered by GitBook
1 of 1

Loading...

ITLCV1

Alluvial Finance Inc.

TLC Interface (v1)

TLC token interface

hashtag
Methods

hashtag
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.

hashtag
Parameters

Name
Type
Description

hashtag
Returns

Name
Type
Description

hashtag
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.

hashtag
Parameters

Name
Type
Description

hashtag
Returns

Name
Type
Description

hashtag
balanceOf

Returns the amount of tokens owned by account.

hashtag
Parameters

Name
Type
Description

hashtag
Returns

Name
Type
Description

hashtag
computeVestingReleasableAmount

Computes the releasable amount of tokens for a vesting schedule.

hashtag
Parameters

Name
Type
Description

hashtag
Returns

Name
Type
Description

hashtag
computeVestingVestedAmount

Computes the vested amount of tokens for a vesting schedule.

hashtag
Parameters

Name
Type
Description

hashtag
Returns

Name
Type
Description

hashtag
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 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.

hashtag
Parameters

Name
Type
Description

hashtag
Returns

Name
Type
Description

hashtag
delegate

Delegates votes from the sender to delegatee.

hashtag
Parameters

Name
Type
Description

hashtag
delegateBySig

Delegates votes from signer to delegatee.

hashtag
Parameters

Name
Type
Description

hashtag
delegateVestingEscrow

Delegate vesting escrowed tokens

hashtag
Parameters

Name
Type
Description

hashtag
Returns

Name
Type
Description

hashtag
delegates

Returns the delegate that account has chosen.

hashtag
Parameters

Name
Type
Description

hashtag
Returns

Name
Type
Description

hashtag
getPastTotalSupply

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.

hashtag
Parameters

Name
Type
Description

hashtag
Returns

Name
Type
Description

hashtag
getPastVotes

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.

hashtag
Parameters

Name
Type
Description

hashtag
Returns

Name
Type
Description

hashtag
getVestingSchedule

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

hashtag
Parameters

Name
Type
Description

hashtag
Returns

Name
Type
Description

hashtag
getVestingScheduleCount

Get count of vesting schedules

hashtag
Returns

Name
Type
Description

hashtag
getVotes

Returns the current amount of votes that account has.

hashtag
Parameters

Name
Type
Description

hashtag
Returns

Name
Type
Description

hashtag
initTLCV1

Initializes the TLC Token

hashtag
Parameters

Name
Type
Description

hashtag
isGlobalUnlockedScheduleIgnored

Get vesting global unlock schedule activation status for a vesting schedule

hashtag
Parameters

Name
Type
Description

hashtag
Returns

Name
Type
Description

hashtag
migrateVestingSchedules

Migrates the vesting schedule state structures

hashtag
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.

hashtag
Parameters

Name
Type
Description

hashtag
Returns

Name
Type
Description

hashtag
revokeVestingSchedule

Revoke vesting schedule

hashtag
Parameters

Name
Type
Description

hashtag
Returns

Name
Type
Description

hashtag
totalSupply

Returns the amount of tokens in existence.

hashtag
Returns

Name
Type
Description

hashtag
transfer

Moves amount tokens from the caller's account to to. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.

hashtag
Parameters

Name
Type
Description

hashtag
Returns

Name
Type
Description

hashtag
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.

hashtag
Parameters

Name
Type
Description

hashtag
Returns

Name
Type
Description

hashtag
vestingEscrow

Get the address of the escrow for a vesting schedule

hashtag
Parameters

Name
Type
Description

hashtag
Returns

Name
Type
Description

hashtag
Events

hashtag
Approval

Emitted when the allowance of a spender for an owner is set by a call to {approve}. value is the new allowance.

hashtag
Parameters

Name
Type
Description

hashtag
CreatedVestingSchedule

A new vesting schedule has been created

hashtag
Parameters

Name
Type
Description

hashtag
DelegateChanged

Emitted when an account changes their delegate.

hashtag
Parameters

Name
Type
Description

hashtag
DelegateVotesChanged

Emitted when a token transfer or delegate change results in changes to a delegate's number of votes.

hashtag
Parameters

Name
Type
Description

hashtag
DelegatedVestingEscrow

Vesting escrow has been delegated

hashtag
Parameters

Name
Type
Description

hashtag
ReleasedVestingSchedule

Vesting schedule has been released

hashtag
Parameters

Name
Type
Description

hashtag
RevokedVestingSchedule

Vesting schedule has been revoked

hashtag
Parameters

Name
Type
Description

hashtag
Transfer

Emitted when value tokens are moved from one account (from) to another (to). Note that value may be zero.

hashtag
Parameters

Name
Type
Description

hashtag
Errors

hashtag
GlobalUnlockUnderlfow

Underflow in global unlock logic (should never happen)

hashtag
InvalidRevokedVestingScheduleEnd

Attempt to revoke a vesting schedule with an invalid end parameter

hashtag
InvalidVestingScheduleParameter

Invalid parameter for a vesting schedule

hashtag
Parameters

Name
Type
Description

hashtag
UnsufficientVestingScheduleCreatorBalance

Vesting schedule creator has unsufficient balance to create vesting schedule

hashtag
VestingScheduleIsLocked

The vesting schedule is locked

hashtag
VestingScheduleNotRevocable

The vesting schedule is not revocable

hashtag
VestingScheduleNotRevocableInPast

Attempt to revoke a schedule in the past

hashtag
ZeroReleasableAmount

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 nonpayable
function delegateBySig(address delegatee, uint256 nonce, uint256 expiry, uint8 v, bytes32 r, bytes32 s) external nonpayable
function 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 nonpayable
function isGlobalUnlockedScheduleIgnored(uint256 _index) external view returns (bool)
function migrateVestingSchedules() external nonpayable
function 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()