UniswapV2Locker
Functions Write
LockLPToken
function lockLPToken (
address _lpToken,
uint256 _amount,
uint256 _unlock_date,
address payable _referral,
bool _fee_in_eth,
address payable _withdrawer
) external payable
Creates a new lock.
Name | Type | Description |
---|---|---|
_lpToken | address | The UniV2 token address. |
_amount | uint256 | Amount of LP tokens to lock. |
_unlock_date | uint256 | The Unix timestamp (in seconds) until unlock. |
_referral | address payable | The referrer address. Use address(0) if there is none. |
_fee_in_eth | bool | If true , fees will be paid in ETH. Otherwise, in a secondary token like UNCX |
_withdrawer | address payable | The user who can withdraw liquidity once the lock expires. |
Relock
function relock (
address _lpToken,
uint256 _index,
uint256 _lockID,
uint256 _unlock_date
) external
Extends a lock with a new unlock date.
Name | Type | Description |
---|---|---|
_lpToken | address | The liquidity pool token address associated with the locked funds |
_index | uint256 | Index indicating the lock's position in the user's lock array |
_lockID | uint256 | ID of the lock ensuring the correct lock undergoes the extension |
_unlock_date | uint256 | New proposed unlock date (timestamp) for the tokens |
Withdraw
function withdraw (
address _lpToken,
uint256 _index,
uint256 _lockID,
uint256 _amount
) external
Withdraws a specified amount from a lock.
Name | Type | Description |
---|---|---|
_lpToken | address | The liquidity pool token address from which funds are to be withdrawn |
_index | uint256 | Index of the lock for the user |
_lockID | uint256 | ID of the lock to ensure the correct lock is changed |
_amount | uint256 | Amount of tokens to be withdrawn |
IncrementLock
function incrementLock(
address _lpToken,
uint256 _index,
uint256 _lockID,
uint256 _amount
) external
Increases the amount of tokens per a specific lock.
Name | Type | Description |
---|---|---|
_lpToken | address | The liquidity pool token address associated with the lock. |
_index | uint256 | Index indicating the lock's position in the user's array of locks. |
_lockID | uint256 | ID of the lock to ensure the correct lock is being incremented. |
_amount | uint256 | The amount by which the locked tokens should be increased. |
SplitLock
function splitLock(
address _lpToken,
uint256 _index,
uint256 _lockID,
uint256 _amount
) external payable
Splits a lock into two seperate locks.
Name | Type | Description |
---|---|---|
_lpToken | address | The liquidity pool token address associated with the lock. |
_index | uint256 | Index indicating the lock's position in the user's array of locks. |
_lockID | uint256 | ID of the lock to ensure the correct lock is being split. |
_amount | uint256 | The amount of tokens to be allocated to the new split lock. |
TransferLockOwnership
function transferLockOwnership (
address _lpToken,
uint256 _index,
uint256 _lockID,
address payable _newOwner
) external
Transfers a lock to a new owner.
Name | Type | Description |
---|---|---|
_lpToken | address | The liquidity pool token address associated with the lock. |
_index | uint256 | Index indicating the lock's position in the user's array of locks. |
_lockID | uint256 | ID of the lock to ensure the correct lock is being transferred. |
_newOwner | address payable | Address of the new owner to whom the lock ownership should be transferred. |
Migrate
function migrate (
address _lpToken,
uint256 _index,
uint256 _lockID,
uint256 _amount
) external
Migrates liquidity to uniswap v3.
Name | Type | Description |
---|---|---|
_lpToken | address | The liquidity pool token address that will be migrated to Uniswap V3. |
_index | uint256 | Index of the lock for the user in their list of locks for the specific _lpToken . |
_lockID | uint256 | ID of the lock to ensure the correct lock is affected during migration. |
_amount | uint256 | Amount of tokens from the lock to be migrated to Uniswap V3. |
Functions View
GetNumLocksForToken
function getNumLocksForToken (address _lpToken) external view returns (uint256)
Retrieves the amount of locks associated with a specific liquidity pool token.
Name | Type | Description |
---|---|---|
_lpToken | address | The address of the liquidity pool token. |
Type | Description |
---|---|
uint256 | Number of locks associated with the provided liquidity pool token. |
GetNumLockedTokens
function getNumLockedTokens () external view returns (uint256)
Retrieves the total number of unique tokens that have been locked.
Type | Description |
---|---|
uint256 | Total number of locked tokens. |
GetLockedTokenAtIndex
function getLockedTokenAtIndex (uint256 _index) external view returns (address)
Fetches the address of the locked token at a specified index.
Retrieves the total number of unique tokens that have been locked.
Name | Type | Description |
---|---|---|
_index | uint256 | Index to specify which locked token address to retrieve. |
Type | Description |
---|---|
address | Address of the locked token at the specified index. |
GetUserNumLockedTokens
function getUserNumLockedTokens (address _user) external view returns (uint256)
Retrieves the amount of unique tokens locked by a specific user.
Name | Type | Description |
---|---|---|
_user | address | Address of the user. |
Type | Description |
---|---|
uint256 | Number of locked tokens for the specified user. |
GetUserLockedTokenAtIndex
function getUserLockedTokenAtIndex (address _user, uint256 _index) external view returns (address)
Fetches the address of the locked token for a specific user at a given index.
Name | Type | Description |
---|---|---|
_user | address | Address of the user. |
_index | uint256 | Index to specify which token address to retrieve. |
Type | Description |
---|---|
address | Address of the locked token at the specified index for the given user. |
GetUserNumLocksForToken
function getUserNumLocksForToken (address _user, address _lpToken) external view returns (uint256)
Retrieves the amount of locks a user has for a specific liquidity pool token.
Name | Type | Description |
---|---|---|
_user | address | Address of the user. |
_lpToken | address | The address of the liquidity pool token. |
Type | Description |
---|---|
uint256 | Number of locks for the specified user and liquidity pool token. |
GetWhitelistedUsersLength
function getWhitelistedUsersLength () external view returns (uint256)
Retrieves the amount of users whitelisted.
Type | Description |
---|---|
uint256 | Total number of users in the whitelist. |
GetUserLockForTokenAtIndex
function getUserLockForTokenAtIndex (address _user, address _lpToken, uint256 _index) external view
returns (uint256, uint256, uint256, uint256, uint256, address)
Provides details of a specific lock a user has for a liquidity pool token.
Name | Type | Description |
---|---|---|
_user | address | Address of the user. |
_lpToken | address | The address of the liquidity pool token. |
_index | uint256 | Index indicating the lock's position in the user's array. |
Name | Type | Description |
---|---|---|
lockDate | uint256 | Date when the tokens were locked. |
amount | uint256 | Amount of tokens locked. |
initialAmount | uint256 | Initial amount of tokens when first locked. |
unlockDate | uint256 | Date when the tokens will be unlocked. |
lockID | uint256 | ID of the token lock. |
owner | address | Address of the token lock owner. |
GetWhitelistedUserAtIndex
function getWhitelistedUserAtIndex (uint256 _index) external view returns (address)
Retrieves the address of a whitelisted user at a specified index.
Name | Type | Description |
---|---|---|
_index | uint256 | Index to specify which whitelisted user address to fetch. |
Type | Description |
---|---|
address | Address of the whitelisted user at the specified index. |
GetUserWhitelistStatus
function getUserWhitelistStatus (address _user) external view returns (bool)
Checks if a user is whitelisted or not.
Name | Type | Description |
---|---|---|
_user | address | Address of the user. |
Type | Description |
---|---|
bool | Boolean indicating if the specified user is in the whitelist or not. |
Events
OnDeposit
event onDeposit(
address lpToken,
address user,
uint256 amount,
uint256 lockDate,
uint256 unlockDate
)
Emitted on LockLPToken and Relock.
Name | Type | Description |
---|---|---|
lpToken | address | The liquidity pool token associated with the deposit. |
user | address | Address of the user making the deposit. |
amount | uint256 | Amount of tokens deposited. |
lockDate | uint256 | Date when the tokens were locked. |
unlockDate | uint256 | Date when the tokens will be unlocked. |
OnWithdraw
event onWithdraw(
address lpToken,
uint256 amount
)
Emitted on Withdraw.
Name | Type | Description |
---|---|---|
lpToken | address | The liquidity pool token associated with the withdrawal. |
amount | uint256 | Amount of tokens withdrawn. |