Commit 8dd07390 by Francisco Giordano

convert BreakInvariantBounty to initializers

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