diff --git a/contracts/examples/SimpleToken.sol b/contracts/examples/SimpleToken.sol index 67de00ca4..f1bd8e079 100644 --- a/contracts/examples/SimpleToken.sol +++ b/contracts/examples/SimpleToken.sol @@ -1,6 +1,7 @@ pragma solidity ^0.4.24; +import "../Initializable.sol"; import "../token/ERC20/ERC20.sol"; @@ -10,7 +11,7 @@ import "../token/ERC20/ERC20.sol"; * Note they can later distribute these tokens as they wish using `transfer` and other * `ERC20` functions. */ -contract SimpleToken is ERC20 { +contract SimpleToken is Initializable, ERC20 { string public constant name = "SimpleToken"; string public constant symbol = "SIM"; @@ -21,7 +22,7 @@ contract SimpleToken is ERC20 { /** * @dev Constructor that gives msg.sender all of existing tokens. */ - constructor() public { + function initialize() public initializer { _mint(msg.sender, INITIAL_SUPPLY); } diff --git a/contracts/mocks/SimpleTokenMock.sol b/contracts/mocks/SimpleTokenMock.sol new file mode 100644 index 000000000..2689d09c5 --- /dev/null +++ b/contracts/mocks/SimpleTokenMock.sol @@ -0,0 +1,10 @@ +pragma solidity ^0.4.24; + +import "../Initializable.sol"; +import "../examples/SimpleToken.sol"; + +contract SimpleTokenMock is Initializable, SimpleToken { + constructor() public { + SimpleToken.initialize(); + } +} diff --git a/test/examples/SimpleToken.test.js b/test/examples/SimpleToken.test.js index a28cf4641..74f56938d 100644 --- a/test/examples/SimpleToken.test.js +++ b/test/examples/SimpleToken.test.js @@ -1,5 +1,5 @@ const { decodeLogs } = require('../helpers/decodeLogs'); -const SimpleToken = artifacts.require('SimpleToken'); +const SimpleToken = artifacts.require('SimpleTokenMock'); const BigNumber = web3.BigNumber;