@@ -6,12 +6,10 @@ import "./JobValidator.sol";
6
6
*/
7
7
contract Job is JobValidator {
8
8
9
- /**
10
- * @dev Kovan AGI token.
11
- * https://kovan.etherscan.io/token/0x3b226ff6aad7851d3263e53cb7688d13a07f6e81#readContract
12
- * ERC20Basic public constant AGI = ERC20Basic(0x3b226ff6aad7851d3263e53cb7688d13a07f6e81);
13
- */
14
-
9
+ /**
10
+ * @dev Who can set the result
11
+ */
12
+ address provider;
15
13
/**
16
14
* @dev Cost in AGI for the exection of the job
17
15
* (10**8 cogs === 1 AGI)
@@ -23,31 +21,12 @@ contract Job is JobValidator {
23
21
*/
24
22
event Started (address indexed payer , address indexed payee , bytes32 descriptor , address job );
25
23
26
- /**
27
- * @dev Job constructor.
28
- * @param _payer An agent who pays the job.
29
- * @param _payee An agent to whom the job is paid.
30
- * @param _cost Cost in AGI
31
- */
32
- function Job (address _payer , address _payee , bytes32 _descriptor , uint256 _cost , uint256 _reward ) public {
33
-
34
- payer = _payer;
35
- payee = _payee;
36
- descriptor = _descriptor;
37
- cost = _cost;
38
- reward = _reward;
39
-
40
- start = now ;
41
-
42
- Started (payer, payee, descriptor, address (this ));
43
- }
44
-
45
24
/**
46
25
* @dev Set result of this Job
47
26
* @param _result Result data hash
48
27
*/
49
28
function setResult (bytes32 _result ) public returns (bool ) {
50
- require (msg .sender == payee );
29
+ require (msg .sender == provider );
51
30
require (descriptor.length > 0 );
52
31
53
32
end = now ;
@@ -60,6 +39,16 @@ contract Job is JobValidator {
60
39
return true ;
61
40
}
62
41
42
+ /**
43
+ * @dev The payee can change the provider address
44
+ * @param _provider New provider
45
+ */
46
+ function setProvider (address _provider ) public returns (bool ) {
47
+ require (msg .sender == payee);
48
+ provider = _provider;
49
+ return true ;
50
+ }
51
+
63
52
64
53
65
54
}
0 commit comments