From 8bf7356f38ad53ae8087302045afa628c918dcbe Mon Sep 17 00:00:00 2001 From: Francisco Giordano Date: Wed, 26 Sep 2018 18:49:47 -0300 Subject: [PATCH] convert ERC20Migrator to initializers --- contracts/drafts/ERC20Migrator.sol | 5 +++-- contracts/mocks/ERC20MigratorMock.sol | 13 +++++++++++++ test/drafts/ERC20Migrator.test.js | 4 ++-- 3 files changed, 18 insertions(+), 4 deletions(-) create mode 100644 contracts/mocks/ERC20MigratorMock.sol diff --git a/contracts/drafts/ERC20Migrator.sol b/contracts/drafts/ERC20Migrator.sol index 69e745f14..f7d45f3a8 100644 --- a/contracts/drafts/ERC20Migrator.sol +++ b/contracts/drafts/ERC20Migrator.sol @@ -1,5 +1,6 @@ pragma solidity ^0.4.24; +import "../Initializable.sol"; import "../token/ERC20/IERC20.sol"; import "../token/ERC20/ERC20Mintable.sol"; import "../token/ERC20/SafeERC20.sol"; @@ -32,7 +33,7 @@ import "../math/Math.sol"; * await migrator.beginMigration(newToken.address); * ``` */ -contract ERC20Migrator { +contract ERC20Migrator is Initializable { using SafeERC20 for IERC20; /// Address of the old token contract @@ -44,7 +45,7 @@ contract ERC20Migrator { /** * @param legacyToken address of the old token contract */ - constructor(IERC20 legacyToken) public { + function initialize(IERC20 legacyToken) public initializer { require(legacyToken != address(0)); _legacyToken = legacyToken; } diff --git a/contracts/mocks/ERC20MigratorMock.sol b/contracts/mocks/ERC20MigratorMock.sol new file mode 100644 index 000000000..6aa9a9248 --- /dev/null +++ b/contracts/mocks/ERC20MigratorMock.sol @@ -0,0 +1,13 @@ +pragma solidity ^0.4.24; + +import "../Initializable.sol"; +import "../drafts/ERC20Migrator.sol"; + + +contract ERC20MigratorMock is Initializable, ERC20Migrator { + + constructor(IERC20 legacyToken) public { + ERC20Migrator.initialize(legacyToken); + } + +} diff --git a/test/drafts/ERC20Migrator.test.js b/test/drafts/ERC20Migrator.test.js index 315a7ea78..e6e0fada7 100644 --- a/test/drafts/ERC20Migrator.test.js +++ b/test/drafts/ERC20Migrator.test.js @@ -1,8 +1,8 @@ const { assertRevert } = require('../helpers/assertRevert'); const ERC20Mock = artifacts.require('ERC20Mock'); -const ERC20Mintable = artifacts.require('ERC20Mintable'); -const ERC20Migrator = artifacts.require('ERC20Migrator'); +const ERC20Mintable = artifacts.require('ERC20MintableMock'); +const ERC20Migrator = artifacts.require('ERC20MigratorMock'); const BigNumber = web3.eth.BigNumber;