Checkpoint module for issuing ether dividends (DividendCheckpoint.sol)
View Source: contracts/modules/Checkpoint/Dividend/DividendCheckpoint.sol
↗ Extends: DividendCheckpointStorage, ICheckpoint, Module ↘ Derived Contracts: ERC20DividendCheckpoint, EtherDividendCheckpoint
DividendCheckpoint
abstract contract
Contract Members
Constants & Variables
Events
Functions
_validDividendIndex
Arguments
Name | Type | Description |
_dividendIndex | uint256 |
configure
Function used to intialize the contract variables
Arguments
Name | Type | Description |
_wallet | address payable | Ethereum account address to receive reclaimed dividends and tax |
getInitFunction
⤾ overrides IModule.getInitFunction
Init function i.e generalise function to maintain the structure of the module contract
Returns
bytes4
Arguments
Name | Type | Description |
changeWallet
Function used to change wallet address
Arguments
Name | Type | Description |
_wallet | address payable | Ethereum account address to receive reclaimed dividends and tax |
_setWallet
Arguments
Name | Type | Description |
_wallet | address payable |
getDefaultExcluded
Return the default excluded addresses
Returns
List of excluded addresses
Arguments
Name | Type | Description |
getTreasuryWallet
Returns the treasury wallet address
Arguments
Name | Type | Description |
createCheckpoint
Creates a checkpoint on the security token
Returns
Checkpoint ID
Arguments
Name | Type | Description |
setDefaultExcluded
Function to clear and set list of excluded addresses used for future dividends
Arguments
Name | Type | Description |
_excluded | address[] | Addresses of investors |
setWithholding
Function to set withholding tax rates for investors
Arguments
Name | Type | Description |
_investors | address[] | Addresses of investors |
_withholding | uint256[] | Withholding tax for individual investors (multiplied by 10**16) |
setWithholdingFixed
Function to set withholding tax rates for investors
Arguments
Name | Type | Description |
_investors | address[] | Addresses of investor |
_withholding | uint256 | Withholding tax for all investors (multiplied by 10**16) |
pushDividendPaymentToAddresses
Issuer can push dividends to provided addresses
Arguments
Name | Type | Description |
_dividendIndex | uint256 | Dividend to push |
_payees | address payable[] | Addresses to which to push the dividend |
pushDividendPayment
Issuer can push dividends using the investor list from the security token
Arguments
Name | Type | Description |
_dividendIndex | uint256 | Dividend to push |
_start | uint256 | Index in investor list at which to start pushing dividends |
_end | uint256 | Index in investor list at which to stop pushing dividends |
pullDividendPayment
Investors can pull their own dividends
Arguments
Name | Type | Description |
_dividendIndex | uint256 | Dividend to pull |
_payDividend
⤿ Overridden Implementation(s): ERC20DividendCheckpoint._payDividend,EtherDividendCheckpoint._payDividend
Internal function for paying dividends
Arguments
Name | Type | Description |
_payee | address payable | Address of investor |
_dividend | struct DividendCheckpointStorage.Dividend | Storage with previously issued dividends |
_dividendIndex | uint256 | Dividend to pay |
reclaimDividend
⤿ Overridden Implementation(s): ERC20DividendCheckpoint.reclaimDividend,EtherDividendCheckpoint.reclaimDividend
Issuer can reclaim remaining unclaimed dividend amounts, for expired dividends
Arguments
Name | Type | Description |
_dividendIndex | uint256 | Dividend to reclaim |
calculateDividend
Calculate amount of dividends claimable
Returns
claim, withheld amounts
Arguments
Name | Type | Description |
_dividendIndex | uint256 | Dividend to calculate |
_payee | address | Affected investor address |
getDividendIndex
Get the index according to the checkpoint id
Returns
uint256[]
Arguments
Name | Type | Description |
_checkpointId | uint256 | Checkpoint id to query |
withdrawWithholding
⤿ Overridden Implementation(s): ERC20DividendCheckpoint.withdrawWithholding,EtherDividendCheckpoint.withdrawWithholding
Allows issuer to withdraw withheld tax
Arguments
Name | Type | Description |
_dividendIndex | uint256 | Dividend to withdraw from |
updateDividendDates
Allows issuer to change maturity / expiry dates for dividends
Arguments
Name | Type | Description |
_dividendIndex | uint256 | Dividend to withdraw from |
_maturity | uint256 | updated maturity date |
_expiry | uint256 | updated expiry date |
getDividendsData
Get static dividend data
Returns
uint256[] timestamp of dividends creation
Arguments
Name | Type | Description |
getDividendData
Get static dividend data
Returns
uint256 timestamp of dividend creation
Arguments
Name | Type | Description |
_dividendIndex | uint256 |
getDividendProgress
Retrieves list of investors, their claim status and whether they are excluded
Returns
address[] list of investors
Arguments
Name | Type | Description |
_dividendIndex | uint256 | Dividend to withdraw from |
getCheckpointData
Retrieves list of investors, their balances, and their current withholding tax percentage
Returns
address[] list of investors
Arguments
Name | Type | Description |
_checkpointId | uint256 | Checkpoint Id to query for |
isExcluded
Checks whether an address is excluded from claiming a dividend
Returns
bool whether the address is excluded
Arguments
Name | Type | Description |
_investor | address | |
_dividendIndex | uint256 | Dividend to withdraw from |
isClaimed
Checks whether an address has claimed a dividend
Returns
bool whether the address has claimed
Arguments
Name | Type | Description |
_investor | address | |
_dividendIndex | uint256 | Dividend to withdraw from |
getPermissions
⤾ overrides IModule.getPermissions
Return the permissions flag that are associated with this module
Returns
bytes32 array
Arguments
Name | Type | Description |
Last updated