Commit 8dd07390 by Francisco Giordano

convert BreakInvariantBounty to initializers

parent 838509c0
pragma solidity ^0.4.24;
import "../Initializable.sol";
import "../payment/PullPayment.sol";
import "../ownership/Ownable.sol";
......@@ -9,12 +10,17 @@ import "../ownership/Ownable.sol";
* @title BreakInvariantBounty
* @dev This bounty will pay out to a researcher if they break invariant logic of the contract.
*/
contract BreakInvariantBounty is PullPayment, Ownable {
contract BreakInvariantBounty is Initializable, PullPayment, Ownable {
bool private _claimed;
mapping(address => address) private _researchers;
event TargetCreated(address createdAddress);
function initialize() public initializer {
PullPayment.initialize();
Ownable.initialize();
}
/**
* @dev Fallback function allowing the contract to receive funds, if they haven't already been claimed.
*/
......
......@@ -4,9 +4,10 @@ pragma solidity ^0.4.24;
// See: https://github.com/ethereum/solidity/issues/4871
// solium-disable-next-line max-len
import {BreakInvariantBounty, Target} from "../drafts/BreakInvariantBounty.sol";
import "../Initializable.sol";
contract TargetMock is Target {
contract TargetMock is Initializable, Target {
bool private exploited;
function exploitVulnerability() public {
......@@ -22,7 +23,11 @@ contract TargetMock is Target {
}
}
contract BreakInvariantBountyMock is BreakInvariantBounty {
contract BreakInvariantBountyMock is Initializable, BreakInvariantBounty {
constructor() public {
BreakInvariantBounty.initialize();
}
function _deployContract() internal returns (address) {
return new TargetMock();
}
......
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