View Source: contracts/modules/Checkpoint/Dividend/DividendCheckpoint.sol
↗ Extends: DividendCheckpointStorage, ICheckpoint, Module ↘ Derived Contracts: ERC20DividendCheckpoint, EtherDividendCheckpoint
DividendCheckpoint
abstract contract
Contract Members
Constants & Variables
uint256 internal constant e18;
Events
event SetDefaultExcludedAddresses(address[] _excluded);
event SetWithholding(address[] _investors, uint256[] _withholding);
event SetWithholdingFixed(address[] _investors, uint256 _withholding);
event SetWallet(address indexed _oldWallet, address indexed _newWallet);
event UpdateDividendDates(uint256 indexed _dividendIndex, uint256 _maturity, uint256 _expiry);
_validDividendIndex
Arguments
Function used to intialize the contract variables
Arguments
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
Function used to change wallet address
Arguments
Ethereum account address to receive reclaimed dividends and tax
Arguments
getDefaultExcluded
Return the default excluded addresses
Returns
List of excluded addresses
Arguments
getTreasuryWallet
Returns the treasury wallet address
Arguments
createCheckpoint
Creates a checkpoint on the security token
Returns
Checkpoint ID
Arguments
setDefaultExcluded
Function to clear and set list of excluded addresses used for future dividends
Arguments
Function to set withholding tax rates for investors
Arguments
Withholding tax for individual investors (multiplied by 10**16)
setWithholdingFixed
Function to set withholding tax rates for investors
Arguments
Withholding tax for all investors (multiplied by 10**16)
pushDividendPaymentToAddresses
Issuer can push dividends to provided addresses
Arguments
Addresses to which to push the dividend
pushDividendPayment
Issuer can push dividends using the investor list from the security token
Arguments
Index in investor list at which to start pushing dividends
Index in investor list at which to stop pushing dividends
pullDividendPayment
Investors can pull their own dividends
Arguments
⤿ Overridden Implementation(s): ERC20DividendCheckpoint._payDividend,EtherDividendCheckpoint._payDividend
Internal function for paying dividends
Arguments
struct DividendCheckpointStorage.Dividend
Storage with previously issued dividends
reclaimDividend
⤿ Overridden Implementation(s): ERC20DividendCheckpoint.reclaimDividend,EtherDividendCheckpoint.reclaimDividend
Issuer can reclaim remaining unclaimed dividend amounts, for expired dividends
Arguments
calculateDividend
Calculate amount of dividends claimable
Returns
claim, withheld amounts
Arguments
Affected investor address
getDividendIndex
Get the index according to the checkpoint id
Returns
uint256[]
Arguments
withdrawWithholding
⤿ Overridden Implementation(s): ERC20DividendCheckpoint.withdrawWithholding,EtherDividendCheckpoint.withdrawWithholding
Allows issuer to withdraw withheld tax
Arguments
Dividend to withdraw from
updateDividendDates
Allows issuer to change maturity / expiry dates for dividends
Arguments
Dividend to withdraw from
getDividendsData
Get static dividend data
Returns
uint256[] timestamp of dividends creation
Arguments
getDividendData
Get static dividend data
Returns
uint256 timestamp of dividend creation
Arguments
getDividendProgress
Retrieves list of investors, their claim status and whether they are excluded
Returns
address[] list of investors
Arguments
Dividend to withdraw from
getCheckpointData
Retrieves list of investors, their balances, and their current withholding tax percentage
Returns
address[] list of investors
Arguments
Checkpoint Id to query for
Checks whether an address is excluded from claiming a dividend
Returns
bool whether the address is excluded
Arguments
Dividend to withdraw from
Checks whether an address has claimed a dividend
Returns
bool whether the address has claimed
Arguments
Dividend to withdraw from
⤾ overrides IModule.getPermissions
Return the permissions flag that are associated with this module
Returns
bytes32 array
Arguments