pragma solidity ^0.5.2; contract escrow { uint256 balannce; address payable reciever; address payable sender; bool recieverOk; address owner; uint256 private start; bool senderOk; constructor(address payable sender_add, address payable reciever_add) public { reciever = reciever_add; sender = sender_add; owner = msg.sender; start = now; } modifier isReciever() { require(reciever == msg.sender); _; } function Approve () public returns (bool) { if(msg.sender == reciever) { require(recieverOk = false); recieverOk = true; } else if(msg.sender == sender) { require(senderOk = false); senderOk = true; } if(senderOk && recieverOk) { payto(); } } function payto () public { reciever.transfer(escrowBalance()); } function collect () payable public isReciever { } function escrowBalance () public view returns(uint256) { return address(this).balance; } }
0.5.2