0.1.3 • Published 3 years ago
@fantastic-solidity/contracts v0.1.3
TransferChecker
inherit ERC20TransferChecker
import "@fantastic-solidity/contracts/ERC20TransferChecker.sol";
contract Token is ERC20, Ownerable, ERC20TransferChecker {
// set with access controll
function setTransferChecker(address transferChecker) public onlyOwner {
_setTransferChecker(transferChecker);
}
// override hook
function _beforeTokenTransfer(address from, address to, uint256 amount) internal override {
super._beforeTokenTransfer(from, to, amount);
_checkTransfer(from, to, amount);
}
}
implement ITransferChecker
contract TokenTransferChecker is ITransferChecker{
// your logic here
function checkTransfer(address from, address to, uint256 amount) public override{
revert("can not transfer");
}
}