From 5b8d5eb5e954c8f174ae0b36fe4c40fd0bf671e1 Mon Sep 17 00:00:00 2001 From: Francisco Giordano Date: Mon, 24 Sep 2018 17:03:14 -0300 Subject: [PATCH] convert ERC165 to initializers --- contracts/introspection/ERC165.sol | 6 ++++-- contracts/mocks/ERC165Mock.sol | 4 ++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/contracts/introspection/ERC165.sol b/contracts/introspection/ERC165.sol index 849cdf0c1..6d6db5556 100644 --- a/contracts/introspection/ERC165.sol +++ b/contracts/introspection/ERC165.sol @@ -1,5 +1,6 @@ pragma solidity ^0.4.24; +import "../Initializable.sol"; import "./IERC165.sol"; @@ -8,7 +9,7 @@ import "./IERC165.sol"; * @author Matt Condon (@shrugs) * @dev Implements ERC165 using a lookup table. */ -contract ERC165 is IERC165 { +contract ERC165 is Initializable, IERC165 { bytes4 private constant _InterfaceId_ERC165 = 0x01ffc9a7; /** @@ -25,8 +26,9 @@ contract ERC165 is IERC165 { * @dev A contract implementing SupportsInterfaceWithLookup * implement ERC165 itself */ - constructor() + function initialize() public + initializer { _registerInterface(_InterfaceId_ERC165); } diff --git a/contracts/mocks/ERC165Mock.sol b/contracts/mocks/ERC165Mock.sol index cbedcdb74..54abe3c9d 100644 --- a/contracts/mocks/ERC165Mock.sol +++ b/contracts/mocks/ERC165Mock.sol @@ -4,6 +4,10 @@ import "../introspection/ERC165.sol"; contract ERC165Mock is ERC165 { + constructor() public { + ERC165.initialize(); + } + function registerInterface(bytes4 interfaceId) public {