github.com/codingfuture/orig-energi3@v0.8.4/energi/contracts/src/ITreasury.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 import { IBudgetProposal } from "./IBudgetProposal.sol"; 25 26 /** 27 * Interface for the Treasury 28 */ 29 interface ITreasury { 30 event BudgetProposal( 31 uint indexed ref_uuid, 32 IBudgetProposal proposal, 33 address payout_address, 34 uint amount, 35 uint deadline 36 ); 37 event Contribution( 38 address from, 39 uint amount 40 ); 41 event Payout( 42 uint indexed ref_uuid, 43 IBudgetProposal proposal, 44 uint amount 45 ); 46 47 function uuid_proposal(uint _ref_uuid) external view returns(IBudgetProposal); 48 function proposal_uuid(IBudgetProposal proposal) external view returns(uint); 49 function propose(uint _amount, uint _ref_uuid, uint _period) 50 external payable returns(IBudgetProposal proposal); 51 function listProposals() external view returns(IBudgetProposal[] memory proposals); 52 function isSuperblock(uint _blockNumber) external view returns(bool); 53 function contribute() external payable; 54 function balance() external view returns(uint amount); 55 }