UniswapV2Locker
Reference the original UNCX UniswapV2Locker interface, including LP token locking, relocking, withdrawals and lock management parameters.
Functions Write
Section titled “Functions Write ”LockLPToken
Section titled “LockLPToken ”function lockLPToken ( address _lpToken, uint256 _amount, uint256 _unlock_date, address payable _referral, bool _fee_in_eth, address payable _withdrawer) external payableCreates a new lock.
Parameters:
| 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
Section titled “Relock ”function relock ( address _lpToken, uint256 _index, uint256 _lockID, uint256 _unlock_date) externalExtends a lock with a new unlock date.
Parameters:
| 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
Section titled “Withdraw ”function withdraw ( address _lpToken, uint256 _index, uint256 _lockID, uint256 _amount) externalWithdraws a specified amount from a lock.
Parameters:
| 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
Section titled “IncrementLock ”function incrementLock( address _lpToken, uint256 _index, uint256 _lockID, uint256 _amount) externalIncreases the amount of tokens per a specific lock.
Parameters:
| 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
Section titled “SplitLock ”function splitLock( address _lpToken, uint256 _index, uint256 _lockID, uint256 _amount) external payableSplits a lock into two seperate locks.
Parameters:
| 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
Section titled “TransferLockOwnership ”function transferLockOwnership ( address _lpToken, uint256 _index, uint256 _lockID, address payable _newOwner) externalTransfers a lock to a new owner.
Parameters:
| 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
Section titled “Migrate ”function migrate ( address _lpToken, uint256 _index, uint256 _lockID, uint256 _amount) externalMigrates liquidity to uniswap v3.
Parameters:
| 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
Section titled “Functions View ”GetNumLocksForToken
Section titled “GetNumLocksForToken ”function getNumLocksForToken (address _lpToken) external view returns (uint256)Retrieves the amount of locks associated with a specific liquidity pool token.
Parameters:
| Name | Type | Description |
|---|---|---|
_lpToken |
address | The address of the liquidity pool token. |
Return Values:
| Type | Description |
|---|---|
| uint256 | Number of locks associated with the provided liquidity pool token. |
GetNumLockedTokens
Section titled “GetNumLockedTokens ”function getNumLockedTokens () external view returns (uint256)Retrieves the total number of unique tokens that have been locked.
Return Values:
| Type | Description |
|---|---|
| uint256 | Total number of locked tokens. |
GetLockedTokenAtIndex
Section titled “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.
Parameters:
| Name | Type | Description |
|---|---|---|
_index |
uint256 | Index to specify which locked token address to retrieve. |
Return Values:
| Type | Description |
|---|---|
| address | Address of the locked token at the specified index. |
GetUserNumLockedTokens
Section titled “GetUserNumLockedTokens ”function getUserNumLockedTokens (address _user) external view returns (uint256)Retrieves the amount of unique tokens locked by a specific user.
Parameters:
| Name | Type | Description |
|---|---|---|
_user |
address | Address of the user. |
Return Values:
| Type | Description |
|---|---|
| uint256 | Number of locked tokens for the specified user. |
GetUserLockedTokenAtIndex
Section titled “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.
Parameters:
| Name | Type | Description |
|---|---|---|
_user |
address | Address of the user. |
_index |
uint256 | Index to specify which token address to retrieve. |
Return Values:
| Type | Description |
|---|---|
| address | Address of the locked token at the specified index for the given user. |
GetUserNumLocksForToken
Section titled “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.
Parameters:
| Name | Type | Description |
|---|---|---|
_user |
address | Address of the user. |
_lpToken |
address | The address of the liquidity pool token. |
Return Values:
| Type | Description |
|---|---|
| uint256 | Number of locks for the specified user and liquidity pool token. |
GetWhitelistedUsersLength
Section titled “GetWhitelistedUsersLength ” function getWhitelistedUsersLength () external view returns (uint256)Retrieves the amount of users whitelisted.
Return Values:
| Type | Description |
|---|---|
| uint256 | Total number of users in the whitelist. |
GetUserLockForTokenAtIndex
Section titled “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.
Parameters:
| 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. |
Return Values:
| 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
Section titled “GetWhitelistedUserAtIndex ”function getWhitelistedUserAtIndex (uint256 _index) external view returns (address)Retrieves the address of a whitelisted user at a specified index.
Parameters:
| Name | Type | Description |
|---|---|---|
_index |
uint256 | Index to specify which whitelisted user address to fetch. |
Return Values:
| Type | Description |
|---|---|
| address | Address of the whitelisted user at the specified index. |
GetUserWhitelistStatus
Section titled “GetUserWhitelistStatus ”function getUserWhitelistStatus (address _user) external view returns (bool)Checks if a user is whitelisted or not.
Parameters:
| Name | Type | Description |
|---|---|---|
_user |
address | Address of the user. |
Return Values:
| Type | Description |
|---|---|
| bool | Boolean indicating if the specified user is in the whitelist or not. |
Events
Section titled “Events ”OnDeposit
Section titled “OnDeposit ” event onDeposit( address lpToken, address user, uint256 amount, uint256 lockDate, uint256 unlockDate )Emitted on LockLPToken and Relock.
Parameters:
| 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
Section titled “OnWithdraw ” event onWithdraw( address lpToken, uint256 amount )Emitted on Withdraw.
Parameters:
| Name | Type | Description |
|---|---|---|
lpToken |
address | The liquidity pool token associated with the withdrawal. |
amount |
uint256 | Amount of tokens withdrawn. |
