// SPDX-License-Identifier: MIT pragma solidity 0.6.12; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import "@openzeppelin/contracts/access/Ownable.sol"; abstract contract BasicBoneDistributor is Ownable { IERC20 public bone; constructor (IERC20 _bone) public { bone = _bone; } function boneBalance() external view returns(uint) { return bone.balanceOf(address(this)); } function withdrawBone(address _destination) external onlyOwner { uint amount = bone.balanceOf(address(this)); require(bone.transfer(_destination, amount), "transfer: withdraw failed"); } }