-
Notifications
You must be signed in to change notification settings - Fork 4
/
rstBase.sol
50 lines (42 loc) · 1.29 KB
/
rstBase.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
pragma solidity ^0.4.10;
import "./erc20token.sol";
import "./interfaces/iapplypreico.sol";
import "./preICOToken.sol";
contract RSTBase is ERC20Token {
address public board;
address public owner;
address public votingData;
address public tokenData;
address public feesData;
uint256 public reserve;
uint32 public crr; // per cent
uint256 public weiForToken; // current rate
uint8 public totalAccounts;
modifier boardOnly() {
require(msg.sender == board);
_;
}
}
contract TokenControllerBase is RSTBase {
function init() public;
function isSellOpen() public constant returns(bool);
function isBuyOpen() public constant returns(bool);
function sell(uint value) public;
function buy() public payable;
function addToReserve() public payable;
}
contract VotingControllerBase is RSTBase {
function voteFor() public;
function voteAgainst() public;
function startVoting() public;
function stopVoting() public;
function getCurrentVotingDescription() public constant returns (bytes32 vd) ;
}
contract FeesControllerBase is RSTBase {
function init() public;
function withdrawFee() public;
function calculateFee() public;
function addPayee( address payee ) public;
function removePayee( address payee ) public;
function setRepayment( ) payable public;
}