diff --git a/contracts/ScopeGuard.sol b/contracts/ScopeGuard.sol index 35aa436..0da62cb 100644 --- a/contracts/ScopeGuard.sol +++ b/contracts/ScopeGuard.sol @@ -1,25 +1,12 @@ // SPDX-License-Identifier: LGPL-3.0-only pragma solidity ^0.8.6; -import "@gnosis.pm/safe-contracts/contracts/base/GuardManager.sol"; +import "@gnosis.pm/zodiac/contracts/guard/BaseGuard.sol"; +import "@gnosis.pm/zodiac/contracts/factory/FactoryFriendly.sol"; import "@gnosis.pm/safe-contracts/contracts/GnosisSafe.sol"; import "@gnosis.pm/safe-contracts/contracts/interfaces/IERC165.sol"; -import "@gnosis.pm/zodiac/contracts/factory/FactoryFriendly.sol"; import "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol"; -abstract contract BaseGuard is Guard { - function supportsInterface(bytes4 interfaceId) - external - view - virtual - returns (bool) - { - return - interfaceId == type(Guard).interfaceId || // 0xe6d7a83a - interfaceId == type(IERC165).interfaceId; // 0x01ffc9a7 - } -} - contract ScopeGuard is FactoryFriendly, OwnableUpgradeable, BaseGuard { event TargetAllowed(address target); event TargetDisallowed(address target); @@ -40,12 +27,12 @@ contract ScopeGuard is FactoryFriendly, OwnableUpgradeable, BaseGuard { function setUp(bytes memory initializeParams) public override { require(!initialized, "Guard is already initialized"); initialized = true; - (address _owner) = abi.decode(initializeParams, (address)); + address _owner = abi.decode(initializeParams, (address)); require(_owner != address(0), "Owner can not be zero address"); - + __Ownable_init(); transferOwnership(_owner); - + emit ScopeGuardSetup(msg.sender, _owner); } diff --git a/contracts/test/TestFactory.sol b/contracts/test/TestFactory.sol index f60bdb4..796b5b5 100644 --- a/contracts/test/TestFactory.sol +++ b/contracts/test/TestFactory.sol @@ -1,4 +1,4 @@ // SPDX-License-Identifier: LGPL-3.0-only pragma solidity >=0.8.0; -import "@gnosis.pm/zodiac/contracts/factory/ModuleProxyFactory.sol"; \ No newline at end of file +import "@gnosis.pm/zodiac/contracts/factory/ModuleProxyFactory.sol"; diff --git a/package.json b/package.json index dfab4f3..b7d7bda 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "test": "test" }, "devDependencies": { - "@gnosis.pm/zodiac": "0.0.1-prealpha1", + "@gnosis.pm/zodiac": "^0.0.1-prealpha1", "@nomiclabs/hardhat-ethers": "2.0.2", "@nomiclabs/hardhat-etherscan": "2.1.4", "@nomiclabs/hardhat-waffle": "2.0.1", diff --git a/yarn.lock b/yarn.lock index 28e01d0..df5b86e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -563,7 +563,7 @@ resolved "https://registry.yarnpkg.com/@gnosis.pm/safe-contracts/-/safe-contracts-1.3.0.tgz#316741a7690d8751a1f701538cfc9ec80866eedc" integrity sha512-1p+1HwGvxGUVzVkFjNzglwHrLNA67U/axP0Ct85FzzH8yhGJb4t9jDjPYocVMzLorDoWAfKicGy1akPY9jXRVw== -"@gnosis.pm/zodiac@0.0.1-prealpha1": +"@gnosis.pm/zodiac@^0.0.1-prealpha1": version "0.0.1-prealpha1" resolved "https://registry.yarnpkg.com/@gnosis.pm/zodiac/-/zodiac-0.0.1-prealpha1.tgz#02adcbd4d7c11aeffd01304bf7668e5e37fe18f4" integrity sha512-SGi6TBCPribYH8++ooXDIPKbA/f/XY7yC3zPRXu3jNnjTGXGEj9Zv8RJUppc6GQgLL1a13Z6aALcRyMNGFbagQ==