WIP Target contract creation via factory pattern
This commit is contained in:
@ -8,6 +8,10 @@ import '../PullPayment.sol';
|
||||
* have sufficient ether for everyone to withdraw.
|
||||
*/
|
||||
|
||||
contract Factory {
|
||||
function deployContract() returns (address);
|
||||
}
|
||||
|
||||
contract Target {
|
||||
function checkInvariant() returns(bool);
|
||||
}
|
||||
@ -21,8 +25,8 @@ contract Bounty is PullPayment {
|
||||
if (claimed) throw;
|
||||
}
|
||||
|
||||
function createTarget(address targetAddress) returns(Target) {
|
||||
target = Target(targetAddress);
|
||||
function createTarget(address factoryAddress) returns(Target) {
|
||||
target = Target(Factory(factoryAddress).deployContract());
|
||||
researchers[target] = msg.sender;
|
||||
return target;
|
||||
}
|
||||
|
||||
@ -5,3 +5,9 @@ contract InsecureTargetMock {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
contract Deployer {
|
||||
function deployContract() returns (address) {
|
||||
return new InsecureTargetMock();
|
||||
}
|
||||
}
|
||||
|
||||
@ -5,3 +5,9 @@ contract SecureTargetMock {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
contract Deployer {
|
||||
function deployContract() returns (address) {
|
||||
return new SecureTargetMock();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user