View Source: contracts/modules/TransferManager/LTM/LockUpTransferManager.sol
↗ Extends: LockUpTransferManagerStorage, TransferManager
LockUpTransferManager
Events
event AddLockUpToUser(address indexed _userAddress, bytes32 indexed _lockupName);
event RemoveLockUpFromUser(address indexed _userAddress, bytes32 indexed _lockupName);
event ModifyLockUpType(uint256 _lockupAmount, uint256 _startTime, uint256 _lockUpPeriodSeconds, uint256 _releaseFrequencySeconds, bytes32 indexed _lockupName);
event AddNewLockUpType(bytes32 indexed _lockupName, uint256 _lockupAmount, uint256 _startTime, uint256 _lockUpPeriodSeconds, uint256 _releaseFrequencySeconds);
event RemoveLockUpType(bytes32 indexed _lockupName);
Functions
Constructor
function (address _securityToken, address _polyAddress) public nonpayable Module
Arguments
executeTransfer
⤾ overrides ITransferManager.executeTransfer
Used to verify the transfer transaction and prevent locked up tokens from being transferred
function executeTransfer(address _from, address , uint256 _amount, bytes ) external nonpayable
returns(enum ITransferManager.Result)
Arguments
verifyTransfer
⤾ overrides ITransferManager.verifyTransfer
Used to verify the transfer transaction and prevent locked up tokens from being transferred
function verifyTransfer(address _from, address , uint256 _amount, bytes ) public view
returns(enum ITransferManager.Result, bytes32)
Arguments
_verifyTransfer
Used to verify the transfer transaction and prevent locked up tokens from being transferred
function _verifyTransfer(address _from, uint256 _amount) internal view
returns(enum ITransferManager.Result, bytes32)
Arguments
addNewLockUpType
Use to add the new lockup type
function addNewLockUpType(uint256 _lockupAmount, uint256 _startTime, uint256 _lockUpPeriodSeconds, uint256 _releaseFrequencySeconds, bytes32 _lockupName) external nonpayable withPerm
Arguments
addNewLockUpTypeMulti
Use to add the new lockup type
function addNewLockUpTypeMulti(uint256[] _lockupAmounts, uint256[] _startTimes, uint256[] _lockUpPeriodsSeconds, uint256[] _releaseFrequenciesSeconds, bytes32[] _lockupNames) public nonpayable withPerm
Arguments
addLockUpByName
Add the lockup to a user
function addLockUpByName(address _userAddress, bytes32 _lockupName) external nonpayable withPerm
Arguments
addLockUpByNameMulti
Add lockups to users
function addLockUpByNameMulti(address[] _userAddresses, bytes32[] _lockupNames) public nonpayable withPerm
Arguments
addNewLockUpToUser
Lets the admin create a volume restriction lockup for a given address.
function addNewLockUpToUser(address _userAddress, uint256 _lockupAmount, uint256 _startTime, uint256 _lockUpPeriodSeconds, uint256 _releaseFrequencySeconds, bytes32 _lockupName) external nonpayable withPerm
Arguments
addNewLockUpToUserMulti
Lets the admin create multiple volume restriction lockups for multiple given addresses.
function addNewLockUpToUserMulti(address[] _userAddresses, uint256[] _lockupAmounts, uint256[] _startTimes, uint256[] _lockUpPeriodsSeconds, uint256[] _releaseFrequenciesSeconds, bytes32[] _lockupNames) public nonpayable withPerm
Arguments
removeLockUpFromUser
Lets the admin remove a user's lock up
function removeLockUpFromUser(address _userAddress, bytes32 _lockupName) external nonpayable withPerm
Arguments
removeLockupType
Used to remove the lockup type
function removeLockupType(bytes32 _lockupName) external nonpayable withPerm
Arguments
removeLockupTypeMulti
Used to remove the multiple lockup type
function removeLockupTypeMulti(bytes32[] _lockupNames) public nonpayable withPerm
Arguments
removeLockUpFromUserMulti
Use to remove the lockup for multiple users
function removeLockUpFromUserMulti(address[] _userAddresses, bytes32[] _lockupNames) public nonpayable withPerm
Arguments
modifyLockUpType
Lets the admin modify a lockup.
function modifyLockUpType(uint256 _lockupAmount, uint256 _startTime, uint256 _lockUpPeriodSeconds, uint256 _releaseFrequencySeconds, bytes32 _lockupName) external nonpayable withPerm
Arguments
modifyLockUpTypeMulti
Lets the admin modify a volume restriction lockup for a multiple address.
function modifyLockUpTypeMulti(uint256[] _lockupAmounts, uint256[] _startTimes, uint256[] _lockUpPeriodsSeconds, uint256[] _releaseFrequenciesSeconds, bytes32[] _lockupNames) public nonpayable withPerm
Arguments
getLockUp
Get a specific element in a user's lockups array given the user's address and the element index
function getLockUp(bytes32 _lockupName) public view
returns(lockupAmount uint256, startTime uint256, lockUpPeriodSeconds uint256, releaseFrequencySeconds uint256, unlockedAmount uint256)
Arguments
getAllLockupData
Return the data of the lockups
function getAllLockupData() external view
returns(lockupNames bytes32[], lockupAmounts uint256[], startTimes uint256[], lockUpPeriodSeconds uint256[], releaseFrequencySeconds uint256[], unlockedAmounts uint256[])
Arguments
getListOfAddresses
get the list of the users of a lockup type
function getListOfAddresses(bytes32 _lockupName) external view
returns(address[])
Returns
address List of users associated with the given lockup name
Arguments
getAllLockups
get the list of lockups names
function getAllLockups() external view
returns(bytes32[])
Returns
bytes32 Array of lockups names
Arguments
getLockupsNamesToUser
get the list of the lockups for a given user
function getLockupsNamesToUser(address _user) external view
returns(bytes32[])
Returns
bytes32 List of lockups names associated with the given address
Arguments
getLockedTokenToUser
Use to get the total locked tokens for a given user
function getLockedTokenToUser(address _userAddress) public view
returns(uint256)
Returns
uint256 Total locked tokens amount
Arguments
_checkIfValidTransfer
Checks whether the transfer is allowed
function _checkIfValidTransfer(address _userAddress, uint256 _amount) internal view
returns(enum ITransferManager.Result, bytes32)
Arguments
_getUnlockedAmountForLockup
Provide the unlock amount for the given lockup for a particular user
function _getUnlockedAmountForLockup(bytes32 _lockupName) internal view
returns(uint256)
Arguments
_removeLockupType
function _removeLockupType(bytes32 _lockupName) internal nonpayable
Arguments
_modifyLockUpType
function _modifyLockUpType(uint256 _lockupAmount, uint256 _startTime, uint256 _lockUpPeriodSeconds, uint256 _releaseFrequencySeconds, bytes32 _lockupName) internal nonpayable
Arguments
_removeLockUpFromUser
function _removeLockUpFromUser(address _userAddress, bytes32 _lockupName) internal nonpayable
Arguments
_addNewLockUpToUser
function _addNewLockUpToUser(address _userAddress, uint256 _lockupAmount, uint256 _startTime, uint256 _lockUpPeriodSeconds, uint256 _releaseFrequencySeconds, bytes32 _lockupName) internal nonpayable
Arguments
_addLockUpByName
function _addLockUpByName(address _userAddress, bytes32 _lockupName) internal nonpayable
Arguments
_addNewLockUpType
function _addNewLockUpType(uint256 _lockupAmount, uint256 _startTime, uint256 _lockUpPeriodSeconds, uint256 _releaseFrequencySeconds, bytes32 _lockupName) internal nonpayable
Arguments
_checkLockUpParams
Parameter checking function for creating or editing a lockup. This function will cause an exception if any of the parameters are bad.
function _checkLockUpParams(uint256 _lockupAmount, uint256 _lockUpPeriodSeconds, uint256 _releaseFrequencySeconds) internal pure
Arguments
_checkValidStartTime
function _checkValidStartTime(uint256 _startTime) internal view
Arguments
_checkZeroAddress
function _checkZeroAddress(address _userAddress) internal pure
Arguments
_validLockUpCheck
function _validLockUpCheck(bytes32 _lockupName) internal view
Arguments
_checkValidName
function _checkValidName(bytes32 _name) internal pure
Arguments
_checkLengthOfArray
function _checkLengthOfArray(uint256 _length1, uint256 _length2) internal pure
Arguments
getTokensByPartition
⤾ overrides TransferManager.getTokensByPartition
return the amount of tokens for a given user as per the partition
function getTokensByPartition(bytes32 _partition, address _tokenHolder, uint256 _additionalBalance) external view
returns(uint256)
Arguments
getInitFunction
⤾ overrides IModule.getInitFunction
This function returns the signature of configure function
function getInitFunction() public pure
returns(bytes4)
Arguments
getPermissions
⤾ overrides IModule.getPermissions
Returns the permissions flag that are associated with Percentage transfer Manager
function getPermissions() public view
returns(bytes32[])
Arguments