UniswapV2Locker
Functions Write
LockLPToken
Creates a new lock.
Parameters:
_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
Extends a lock with a new unlock date.
Parameters:
_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
Withdraws a specified amount from a lock.
Parameters:
_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
Increases the amount of tokens per a specific lock.
Parameters:
_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
Splits a lock into two seperate locks.
Parameters:
_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
Transfers a lock to a new owner.
Parameters:
_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
Migrates liquidity to uniswap v3.
Parameters:
_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
Retrieves the amount of locks associated with a specific liquidity pool token.
Parameters:
_lpToken
address
The address of the liquidity pool token.
Return Values:
uint256
Number of locks associated with the provided liquidity pool token.
GetNumLockedTokens
Retrieves the total number of unique tokens that have been locked.
Return Values:
uint256
Total number of locked tokens.
GetLockedTokenAtIndex
Fetches the address of the locked token at a specified index.
Retrieves the total number of unique tokens that have been locked.
Parameters:
_index
uint256
Index to specify which locked token address to retrieve.
Return Values:
address
Address of the locked token at the specified index.
GetUserNumLockedTokens
Retrieves the amount of unique tokens locked by a specific user.
Parameters:
_user
address
Address of the user.
Return Values:
uint256
Number of locked tokens for the specified user.
GetUserLockedTokenAtIndex
Fetches the address of the locked token for a specific user at a given index.
Parameters:
_user
address
Address of the user.
_index
uint256
Index to specify which token address to retrieve.
Return Values:
address
Address of the locked token at the specified index for the given user.
GetUserNumLocksForToken
Retrieves the amount of locks a user has for a specific liquidity pool token.
Parameters:
_user
address
Address of the user.
_lpToken
address
The address of the liquidity pool token.
Return Values:
uint256
Number of locks for the specified user and liquidity pool token.
GetWhitelistedUsersLength
Retrieves the amount of users whitelisted.
Return Values:
uint256
Total number of users in the whitelist.
GetUserLockForTokenAtIndex
Provides details of a specific lock a user has for a liquidity pool token.
Parameters:
_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:
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
Retrieves the address of a whitelisted user at a specified index.
Parameters:
_index
uint256
Index to specify which whitelisted user address to fetch.
Return Values:
address
Address of the whitelisted user at the specified index.
GetUserWhitelistStatus
Checks if a user is whitelisted or not.
Parameters:
_user
address
Address of the user.
Return Values:
bool
Boolean indicating if the specified user is in the whitelist or not.
Events
OnDeposit
Emitted on LockLPToken and Relock.
Parameters:
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
Emitted on Withdraw.
Parameters:
lpToken
address
The liquidity pool token associated with the withdrawal.
amount
uint256
Amount of tokens withdrawn.
Last updated