-
Notifications
You must be signed in to change notification settings - Fork 0
/
buyer.sol
44 lines (40 loc) · 1.13 KB
/
buyer.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
contract buyer{
seller s;
uint public pricelisted;
uint public pricebuyer;
address owner;
bytes32 public hash;
function buyer(address Seller)payable{
s = seller(Seller);
owner=msg.sender;
pricelisted=address(s).balance;
pricebuyer=msg.value;//msg.value is twice the price
if(pricebuyer==2*pricelisted){
s.boolBuyerEdit();//customer is available
}
}
modifier onlyOwner {
require(msg.sender == owner);
_;
}
//to check the price
function sellersContractBalance() view returns (uint){
return address(s).balance;
}
function buyersContractBalance() view returns (uint){
return address(this).balance;
}
function Transaction(uint Productid,uint Random )onlyOwner{
hash=sha256(Productid,Random);
if(hash==s.Hash()){
if(s.boolBuyer()){
s.boolStatusEdit();
address(s).transfer(pricelisted);
}
}
if(s.boolStatus()){
s.Payback();
owner.transfer(pricelisted);
}
}
}