Commit 5e6df079 by Manuel Aráoz Committed by GitHub

Merge pull request #31 from gleim/master

Add bounties folder and CrowdsaleToken bounty contract
parents 5eea131f 1b65e336
pragma solidity ^0.4.0;
import '../PullPayment.sol';
import '../token/CrowdsaleToken.sol';
/*
* Bounty
* This bounty will pay out if you can cause a CrowdsaleToken's balance
* to be lower than its totalSupply, which would mean that it doesn't
* have sufficient ether for everyone to withdraw.
*/
contract CrowdsaleTokenBounty is PullPayment {
bool public claimed;
mapping(address => address) public researchers;
function() {
if (claimed) throw;
}
function createTarget() returns(CrowdsaleToken) {
CrowdsaleToken target = new CrowdsaleToken();
researchers[target] = msg.sender;
return target;
}
function claim(CrowdsaleToken target) {
address researcher = researchers[target];
if (researcher == 0) throw;
// Check CrowdsaleToken contract invariants
// Customize this to the specifics of your contract
if (target.totalSupply() == target.balance) {
throw;
}
asyncSend(researcher, this.balance);
claimed = true;
}
}
pragma solidity ^0.4.0; pragma solidity ^0.4.0;
import './PullPayment.sol'; import '../PullPayment.sol';
import './token/SimpleToken.sol'; import '../token/SimpleToken.sol';
/* /*
* Bounty * Bounty
...@@ -8,7 +8,7 @@ import './token/SimpleToken.sol'; ...@@ -8,7 +8,7 @@ import './token/SimpleToken.sol';
* to be lower than its totalSupply, which would mean that it doesn't * to be lower than its totalSupply, which would mean that it doesn't
* have sufficient ether for everyone to withdraw. * have sufficient ether for everyone to withdraw.
*/ */
contract Bounty is PullPayment { contract SimpleTokenBounty is PullPayment {
bool public claimed; bool public claimed;
mapping(address => address) public researchers; mapping(address => address) public researchers;
......
...@@ -2,7 +2,8 @@ module.exports = function(deployer) { ...@@ -2,7 +2,8 @@ module.exports = function(deployer) {
deployer.deploy(PullPaymentBid); deployer.deploy(PullPaymentBid);
deployer.deploy(BadArrayUse); deployer.deploy(BadArrayUse);
deployer.deploy(ProofOfExistence); deployer.deploy(ProofOfExistence);
deployer.deploy(Bounty); deployer.deploy(SimpleTokenBounty);
deployer.deploy(CrowdsaleTokenBounty);
deployer.deploy(Ownable); deployer.deploy(Ownable);
deployer.deploy(LimitFunds); deployer.deploy(LimitFunds);
}; };
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment