I am developing an ERC20 token which needs to have a timelock on a certain wallet that unlocks a certain amount of tokens every month.
I am currently using the openzeppelin function:
function TokenTimelock(ERC20Basic _token, address _beneficiary, uint256 _releaseTime) public
However, this would release all tokens at once. I want to implement something that would unlock a percentage of tokens every month, until everything is unlocked. I also need to restrict the transfer of these unlocked tokens to whitelisted addresses only, is this doable?