github.com/codingfuture/orig-energi3@v0.8.4/energi/contracts/src/IMasternodeToken.sol (about) 1 // Copyright 2019 The Energi Core Authors 2 // This file is part of Energi Core. 3 // 4 // Energi Core is free software: you can redistribute it and/or modify 5 // it under the terms of the GNU General Public License as published by 6 // the Free Software Foundation, either version 3 of the License, or 7 // (at your option) any later version. 8 // 9 // Energi Core is distributed in the hope that it will be useful, 10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 // GNU General Public License for more details. 13 // 14 // You should have received a copy of the GNU General Public License 15 // along with Energi Core. If not, see <http://www.gnu.org/licenses/>. 16 17 // Energi Governance system is the fundamental part of Energi Core. 18 19 // NOTE: It's not allowed to change the compiler due to byte-to-byte 20 // match requirement. 21 pragma solidity 0.5.16; 22 //pragma experimental SMTChecker; 23 24 interface IMasternodeToken /* is ERC20 */ { 25 event Transfer(address indexed from, address indexed to, uint256 value); 26 event Approval(address indexed owner, address indexed spender, uint256 value); 27 28 function name() external view returns (string memory); 29 function symbol() external view returns (string memory); 30 function decimals() external view returns (uint8); 31 function totalSupply() external view returns (uint256); 32 function balanceOf(address _owner) external view returns (uint256 balance); 33 function transfer(address _to, uint256 _value) external returns (bool success); 34 function transferFrom(address _from, address _to, uint256 _value) external returns (bool success); 35 function approve(address _spender, uint256 _value) external returns (bool success); 36 function allowance(address _owner, address _spender) external view returns (uint256 remaining); 37 38 // Energi 39 //--------------------------------- 40 function balanceInfo(address _tokenOwner) 41 external view 42 returns (uint256 balance, uint256 last_block); 43 function withdrawCollateral(uint256 _amount) external; 44 function depositCollateral() external payable; 45 46 function () external payable; 47 }