Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 18 additions & 5 deletions contract/Main.sol
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,20 @@ modifier theOwner(address _sender){
_;
}

function becomeADataLord(address _target,uint256 _fee,string memory nick) public theOwner(_target) returns(uint,string memory){
User memory userBase= dataLords[_target];
modifier isDataLord(address target){
address _target= target;
require(dataLordAddress[_target]==true,"this person doesn't have data for sale yet");
_;
}

function becomeADataLord(address _target,uint256 _fee,string memory nick,bytes32 hash) public theOwner(_target) returns(uint,string memory){
//User memory userBase= dataLords[_target];
dataLords[_target].nickname=nick;
dataLords[_target].fee=_fee *BaseFee;
dataLords[_target].userHash=hash;
dataLordAddress[_target]=true;
return (userBase.fee,userBase.nickname);
Accessible[msg.sender][_target]=true;//you have access to your own data
return (_fee,nick);
}

function setFee(uint _fee,address _toSet) public theOwner(_toSet) returns(uint256){
Expand All @@ -47,7 +55,7 @@ function setFee(uint _fee,address _toSet) public theOwner(_toSet) returns(uint25
function buyAccess(address _target) public payable returns(bool){
User memory userBase=dataLords[_target];
uint userFee=userBase.fee;
assert (msg.value>=userFee);
require(msg.value>=userFee,"The data owner charged more than that");
Accessible[msg.sender][_target]=true;
return Accessible[msg.sender][_target];

Expand All @@ -65,11 +73,16 @@ function checkFee(address _Target) public view returns(uint){
// return Accessible[msg.sender][_target];
//}

function viewData(address _target) public view hasAccess(_target) returns(bytes32) {
function viewData(address _target) public view isDataLord(_target) hasAccess(_target) returns(bytes32) {
return dataLords[_target].userHash;

}

function updateHash(address _target,bytes32 newhash) public theOwner(_target){
require(dataLordAddress[_target]==true,"you are not a data Lord yet,register first");
dataLords[_target].userHash=newhash;

}



Expand Down