Technical Reference
Functions Write
PayForFreeTokenLocks
function payForFreeTokenLocks( address _token) external payable
Permits to pay a once off fee to have free use of the lockers for the token.
Parameters:
_token
address
The address of the token to be locked for free.
EditZeroFeeWhitelist
function editZeroFeeWhitelist( address _token, bool _add) external
Callable by UNCX_ADMINS or whitelisted contracts.
Parameters:
_token
address
The address of the token to be added or removed from the whitelist.
_add
bool
Indicates if the token should be added (true) or removed (false) from the whitelist.
Lock
function lock( address _token, LockParams[] calldata _lock_params) external
Creates one or multiple locks for the specified token.
Parameters:
LockParams
An object that contains: owner
(address), amount
(uint256), startEmission
(uint256), endEmission
(uint256), and condition
(address).
Withdraw
function withdraw( uint256 _lockID, uint256 _amount) external
Withdraws a specified amount from a lock.
Parameters:
_lockID
uint256
The ID of the lock from which tokens will be withdrawn.
_amount
uint256
The desired amount of tokens to be withdrawn.
Relock
function relock(uint256 _lockID, uint256 _unlock_date) external
Extends a lock with a new unlock date, if lock is Type 2 it extends the emission end date.
Parameters:
_lockID
uint256
The ID of the lock which needs to have its unlock date extended.
_unlock_date
uint256
The new unlock date. If the lock is Type 2, this extends the emission end date.
IncrementLock
function incrementLock( uint256 _lockID, uint256 _amount) external
Increases the amount of tokens per a specific lock.
Parameters:
_lockID
uint256
The ID of the lock which will have its token amount increased.
_amount
uint256
The amount of additional tokens to be added to the specified lock.
TransferLockOwnership
function transferLockOwnership( uint256 _lockID, address payable _newOwner) external
Transfers a lock to a new owner.
Parameters:
_lockID
uint256
The ID of the lock whose ownership will be transferred.
_newOwner
address payable
The address of the new owner to whom the lock will be transferred.
SplitLock
function splitLock( uint256 _lockID, uint256 _amount) external
Splits a lock into two seperate locks.
Parameters:
_lockID
uint256
The ID of the lock which will be split.
_amount
uint256
The amount in tokens which will form one part of the split lock.
Migrate
function migrate( uint256 _lockID, uint256 _option) external
Migrates to the next locker version.
Parameters:
_lockID
uint256
The ID of the lock which will be migrated to the next locker version.
_option
uint256
An option for migration. The exact meaning would depend on the migration logic.
RevokeCondition
function revokeCondition( uint256 _lockID) external
Revokes premature unlock conditions.
Parameters:
_lockID
uint256
The ID of the lock whose premature unlock condition will be revoked.
Functions View
TestCondition
function testCondition (address condition) external view returns (bool)
Parameters:
condition
address
The condition's address to test on the frontend UI.
Return Values:
bool
The result of the condition tested in the frontend UI.
GetWithdrawableShares
function getWithdrawableShares (uint256 _lockID) public view returns (uint256)
Parameters:
_lockID
uint256
The ID of the lock for which shares are being queried.
Return Values:
uint256
The withdrawable share amount from the lock.
GetWithdrawableTokens
function getWithdrawableTokens (uint256 _lockID) external view returns (uint256)
Parameters:
_lockID
uint256
The ID of the lock for which tokens are being queried.
Return Values:
uint256
The current amount in tokens that can be withdrawn.
ConvertSharesToTokens
function convertSharesToTokens (address _token, uint256 _shares) external view returns (uint256)
Parameters:
_token
address
The token's address.
_shares
uint256
The number of shares to convert.
Return Values:
uint256
The equivalent amount of tokens for the provided shares.
convertTokensToShares
function convertTokensToShares (address _token, uint256 _tokens) external view returns (uint256)
Parameters:
_token
address
The token's address.
_tokens
uint256
The number of tokens to convert.
Return Values:
uint256
The equivalent amount of shares for the provided tokens.
GetLock
function getLock ( uint256 _lockID) external view returns ( uint256, address, uint256, uint256, uint256, uint256, uint256, uint256, address, address)
Parameters:
_lockID
uint256
The ID of the lock being queried.
Return Values:
GetNumLockedTokens
function getNumLockedTokens () external view returns (uint256)
Return Values:
uint256
Number of locked tokens.
GetTokenAtIndex
function getTokenAtIndex (uint256 _index) external view returns (address)
Parameters:
_index
uint256
The index of the token queried.
Return Values:
address
Token's address at the given index.
GetTokenLocksLength
function getTokenLocksLength (address _token) external view returns (uint256)
Parameters:
_token
address
The token's address.
Return Values:
uint256
Token Lock ID at the specified index.
GetTokenLockIDAtIndex
function getTokenLockIDAtIndex (address _token, uint256 _index) external view returns (uint256)
Parameters:
_token
address
The token's address.
_index
uint256
The index of the lock queried.
Return Values:
uint256
Token Lock ID at the specified index.
GetUserLockedTokensLength
function getUserLockedTokensLength (address _user) external view returns (uint256)
Parameters:
_user
address
The user's address queried.
Return Values:
uint256
Number of tokens locked by the user.
GetUserLockedTokenAtIndex
function getUserLockedTokenAtIndex (address _user, uint256 _index) external view returns (address)
Parameters:
_user
address
The user's address queried.
_index
uint256
The index of the token queried.
Return Values:
address
Token address at the specified index for the user.
GetUserLocksForTokenLength
function getUserLocksForTokenLength (address _user, address _token) external view returns (uint256)
Parameters:
_user
address
The user's address.
_token
address
The token's address.
Return Values:
uint256
Number of locks for a token for the user.
GetUserLockIDForTokenAtIndex
function getUserLockIDForTokenAtIndex (address _user, address _token, uint256 _index) external view returns (uint256)
Parameters:
_user
address
The user's address.
_token
address
The token's address.
_index
uint256
The index of the lock queried.
Return Values:
uint256
Lock ID for a token at the specified index for the user.
GetZeroFeeTokensLength
function getZeroFeeTokensLength () external view returns (uint256)
Return Values:
uint256
Length of no fee tokens.
GetZeroFeeTokenAtIndex
function getZeroFeeTokensLength () external view returns (uint256)
Parameters:
_index
uint256
The index of the token queried.
Return Values:
address
No fee token at the given index.
TokenOnZeroFeeWhitelist
function tokenOnZeroFeeWhitelist (address _token) external view returns (bool)
Parameters:
_token
address
The token's address.
Return Values:
bool
Whether the token is on the no fee whitelist.
GetTokenWhitelisterLength
function getTokenWhitelisterLength () external view returns (uint256)
Return Values:
uint256
Length of token whitelisters.
GetTokenWhitelisterAtIndex
function getTokenWhitelisterAtIndex (uint256 _index) external view returns (address)
Parameters:
_index
uint256
The index of the whitelister queried.
Return Values:
address
Token whitelister at the given index.
GetTokenWhitelisterStatus
function getTokenWhitelisterStatus (address _user) external view returns (bool)
Parameters:
_user
address
The user's address whose status is queried.
Return Values:
bool
Whitelister status of the specified user.
Events
OnLock
event onLock( uint256 lockID, address token, address owner, uint256 amountInTokens, uint256 amountInShares, uint256 startEmission, uint256 endEmission, address unlockCondition)
Parameters:
lockID
uint256
ID of the lock.
token
address
Token address.
owner
address
Address of the lock owner.
amountInTokens
uint256
Amount of tokens in the lock.
amountInShares
uint256
Amount of shares in the lock.
startEmission
uint256
Start time of emission.
endEmission
uint256
End time of emission.
unlockCondition
address
Address of the unlock condition contract.
OnWithdraw
event onWithdraw( uint256 lockID, address lpToken, uint256 amountInTokens, uint256 amountInShares)
Parameters:
lockID
uint256
ID of the lock.
lpToken
address
LP token address.
amountInTokens
uint256
Amount of tokens withdrawn.
amountInShares
uint256
Amount of shares withdrawn.
OnRelock
event onRelock( uint256 lockID, address token, uint256 unlockDate)
Parameters:
lockID
uint256
ID of the lock.
token
address
Token address.
unlockDate
uint256
New unlock date.
OnTransferLock
event onTransferLock( uint256 lockIDFrom, uint256 lockIDto, address oldOwner, address newOwner)
Parameters:
lockIDFrom
uint256
Original lock ID.
lockIDto
uint256
New lock ID.
oldOwner
address
Original owner of the lock.
newOwner
address
New owner of the lock.
OnSplitLock
event onSplitLock( uint256 fromLockID, uint256 toLockID, uint256 amountInTokens, uint256 amountInShares)
Parameters:
fromLockID
uint256
Original lock ID.
toLockID
uint256
New lock ID after split.
amountInTokens
uint256
Amount of tokens in the new lock.
amountInShares
uint256
Amount of shares in the new lock.
OnMigrate
event onMigrate( uint256 lockID, uint256 amountInTokens)
Parameters:
lockID
uint256
ID of the lock being migrated.
amountInTokens
uint256
Amount of tokens being migrated.
OnConditionRevoke
event onConditionRevoke( uint256 lockID, address tokenAddress)
Parameters:
lockID
uint256
ID of the lock.
tokenAddress
address
Token address of the lock.
Last updated