From f3b5f9e8f000edb91cb158d7ab38432278c741d0 Mon Sep 17 00:00:00 2001 From: Francisco Giordano Date: Wed, 26 Sep 2018 19:01:36 -0300 Subject: [PATCH] convert SignatureBouncer to initializers --- contracts/drafts/SignatureBouncer.sol | 7 ++++++- contracts/mocks/SignatureBouncerMock.sol | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/contracts/drafts/SignatureBouncer.sol b/contracts/drafts/SignatureBouncer.sol index a584b7aad..1bb579cdf 100644 --- a/contracts/drafts/SignatureBouncer.sol +++ b/contracts/drafts/SignatureBouncer.sol @@ -1,5 +1,6 @@ pragma solidity ^0.4.24; +import "../Initializable.sol"; import "../access/roles/SignerRole.sol"; import "../cryptography/ECDSA.sol"; @@ -28,7 +29,7 @@ import "../cryptography/ECDSA.sol"; * Also non fixed sized parameters make constructing the data in the signature * much more complex. See https://ethereum.stackexchange.com/a/50616 for more details. */ -contract SignatureBouncer is SignerRole { +contract SignatureBouncer is Initializable, SignerRole { using ECDSA for bytes32; // Function selectors are 4 bytes long, as documented in @@ -64,6 +65,10 @@ contract SignatureBouncer is SignerRole { _; } + function initialize() public initializer { + SignerRole.initialize(); + } + /** * @dev is the signature of `this + sender` from a signer? * @return bool diff --git a/contracts/mocks/SignatureBouncerMock.sol b/contracts/mocks/SignatureBouncerMock.sol index 1ac00bfa2..f1815203e 100644 --- a/contracts/mocks/SignatureBouncerMock.sol +++ b/contracts/mocks/SignatureBouncerMock.sol @@ -1,10 +1,15 @@ pragma solidity ^0.4.24; +import "../Initializable.sol"; import "../drafts/SignatureBouncer.sol"; import "./SignerRoleMock.sol"; -contract SignatureBouncerMock is SignatureBouncer, SignerRoleMock { +contract SignatureBouncerMock is Initializable, SignatureBouncer, SignerRoleMock { + constructor() public { + SignatureBouncer.initialize(); + } + function checkValidSignature(address account, bytes signature) public view