LockUpTransferManager.sol

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

Last updated