Wallet for core vesting escrow functionality (VestingEscrowWallet.sol)
View Source: contracts/modules/Wallet/VestingEscrowWallet.sol
↗ Extends: VestingEscrowWalletStorage, Wallet
VestingEscrowWallet
Enums
State
enum State {
CREATED,
STARTED,
COMPLETED
}Events
event AddSchedule(address indexed _beneficiary, bytes32 _templateName, uint256 _startTime);
event ModifySchedule(address indexed _beneficiary, bytes32 _templateName, uint256 _startTime);
event RevokeAllSchedules(address indexed _beneficiary);
event RevokeSchedule(address indexed _beneficiary, bytes32 _templateName);
event DepositTokens(uint256 _numberOfTokens, address _sender);
event SendToTreasury(uint256 _numberOfTokens, address _sender);
event SendTokens(address indexed _beneficiary, uint256 _numberOfTokens);
event AddTemplate(bytes32 _name, uint256 _numberOfTokens, uint256 _duration, uint256 _frequency);
event RemoveTemplate(bytes32 _name);
event TreasuryWalletChanged(address _newWallet, address _oldWallet);Functions
Constructor
Arguments
Name
Type
Description
_securityToken
address
Address of the security token
_polyAddress
address
Address of the polytoken
getInitFunction
⤾ overrides IModule.getInitFunction
This function returns the signature of the configure function
Arguments
Name
Type
Description
configure
Used to initialize the treasury wallet address
Arguments
Name
Type
Description
_treasuryWallet
address
Address of the treasury wallet
changeTreasuryWallet
Used to change the treasury wallet address
Arguments
Name
Type
Description
_newTreasuryWallet
address
Address of the treasury wallet
_setWallet
Arguments
Name
Type
Description
_newTreasuryWallet
address
depositTokens
Used to deposit tokens from treasury wallet to the vesting escrow wallet
Arguments
Name
Type
Description
_numberOfTokens
uint256
Number of tokens that should be deposited
_depositTokens
Arguments
Name
Type
Description
_numberOfTokens
uint256
sendToTreasury
Sends unassigned tokens to the treasury wallet
Arguments
Name
Type
Description
_amount
uint256
Amount of tokens that should be send to the treasury wallet
getTreasuryWallet
Returns the treasury wallet address
Arguments
Name
Type
Description
pushAvailableTokens
Pushes available tokens to the beneficiary's address
Arguments
Name
Type
Description
_beneficiary
address
Address of the beneficiary who will receive tokens
pullAvailableTokens
Used to withdraw available tokens by beneficiary
Arguments
Name
Type
Description
addTemplate
Adds template that can be used for creating schedule
Arguments
Name
Type
Description
_name
bytes32
Name of the template will be created
_numberOfTokens
uint256
Number of tokens that should be assigned to schedule
_duration
uint256
Duration of the vesting schedule
_frequency
uint256
Frequency of the vesting schedule
_addTemplate
Arguments
Name
Type
Description
_name
bytes32
_numberOfTokens
uint256
_duration
uint256
_frequency
uint256
removeTemplate
Removes template with a given name
Arguments
Name
Type
Description
_name
bytes32
Name of the template that will be removed
getTemplateCount
Returns count of the templates those can be used for creating schedule
Returns
Count of the templates
Arguments
Name
Type
Description
getAllTemplateNames
Gets the list of the template names those can be used for creating schedule
Returns
bytes32 Array of all template names were created
Arguments
Name
Type
Description
addSchedule
Adds vesting schedules for each of the beneficiary's address
Arguments
Name
Type
Description
_beneficiary
address
Address of the beneficiary for whom it is scheduled
_templateName
bytes32
Name of the template that will be created
_numberOfTokens
uint256
Total number of tokens for created schedule
_duration
uint256
Duration of the created vesting schedule
_frequency
uint256
Frequency of the created vesting schedule
_startTime
uint256
Start time of the created vesting schedule
_addSchedule
Arguments
Name
Type
Description
_beneficiary
address
_templateName
bytes32
_numberOfTokens
uint256
_duration
uint256
_frequency
uint256
_startTime
uint256
addScheduleFromTemplate
Adds vesting schedules from template for the beneficiary
Arguments
Name
Type
Description
_beneficiary
address
Address of the beneficiary for whom it is scheduled
_templateName
bytes32
Name of the exists template
_startTime
uint256
Start time of the created vesting schedule
_addScheduleFromTemplate
Arguments
Name
Type
Description
_beneficiary
address
_templateName
bytes32
_startTime
uint256
modifySchedule
Modifies vesting schedules for each of the beneficiary
Arguments
Name
Type
Description
_beneficiary
address
Address of the beneficiary for whom it is modified
_templateName
bytes32
Name of the template was used for schedule creation
_startTime
uint256
Start time of the created vesting schedule
_modifySchedule
Arguments
Name
Type
Description
_beneficiary
address
_templateName
bytes32
_startTime
uint256
revokeSchedule
Revokes vesting schedule with given template name for given beneficiary
Arguments
Name
Type
Description
_beneficiary
address
Address of the beneficiary for whom it is revoked
_templateName
bytes32
Name of the template was used for schedule creation
_deleteUserToTemplates
Arguments
Name
Type
Description
_beneficiary
address
_templateName
bytes32
_deleteTemplateToUsers
Arguments
Name
Type
Description
_beneficiary
address
_templateName
bytes32
revokeAllSchedules
Revokes all vesting schedules for given beneficiary's address
Arguments
Name
Type
Description
_beneficiary
address
Address of the beneficiary for whom all schedules will be revoked
_revokeAllSchedules
Arguments
Name
Type
Description
_beneficiary
address
getSchedule
Returns beneficiary's schedule created using template name
Returns
beneficiary's schedule data (numberOfTokens, duration, frequency, startTime, claimedTokens, State)
Arguments
Name
Type
Description
_beneficiary
address
Address of the beneficiary who will receive tokens
_templateName
bytes32
Name of the template was used for schedule creation
_getScheduleState
Arguments
Name
Type
Description
_beneficiary
address
_templateName
bytes32
getTemplateNames
Returns list of the template names for given beneficiary's address
Returns
List of the template names that were used for schedule creation
Arguments
Name
Type
Description
_beneficiary
address
Address of the beneficiary
getScheduleCount
Returns count of the schedules were created for given beneficiary
Returns
Count of beneficiary's schedules
Arguments
Name
Type
Description
_beneficiary
address
Address of the beneficiary
_getAvailableTokens
Arguments
Name
Type
Description
_beneficiary
address
_index
uint256
_getReleasedTokens
Arguments
Name
Type
Description
_beneficiary
address
_index
uint256
pushAvailableTokensMulti
Used to bulk send available tokens for each of the beneficiaries
Arguments
Name
Type
Description
_fromIndex
uint256
Start index of array of beneficiary's addresses
_toIndex
uint256
End index of array of beneficiary's addresses
addScheduleMulti
Used to bulk add vesting schedules for each of beneficiary
Arguments
Name
Type
Description
_beneficiaries
address[]
Array of the beneficiary's addresses
_templateNames
bytes32[]
Array of the template names
_numberOfTokens
uint256[]
Array of number of tokens should be assigned to schedules
_durations
uint256[]
Array of the vesting duration
_frequencies
uint256[]
Array of the vesting frequency
_startTimes
uint256[]
Array of the vesting start time
addScheduleFromTemplateMulti
Used to bulk add vesting schedules from template for each of the beneficiary
Arguments
Name
Type
Description
_beneficiaries
address[]
Array of beneficiary's addresses
_templateNames
bytes32[]
Array of the template names were used for schedule creation
_startTimes
uint256[]
Array of the vesting start time
revokeSchedulesMulti
Used to bulk revoke vesting schedules for each of the beneficiaries
Arguments
Name
Type
Description
_beneficiaries
address[]
Array of the beneficiary's addresses
modifyScheduleMulti
Used to bulk modify vesting schedules for each of the beneficiaries
Arguments
Name
Type
Description
_beneficiaries
address[]
Array of the beneficiary's addresses
_templateNames
bytes32[]
Array of the template names
_startTimes
uint256[]
Array of the vesting start time
_checkSchedule
Arguments
Name
Type
Description
_beneficiary
address
_templateName
bytes32
_isTemplateExists
Arguments
Name
Type
Description
_name
bytes32
_validateTemplate
Arguments
Name
Type
Description
_numberOfTokens
uint256
_duration
uint256
_frequency
uint256
_sendTokens
Arguments
Name
Type
Description
_beneficiary
address
_sendTokensPerSchedule
Arguments
Name
Type
Description
_beneficiary
address
_index
uint256
getPermissions
⤾ overrides IModule.getPermissions
Return the permissions flag that are associated with VestingEscrowWallet
Arguments
Name
Type
Description
Last updated
Was this helpful?