pragma solidity ^0.4.23;
import "./FathomToken.sol";
import "./ConceptRegistry.sol";
import "./Assessment.sol";
import "./Math.sol";
import "./Proxy.sol";
contract ConceptHeader {
event DataSet(address _owner, bytes _data);
}
contract ConceptData is ProxyData, ConceptHeader {
address[] public parents; //The concepts that this concept is child to (ie: Calculus is child to Math)
bytes public data;
address public owner;
uint creationDate; //TODO merge with buckets
FathomToken public fathomToken;
uint internal constant NofBUCKETS = 5;
uint public CREATION_DATE;
ConceptRegistry public conceptRegistry;
uint public lifetime;
mapping (address => bool) public assessmentExists;
uint[] public propagationRates;
mapping (uint => address[]) public buckets;
mapping (address => MemberData) public memberData;
address public cloneOf;
struct MemberData {
address recentAssessment;
mapping(uint => uint) bucketIndices;
uint weight;
uint date;
}
}
contract ConceptDataInternal is ProxyData, ConceptHeader {
address[] internal parents; //The concepts that this concept is child to (ie: Calculus is child to Math)
bytes internal data;
address internal owner;
uint creationDate; //TODO merge with buckets
FathomToken internal fathomToken;
uint internal constant NofBUCKETS = 5;
uint internal CREATION_DATE;
ConceptRegistry internal conceptRegistry;
uint internal lifetime;
mapping (address => bool) internal assessmentExists;
uint[] internal propagationRates;
mapping (uint => address[]) internal buckets;
mapping (address => MemberData) internal memberData;
address internal cloneOf;
struct MemberData {
address recentAssessment;
mapping(uint => uint) bucketIndices;
uint weight;
uint date;
}
}
|