From fc07f7a0ff859f49bf7f1c37f5bd0f1c06142244 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Venturo?= Date: Sat, 19 May 2018 00:58:52 -0300 Subject: [PATCH] RBACWithAdmin now has an initialize function instead of a constructor. --- contracts/mocks/RBACMock.sol | 2 ++ contracts/ownership/rbac/RBACWithAdmin.sol | 11 ++++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/contracts/mocks/RBACMock.sol b/contracts/mocks/RBACMock.sol index 7dfa2a985..fc8e93c9c 100644 --- a/contracts/mocks/RBACMock.sol +++ b/contracts/mocks/RBACMock.sol @@ -19,6 +19,8 @@ contract RBACMock is RBACWithAdmin { function RBACMock(address[] _advisors) public { + RBACWithAdmin.initialize(msg.sender); + addRole(msg.sender, ROLE_ADVISOR); for (uint256 i = 0; i < _advisors.length; i++) { diff --git a/contracts/ownership/rbac/RBACWithAdmin.sol b/contracts/ownership/rbac/RBACWithAdmin.sol index 90eb187a1..1f7b26a7b 100644 --- a/contracts/ownership/rbac/RBACWithAdmin.sol +++ b/contracts/ownership/rbac/RBACWithAdmin.sol @@ -1,7 +1,7 @@ pragma solidity ^0.4.21; import "./RBAC.sol"; - +import 'zos-lib/contracts/migrations/Migratable.sol'; /** * @title RBACWithAdmin @@ -9,7 +9,7 @@ import "./RBAC.sol"; * @dev It's recommended that you define constants in the contract, * @dev like ROLE_ADMIN below, to avoid typos. */ -contract RBACWithAdmin is RBAC { +contract RBACWithAdmin is RBAC, Migratable { /** * A constant role name for indicating admins. */ @@ -26,12 +26,13 @@ contract RBACWithAdmin is RBAC { } /** - * @dev constructor. Sets msg.sender as admin by default + * @dev constructor. Sets initialAdmin as admin. */ - function RBACWithAdmin() + function initialize(address initialAdmin) + isInitializer("RBACWithAdmin", "1.9.0-beta") public { - addRole(msg.sender, ROLE_ADMIN); + addRole(initialAdmin, ROLE_ADMIN); } /**