View Source: contracts/modules/Checkpoint/Dividend/ERC20/ERC20DividendCheckpoint.solโ
โ Extends: ERC20DividendCheckpointStorage, DividendCheckpointโ
ERC20DividendCheckpoint
Events
event ERC20DividendDeposited(address indexed _depositor, uint256 _checkpointId, uint256 _maturity, uint256 _expiry, address indexed _token, uint256 _amount, uint256 _totalSupply, uint256 _dividendIndex, bytes32 indexed _name);event ERC20DividendClaimed(address indexed _payee, uint256 indexed _dividendIndex, address indexed _token, uint256 _amount, uint256 _withheld);event ERC20DividendReclaimed(address indexed _claimer, uint256 indexed _dividendIndex, address indexed _token, uint256 _claimedAmount);event ERC20DividendWithholdingWithdrawn(address indexed _claimer, uint256 indexed _dividendIndex, address indexed _token, uint256 _withheldAmount);
Constructor
function (address _securityToken, address _polyToken) public nonpayable Module
Arguments
Name | Type | Description |
_securityToken | address | Address of the security token |
_polyToken | address | โ |
Creates a dividend and checkpoint for the dividend
function createDividend(uint256 _maturity, uint256 _expiry, address _token, uint256 _amount, bytes32 _name) external nonpayable withPerm
Arguments
Name | Type | Description |
_maturity | uint256 | Time from which dividend can be paid |
_expiry | uint256 | Time until dividend can no longer be paid, and can be reclaimed by issuer |
_token | address | Address of ERC20 token in which dividend is to be denominated |
_amount | uint256 | Amount of specified token for dividend |
_name | bytes32 | Name/Title for identification |
Creates a dividend with a provided checkpoint
function createDividendWithCheckpoint(uint256 _maturity, uint256 _expiry, address _token, uint256 _amount, uint256 _checkpointId, bytes32 _name) external nonpayable withPerm
Arguments
Name | Type | Description |
_maturity | uint256 | Time from which dividend can be paid |
_expiry | uint256 | Time until dividend can no longer be paid, and can be reclaimed by issuer |
_token | address | Address of ERC20 token in which dividend is to be denominated |
_amount | uint256 | Amount of specified token for dividend |
_checkpointId | uint256 | Checkpoint id from which to create dividends |
_name | bytes32 | Name/Title for identification |
Creates a dividend and checkpoint for the dividend
function createDividendWithExclusions(uint256 _maturity, uint256 _expiry, address _token, uint256 _amount, address[] _excluded, bytes32 _name) public nonpayable withPerm
Arguments
Name | Type | Description |
_maturity | uint256 | Time from which dividend can be paid |
_expiry | uint256 | Time until dividend can no longer be paid, and can be reclaimed by issuer |
_token | address | Address of ERC20 token in which dividend is to be denominated |
_amount | uint256 | Amount of specified token for dividend |
_excluded | address[] | List of addresses to exclude |
_name | bytes32 | Name/Title for identification |
Creates a dividend with a provided checkpoint
function createDividendWithCheckpointAndExclusions(uint256 _maturity, uint256 _expiry, address _token, uint256 _amount, uint256 _checkpointId, address[] _excluded, bytes32 _name) public nonpayable withPerm
Arguments
Name | Type | Description |
_maturity | uint256 | Time from which dividend can be paid |
_expiry | uint256 | Time until dividend can no longer be paid, and can be reclaimed by issuer |
_token | address | Address of ERC20 token in which dividend is to be denominated |
_amount | uint256 | Amount of specified token for dividend |
_checkpointId | uint256 | Checkpoint id from which to create dividends |
_excluded | address[] | List of addresses to exclude |
_name | bytes32 | Name/Title for identification |
Creates a dividend with a provided checkpoint
function _createDividendWithCheckpointAndExclusions(uint256 _maturity, uint256 _expiry, address _token, uint256 _amount, uint256 _checkpointId, address[] _excluded, bytes32 _name) internal nonpayable
Arguments
Name | Type | Description |
_maturity | uint256 | Time from which dividend can be paid |
_expiry | uint256 | Time until dividend can no longer be paid, and can be reclaimed by issuer |
_token | address | Address of ERC20 token in which dividend is to be denominated |
_amount | uint256 | Amount of specified token for dividend |
_checkpointId | uint256 | Checkpoint id from which to create dividends |
_excluded | address[] | List of addresses to exclude |
_name | bytes32 | Name/Title for identification |
Emits the ERC20DividendDeposited event. Seperated into a different function as a workaround for stack too deep error
function _emitERC20DividendDepositedEvent(uint256 _checkpointId, uint256 _maturity, uint256 _expiry, address _token, uint256 _amount, uint256 currentSupply, uint256 dividendIndex, bytes32 _name) internal nonpayable
Arguments
Name | Type | Description |
_checkpointId | uint256 | โ |
_maturity | uint256 | โ |
_expiry | uint256 | โ |
_token | address | โ |
_amount | uint256 | โ |
currentSupply | uint256 | โ |
dividendIndex | uint256 | โ |
_name | bytes32 | โ |
โคพ overrides DividendCheckpoint._payDividendโ
Internal function for paying dividends
function _payDividend(address payable _payee, struct DividendCheckpointStorage.Dividend _dividend, uint256 _dividendIndex) internal nonpayable
Arguments
Name | Type | Description |
_payee | address payable | Address of investor |
_dividend | struct DividendCheckpointStorage.Dividend | Storage with previously issued dividends |
_dividendIndex | uint256 | Dividend to pay |
โคพ overrides DividendCheckpoint.reclaimDividendโ
Issuer can reclaim remaining unclaimed dividend amounts, for expired dividends
function reclaimDividend(uint256 _dividendIndex) external nonpayable withPerm
Arguments
Name | Type | Description |
_dividendIndex | uint256 | Dividend to reclaim |
โคพ overrides DividendCheckpoint.withdrawWithholdingโ
Allows issuer to withdraw withheld tax
function withdrawWithholding(uint256 _dividendIndex) external nonpayable withPerm
Arguments
Name | Type | Description |
_dividendIndex | uint256 | Dividend to withdraw from |