From d7b7644e682bde3bcbd936e317bc7d795ed92f44 Mon Sep 17 00:00:00 2001 From: Francisco Giordano Date: Wed, 26 Sep 2018 18:30:45 -0300 Subject: [PATCH] convert ERC1046 to initializers --- contracts/drafts/ERC1046/TokenMetadata.sol | 8 +++++--- contracts/mocks/ERC20WithMetadataMock.sol | 8 ++++---- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/contracts/drafts/ERC1046/TokenMetadata.sol b/contracts/drafts/ERC1046/TokenMetadata.sol index a85dac1f3..a87e81a1f 100644 --- a/contracts/drafts/ERC1046/TokenMetadata.sol +++ b/contracts/drafts/ERC1046/TokenMetadata.sol @@ -1,5 +1,6 @@ pragma solidity ^0.4.24; +import "../../Initializable.sol"; import "../../token/ERC20/IERC20.sol"; @@ -9,16 +10,17 @@ import "../../token/ERC20/IERC20.sol"; * @dev tokenURI must respond with a URI that implements https://eips.ethereum.org/EIPS/eip-1047 * @dev TODO - update https://github.com/OpenZeppelin/openzeppelin-solidity/blob/master/contracts/token/ERC721/IERC721.sol#L17 when 1046 is finalized */ -contract ERC20TokenMetadata is IERC20 { +contract ERC20TokenMetadata is Initializable, IERC20 { function tokenURI() external view returns (string); } -contract ERC20WithMetadata is ERC20TokenMetadata { +contract ERC20WithMetadata is Initializable, ERC20TokenMetadata { string private _tokenURI = ""; - constructor(string tokenURI) + function initialize(string tokenURI) public + initializer { _tokenURI = tokenURI; } diff --git a/contracts/mocks/ERC20WithMetadataMock.sol b/contracts/mocks/ERC20WithMetadataMock.sol index cdc1fe365..ab52ef1b4 100644 --- a/contracts/mocks/ERC20WithMetadataMock.sol +++ b/contracts/mocks/ERC20WithMetadataMock.sol @@ -1,12 +1,12 @@ pragma solidity ^0.4.24; +import "../Initializable.sol"; import "../token/ERC20/ERC20.sol"; import "../drafts/ERC1046/TokenMetadata.sol"; -contract ERC20WithMetadataMock is ERC20, ERC20WithMetadata { - constructor(string tokenURI) public - ERC20WithMetadata(tokenURI) - { +contract ERC20WithMetadataMock is Initializable, ERC20, ERC20WithMetadata { + constructor(string tokenURI) public { + ERC20WithMetadata.initialize(tokenURI); } }