-
Notifications
You must be signed in to change notification settings - Fork 3
/
escrowfactory.sol
50 lines (38 loc) · 995 Bytes
/
escrowfactory.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
44
45
46
47
48
49
50
pragma solidity ^0.4.17;
contract EscrowFactory {
event EscrowCreated(address newAddress);
function EscrowFactory() public {
}
function createEscrow(address seller) public payable {
address a = address((new Escrow).value(msg.value)(seller));
EscrowCreated(a);
}
}
contract Escrow {
uint public createdAt;
address public buyer;
address public seller;
uint public buyerOk; // 0: undecided, 1: accept, 2: reject
uint public sellerOk;
function Escrow(address _seller) public payable {
createdAt = now;
buyer = msg.sender;
seller = _seller;
}
function accept() public {
if (msg.sender == buyer) {
buyerOk = 1;
}
if (msg.sender == seller) {
sellerOk = 1;
}
}
function reject() public {
if (msg.sender == buyer) {
buyerOk = 2;
}
if (msg.sender == seller) {
sellerOk = 2;
}
}
}