From e661b42bd98b5f3e7b2c6ee88e49ab037ea7053a Mon Sep 17 00:00:00 2001 From: dannielboy58 Date: Thu, 23 Jul 2020 12:06:17 +0100 Subject: [PATCH] Update Main.sol --- contract/Main.sol | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/contract/Main.sol b/contract/Main.sol index 197941b..521a09e 100644 --- a/contract/Main.sol +++ b/contract/Main.sol @@ -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){ @@ -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]; @@ -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; + +}