pragma solidity ^0.4.24; import "../../../token/erc223/ERC223Token.sol"; contract CalculateERC223 is ERC223Token { constructor( address _owner, string _name, string _symbol ) public ERC223Token(_owner, _name, _symbol){ } function CalculateSelector() public pure returns (bytes4){ // return this.owner.selector ^ this.renounceOwnership.selector ^ this.transferOwnership.selector // ^ this.template.selector ^ this.activate.selector // ^ this.name.selector ^ this.symbol.selector // ^ this.totalSupply.selector ^ this.balanceOf.selector ^ bytes4(keccak256("transfer(address,uint256)")) // ^ this.allowance.selector ^ this.transferFrom.selector ^ this.approve.selector // ^ this.increaseApproval.selector ^ this.decreaseApproval.selector // ^ bytes4(keccak256("transfer(address,uint256,bytes)")) ^ bytes4(keccak256("transfer(address,uint256,bytes,string")) // ^ this.mintingFinished.selector ^ this.checkRole.selector ^ this.activated.selector ^ this.maxMintable.selector // ^ this.hasRole.selector ^ this.removeMinter.selector ^ this.decimals.selector ^ this.pausable.selector // ^ this.initialSupply.selector ^ this.unpause.selector ^ this.mintable.selector ^ this.paused.selector // ^ this.finishMinting.selector ^ this.ROLE_MINTER.selector ^ this.addMinter.selector ^ this.burnable.selector // ^ this.update.selector ^ this.setMaxMintable.selector ^ this.mint.selector ^ this.burn.selector ^ this.pause.selector; return this.owner.selector ^ this.renounceOwnership.selector ^ this.transferOwnership.selector ^ this.template.selector ^ this.activate.selector ^ this.name.selector ^ this.symbol.selector ^ this.totalSupply.selector ^ this.balanceOf.selector ^ bytes4(keccak256("transfer(address,uint256)")) ^ this.allowance.selector ^ this.transferFrom.selector ^ this.approve.selector ^ this.increaseApproval.selector ^ this.decreaseApproval.selector ^ this.mintingFinished.selector ^ this.finishMinting.selector ^ this.checkRole.selector ^ this.hasRole.selector ^ this.ROLE_MINTER.selector ^ this.addMinter.selector ^ this.removeMinter.selector ^ this.burn.selector ^ this.paused.selector ^ this.pause.selector ^ this.unpause.selector ^ this.decimals.selector ^ this.initialSupply.selector ^ this.mintable.selector ^ this.maxMintable.selector ^ this.burnable.selector ^ this.pausable.selector ^ this.update.selector ^ this.setMaxMintable.selector ^ bytes4(keccak256("transfer(address,uint256,bytes)")) ^ bytes4(keccak256("transfer(address,uint256,bytes,string)")) ; } }