From 665d566dcbbbf213a6d0874c9dea9aec06d73426 Mon Sep 17 00:00:00 2001 From: Auryn Macmillan Date: Thu, 9 Sep 2021 13:12:23 -0400 Subject: [PATCH 1/3] Import BaseGuard from Zodiac rather than Safe. --- contracts/ScopeGuard.sol | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/contracts/ScopeGuard.sol b/contracts/ScopeGuard.sol index f5d2e14..84fd7d2 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/zodiac/contracts/guard/BaseGuard.sol"; import "@gnosis.pm/safe-contracts/contracts/GnosisSafe.sol"; import "@gnosis.pm/safe-contracts/contracts/interfaces/IERC165.sol"; import "@gnosis/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); } From 2f1293836889a725ba5af2a22231348faa020754 Mon Sep 17 00:00:00 2001 From: Auryn Macmillan Date: Thu, 9 Sep 2021 13:13:44 -0400 Subject: [PATCH 2/3] Import BaseGuard from Zodiac rather than Safe. --- contracts/ScopeGuard.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contracts/ScopeGuard.sol b/contracts/ScopeGuard.sol index 84fd7d2..4dbab13 100644 --- a/contracts/ScopeGuard.sol +++ b/contracts/ScopeGuard.sol @@ -2,9 +2,9 @@ pragma solidity ^0.8.6; import "@gnosis/zodiac/contracts/guard/BaseGuard.sol"; +import "@gnosis/zodiac/contracts/factory/FactoryFriendly.sol"; import "@gnosis.pm/safe-contracts/contracts/GnosisSafe.sol"; import "@gnosis.pm/safe-contracts/contracts/interfaces/IERC165.sol"; -import "@gnosis/zodiac/contracts/factory/FactoryFriendly.sol"; import "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol"; contract ScopeGuard is FactoryFriendly, OwnableUpgradeable, BaseGuard { From acdf608720c1d77f007e9a708ec59242aaf13e7a Mon Sep 17 00:00:00 2001 From: Auryn Macmillan Date: Thu, 9 Sep 2021 13:42:23 -0400 Subject: [PATCH 3/3] Import BaseGuard from Zodiac rather than Safe. --- contracts/ScopeGuard.sol | 4 ++-- contracts/test/TestFactory.sol | 2 +- package.json | 2 +- yarn.lock | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/contracts/ScopeGuard.sol b/contracts/ScopeGuard.sol index 4dbab13..0da62cb 100644 --- a/contracts/ScopeGuard.sol +++ b/contracts/ScopeGuard.sol @@ -1,8 +1,8 @@ // SPDX-License-Identifier: LGPL-3.0-only pragma solidity ^0.8.6; -import "@gnosis/zodiac/contracts/guard/BaseGuard.sol"; -import "@gnosis/zodiac/contracts/factory/FactoryFriendly.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 "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol"; 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==