This base transfer check provides a method for checking static restrictions as well as transfer restrictions. This is in line with ERC-902 proposal.
function canSend(address tokenHolder, uint256 amount) external view returns (byte ESC, bytes32 reason);
function canSend(address from, address to, uint256 amount, bytes data) external view returns (byte ESC, bytes32 reason);
This extension to ERC-1400 allows for more advanced modelling of the static and transfer restrictions through differentiated ownership.
function canSend(address tokenHolder, bytes32 tranche, uint256 amount) external view returns (byte ESC, bytes32 reason);
function canSend(address from, address to, bytes32 fromTranche, uint256 amount, bytes data) external view returns (byte ESC, bytes32 reason, bytes32 toTranche);
I'm assuming
tokenHolder
in the first and fourthcanSend
is theto
address? Changing that input name toto
orfrom
might reduce ambiguity.