From 00f7c19d02d58f51383f11d3fbf3e93eda6130ef Mon Sep 17 00:00:00 2001 From: Francisco Giordano Date: Mon, 21 Jan 2019 19:28:11 -0300 Subject: [PATCH] fix remaining tests --- contracts/crowdsale/validation/PausableCrowdsale.sol | 10 +++++++++- contracts/mocks/PausableCrowdsaleImpl.sol | 1 + contracts/mocks/WhitelistedRoleMock.sol | 4 ++++ test/ownership/Ownable.test.js | 2 +- 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/contracts/crowdsale/validation/PausableCrowdsale.sol b/contracts/crowdsale/validation/PausableCrowdsale.sol index cc89aebab..a5f3ac584 100644 --- a/contracts/crowdsale/validation/PausableCrowdsale.sol +++ b/contracts/crowdsale/validation/PausableCrowdsale.sol @@ -1,5 +1,7 @@ pragma solidity ^0.5.0; +import "zos-lib/contracts/Initializable.sol"; + import "../Crowdsale.sol"; import "../../lifecycle/Pausable.sol"; @@ -7,7 +9,13 @@ import "../../lifecycle/Pausable.sol"; * @title PausableCrowdsale * @dev Extension of Crowdsale contract where purchases can be paused and unpaused by the pauser role. */ -contract PausableCrowdsale is Crowdsale, Pausable { +contract PausableCrowdsale is Initializable, Crowdsale, Pausable { + function initialize(address sender) public initializer { + assert(Crowdsale._hasBeenInitialized()); + + Pausable.initialize(sender); + } + /** * @dev Validation of an incoming purchase. Use require statements to revert state when conditions are not met. * Use super to concatenate validations. diff --git a/contracts/mocks/PausableCrowdsaleImpl.sol b/contracts/mocks/PausableCrowdsaleImpl.sol index 9ae9399de..6abe46eda 100644 --- a/contracts/mocks/PausableCrowdsaleImpl.sol +++ b/contracts/mocks/PausableCrowdsaleImpl.sol @@ -6,5 +6,6 @@ import "../crowdsale/validation/PausableCrowdsale.sol"; contract PausableCrowdsaleImpl is PausableCrowdsale { constructor (uint256 _rate, address payable _wallet, ERC20 _token) public { Crowdsale.initialize(_rate, _wallet, _token); + PausableCrowdsale.initialize(msg.sender); } } diff --git a/contracts/mocks/WhitelistedRoleMock.sol b/contracts/mocks/WhitelistedRoleMock.sol index 7f7c89412..756065d96 100644 --- a/contracts/mocks/WhitelistedRoleMock.sol +++ b/contracts/mocks/WhitelistedRoleMock.sol @@ -3,6 +3,10 @@ pragma solidity ^0.5.0; import "../access/roles/WhitelistedRole.sol"; contract WhitelistedRoleMock is WhitelistedRole { + constructor() public { + WhitelistedRole._initialize(msg.sender); + } + function onlyWhitelistedMock() public view onlyWhitelisted { // solhint-disable-previous-line no-empty-blocks } diff --git a/test/ownership/Ownable.test.js b/test/ownership/Ownable.test.js index 7139f6cc0..e1a504b99 100644 --- a/test/ownership/Ownable.test.js +++ b/test/ownership/Ownable.test.js @@ -1,4 +1,4 @@ -const { shouldFail } = require('../helpers/shouldFail'); +const shouldFail = require('../helpers/shouldFail'); require('../helpers/setup');