diff --git a/deploy/core/012_deploy_KeyValuePairs.ts b/deploy/core/011_deploy_KeyValuePairs.ts similarity index 100% rename from deploy/core/012_deploy_KeyValuePairs.ts rename to deploy/core/011_deploy_KeyValuePairs.ts diff --git a/deploy/core/011_deploy_ModuleProxyFactory.ts b/deploy/core/011_deploy_ModuleProxyFactory.ts deleted file mode 100644 index 5211703..0000000 --- a/deploy/core/011_deploy_ModuleProxyFactory.ts +++ /dev/null @@ -1,11 +0,0 @@ -// import { HardhatRuntimeEnvironment } from "hardhat/types"; -import { DeployFunction } from 'hardhat-deploy/types'; -// import { deployNonUpgradeable } from "../helpers/deployNonUpgradeable"; - -const func: DeployFunction = async (/* hre: HardhatRuntimeEnvironment */) => { - // No longer deploying ModuleProxyFactory to any new networks.. - // This contract is deployed by the Zodiac team. - // await deployNonUpgradeable(hre, "ModuleProxyFactory", []); -}; - -export default func; diff --git a/deploy/core/013_deploy_VotesERC20Wrapper.ts b/deploy/core/012_deploy_VotesERC20Wrapper.ts similarity index 100% rename from deploy/core/013_deploy_VotesERC20Wrapper.ts rename to deploy/core/012_deploy_VotesERC20Wrapper.ts diff --git a/deploy/core/014_deploy_LinearERC20WrappedVoting.ts b/deploy/core/013_deploy_LinearERC20WrappedVoting.ts similarity index 100% rename from deploy/core/014_deploy_LinearERC20WrappedVoting.ts rename to deploy/core/013_deploy_LinearERC20WrappedVoting.ts diff --git a/deploy/core/015_deploy_LinearERC721Voting.ts b/deploy/core/014_deploy_LinearERC721Voting.ts similarity index 100% rename from deploy/core/015_deploy_LinearERC721Voting.ts rename to deploy/core/014_deploy_LinearERC721Voting.ts diff --git a/deploy/core/016_deploy_ERC721FreezeVoting.ts b/deploy/core/015_deploy_ERC721FreezeVoting.ts similarity index 100% rename from deploy/core/016_deploy_ERC721FreezeVoting.ts rename to deploy/core/015_deploy_ERC721FreezeVoting.ts diff --git a/deploy/core/017_deploy_DecentAutonomousAdmin.ts b/deploy/core/016_deploy_DecentAutonomousAdmin.ts similarity index 100% rename from deploy/core/017_deploy_DecentAutonomousAdmin.ts rename to deploy/core/016_deploy_DecentAutonomousAdmin.ts diff --git a/deploy/core/018_deploy_DecentHatsCreationModule.ts b/deploy/core/017_deploy_DecentHatsCreationModule.ts similarity index 100% rename from deploy/core/018_deploy_DecentHatsCreationModule.ts rename to deploy/core/017_deploy_DecentHatsCreationModule.ts diff --git a/deploy/core/019_deploy_DecentHatsModificationModule.ts b/deploy/core/018_deploy_DecentHatsModificationModule.ts similarity index 100% rename from deploy/core/019_deploy_DecentHatsModificationModule.ts rename to deploy/core/018_deploy_DecentHatsModificationModule.ts diff --git a/deploy/core/020_deploy_DecentSablierStreamManagement.ts b/deploy/core/019_deploy_DecentSablierStreamManagement.ts similarity index 100% rename from deploy/core/020_deploy_DecentSablierStreamManagement.ts rename to deploy/core/019_deploy_DecentSablierStreamManagement.ts diff --git a/deployments/base/ModuleProxyFactory.json b/deployments/base/ModuleProxyFactory.json deleted file mode 100644 index 691e22d..0000000 --- a/deployments/base/ModuleProxyFactory.json +++ /dev/null @@ -1,133 +0,0 @@ -{ - "address": "0x31Bf73048056fe947B827C0Fe159ACcB5Ae30237", - "abi": [ - { - "inputs": [], - "name": "FailedInitialization", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "address_", - "type": "address" - } - ], - "name": "TakenAddress", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - } - ], - "name": "ZeroAddress", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "proxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "masterCopy", - "type": "address" - } - ], - "name": "ModuleProxyCreation", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "masterCopy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "initializer", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "saltNonce", - "type": "uint256" - } - ], - "name": "deployModule", - "outputs": [ - { - "internalType": "address", - "name": "proxy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "transactionHash": "0x01acdf55f791e71f1dfdb595e06f27fc328865958c31456a1f59b0107c550372", - "receipt": { - "to": null, - "from": "0xb5Ca125166C1987A35EDD550E16846Fa1e1D9bB3", - "contractAddress": "0x31Bf73048056fe947B827C0Fe159ACcB5Ae30237", - "transactionIndex": 25, - "gasUsed": "254602", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xf27370d41a6656b00131576450aceeb68ecb6d52b06c2528388d676cc78c32c7", - "transactionHash": "0x01acdf55f791e71f1dfdb595e06f27fc328865958c31456a1f59b0107c550372", - "logs": [], - "blockNumber": 12996642, - "cumulativeGasUsed": "3294206", - "status": 1, - "byzantium": true - }, - "args": [], - "numDeployments": 1, - "solcInputHash": "6fa9da04db1336dc74d1e00ac5f31d54", - "metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"FailedInitialization\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"address_\",\"type\":\"address\"}],\"name\":\"TakenAddress\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"ZeroAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"masterCopy\",\"type\":\"address\"}],\"name\":\"ModuleProxyCreation\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"masterCopy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"initializer\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"saltNonce\",\"type\":\"uint256\"}],\"name\":\"deployModule\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"errors\":{\"FailedInitialization()\":[{\"notice\":\"Initialization failed.\"}],\"TakenAddress(address)\":[{\"notice\":\"`address_` is already taken.\"}],\"ZeroAddress(address)\":[{\"notice\":\"`target` can not be zero.\"}]},\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@gnosis.pm/zodiac/contracts/factory/ModuleProxyFactory.sol\":\"ModuleProxyFactory\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@gnosis.pm/zodiac/contracts/factory/ModuleProxyFactory.sol\":{\"content\":\"// SPDX-License-Identifier: LGPL-3.0-only\\npragma solidity >=0.8.0;\\n\\ncontract ModuleProxyFactory {\\n event ModuleProxyCreation(\\n address indexed proxy,\\n address indexed masterCopy\\n );\\n\\n /// `target` can not be zero.\\n error ZeroAddress(address target);\\n\\n /// `address_` is already taken.\\n error TakenAddress(address address_);\\n\\n /// @notice Initialization failed.\\n error FailedInitialization();\\n\\n function createProxy(address target, bytes32 salt)\\n internal\\n returns (address result)\\n {\\n if (address(target) == address(0)) revert ZeroAddress(target);\\n bytes memory deployment = abi.encodePacked(\\n hex\\\"602d8060093d393df3363d3d373d3d3d363d73\\\",\\n target,\\n hex\\\"5af43d82803e903d91602b57fd5bf3\\\"\\n );\\n // solhint-disable-next-line no-inline-assembly\\n assembly {\\n result := create2(0, add(deployment, 0x20), mload(deployment), salt)\\n }\\n if (result == address(0)) revert TakenAddress(result);\\n }\\n\\n function deployModule(\\n address masterCopy,\\n bytes memory initializer,\\n uint256 saltNonce\\n ) public returns (address proxy) {\\n proxy = createProxy(\\n masterCopy,\\n keccak256(abi.encodePacked(keccak256(initializer), saltNonce))\\n );\\n (bool success, ) = proxy.call(initializer);\\n if (!success) revert FailedInitialization();\\n\\n emit ModuleProxyCreation(proxy, masterCopy);\\n }\\n}\\n\",\"keccak256\":\"0x70f6f1d88cf3382748e58f85ba87279f5bb8761863c293dd8c197a71ff558761\",\"license\":\"LGPL-3.0-only\"}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b506103a4806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f1ab873c14610030575b600080fd5b61004361003e366004610266565b61005f565b6040516001600160a01b03909116815260200160405180910390f35b60006100a384848051906020012084604051602001610088929190918252602082015260400190565b6040516020818303038152906040528051906020012061016b565b90506000816001600160a01b0316846040516100bf919061033f565b6000604051808303816000865af19150503d80600081146100fc576040519150601f19603f3d011682016040523d82523d6000602084013e610101565b606091505b505090508061012357604051637dabd39960e01b815260040160405180910390fd5b846001600160a01b0316826001600160a01b03167f2150ada912bf189ed721c44211199e270903fc88008c2a1e1e889ef30fe67c5f60405160405180910390a3509392505050565b60006001600160a01b0383166101a457604051633202e20d60e21b81526001600160a01b03841660048201526024015b60405180910390fd5b60405172602d8060093d393df3363d3d373d3d3d363d7360681b60208201526bffffffffffffffffffffffff19606085901b1660338201526e5af43d82803e903d91602b57fd5bf360881b60478201526000906056016040516020818303038152906040529050828151602083016000f591506001600160a01b0382166102495760405163371e9e8960e21b81526001600160a01b038316600482015260240161019b565b5092915050565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561027b57600080fd5b83356001600160a01b038116811461029257600080fd5b9250602084013567ffffffffffffffff808211156102af57600080fd5b818601915086601f8301126102c357600080fd5b8135818111156102d5576102d5610250565b604051601f8201601f19908116603f011681019083821181831017156102fd576102fd610250565b8160405282815289602084870101111561031657600080fd5b826020860160208301376000602084830101528096505050505050604084013590509250925092565b6000825160005b818110156103605760208186018101518583015201610346565b50600092019182525091905056fea26469706673582212202318e271bb304c72c2e19dc693ef1bb2add88f8405bbba0b0bf5596d304fb29564736f6c63430008130033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f1ab873c14610030575b600080fd5b61004361003e366004610266565b61005f565b6040516001600160a01b03909116815260200160405180910390f35b60006100a384848051906020012084604051602001610088929190918252602082015260400190565b6040516020818303038152906040528051906020012061016b565b90506000816001600160a01b0316846040516100bf919061033f565b6000604051808303816000865af19150503d80600081146100fc576040519150601f19603f3d011682016040523d82523d6000602084013e610101565b606091505b505090508061012357604051637dabd39960e01b815260040160405180910390fd5b846001600160a01b0316826001600160a01b03167f2150ada912bf189ed721c44211199e270903fc88008c2a1e1e889ef30fe67c5f60405160405180910390a3509392505050565b60006001600160a01b0383166101a457604051633202e20d60e21b81526001600160a01b03841660048201526024015b60405180910390fd5b60405172602d8060093d393df3363d3d373d3d3d363d7360681b60208201526bffffffffffffffffffffffff19606085901b1660338201526e5af43d82803e903d91602b57fd5bf360881b60478201526000906056016040516020818303038152906040529050828151602083016000f591506001600160a01b0382166102495760405163371e9e8960e21b81526001600160a01b038316600482015260240161019b565b5092915050565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561027b57600080fd5b83356001600160a01b038116811461029257600080fd5b9250602084013567ffffffffffffffff808211156102af57600080fd5b818601915086601f8301126102c357600080fd5b8135818111156102d5576102d5610250565b604051601f8201601f19908116603f011681019083821181831017156102fd576102fd610250565b8160405282815289602084870101111561031657600080fd5b826020860160208301376000602084830101528096505050505050604084013590509250925092565b6000825160005b818110156103605760208186018101518583015201610346565b50600092019182525091905056fea26469706673582212202318e271bb304c72c2e19dc693ef1bb2add88f8405bbba0b0bf5596d304fb29564736f6c63430008130033", - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "errors": { - "FailedInitialization()": [ - { - "notice": "Initialization failed." - } - ], - "TakenAddress(address)": [ - { - "notice": "`address_` is already taken." - } - ], - "ZeroAddress(address)": [ - { - "notice": "`target` can not be zero." - } - ] - }, - "kind": "user", - "methods": {}, - "version": 1 - }, - "storageLayout": { - "storage": [], - "types": null - } -} \ No newline at end of file diff --git a/deployments/mainnet/ModuleProxyFactory.json b/deployments/mainnet/ModuleProxyFactory.json deleted file mode 100644 index 44720ff..0000000 --- a/deployments/mainnet/ModuleProxyFactory.json +++ /dev/null @@ -1,133 +0,0 @@ -{ - "address": "0x31Bf73048056fe947B827C0Fe159ACcB5Ae30237", - "abi": [ - { - "inputs": [], - "name": "FailedInitialization", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "address_", - "type": "address" - } - ], - "name": "TakenAddress", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - } - ], - "name": "ZeroAddress", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "proxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "masterCopy", - "type": "address" - } - ], - "name": "ModuleProxyCreation", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "masterCopy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "initializer", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "saltNonce", - "type": "uint256" - } - ], - "name": "deployModule", - "outputs": [ - { - "internalType": "address", - "name": "proxy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "transactionHash": "0xdd947f5aae78b81f5580ea78963d1e0c9fc8f36a4f08007f27bda254d1d64969", - "receipt": { - "to": null, - "from": "0xb5Ca125166C1987A35EDD550E16846Fa1e1D9bB3", - "contractAddress": "0x31Bf73048056fe947B827C0Fe159ACcB5Ae30237", - "transactionIndex": 89, - "gasUsed": "254602", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xdad03988e32b68040b0caf4926c37f2ab5d99279cf3bdfabb497a7f52c8c80a0", - "transactionHash": "0xdd947f5aae78b81f5580ea78963d1e0c9fc8f36a4f08007f27bda254d1d64969", - "logs": [], - "blockNumber": 17389310, - "cumulativeGasUsed": "10384230", - "status": 1, - "byzantium": true - }, - "args": [], - "numDeployments": 1, - "solcInputHash": "6fa9da04db1336dc74d1e00ac5f31d54", - "metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"FailedInitialization\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"address_\",\"type\":\"address\"}],\"name\":\"TakenAddress\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"ZeroAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"masterCopy\",\"type\":\"address\"}],\"name\":\"ModuleProxyCreation\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"masterCopy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"initializer\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"saltNonce\",\"type\":\"uint256\"}],\"name\":\"deployModule\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"errors\":{\"FailedInitialization()\":[{\"notice\":\"Initialization failed.\"}],\"TakenAddress(address)\":[{\"notice\":\"`address_` is already taken.\"}],\"ZeroAddress(address)\":[{\"notice\":\"`target` can not be zero.\"}]},\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@gnosis.pm/zodiac/contracts/factory/ModuleProxyFactory.sol\":\"ModuleProxyFactory\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@gnosis.pm/zodiac/contracts/factory/ModuleProxyFactory.sol\":{\"content\":\"// SPDX-License-Identifier: LGPL-3.0-only\\npragma solidity >=0.8.0;\\n\\ncontract ModuleProxyFactory {\\n event ModuleProxyCreation(\\n address indexed proxy,\\n address indexed masterCopy\\n );\\n\\n /// `target` can not be zero.\\n error ZeroAddress(address target);\\n\\n /// `address_` is already taken.\\n error TakenAddress(address address_);\\n\\n /// @notice Initialization failed.\\n error FailedInitialization();\\n\\n function createProxy(address target, bytes32 salt)\\n internal\\n returns (address result)\\n {\\n if (address(target) == address(0)) revert ZeroAddress(target);\\n bytes memory deployment = abi.encodePacked(\\n hex\\\"602d8060093d393df3363d3d373d3d3d363d73\\\",\\n target,\\n hex\\\"5af43d82803e903d91602b57fd5bf3\\\"\\n );\\n // solhint-disable-next-line no-inline-assembly\\n assembly {\\n result := create2(0, add(deployment, 0x20), mload(deployment), salt)\\n }\\n if (result == address(0)) revert TakenAddress(result);\\n }\\n\\n function deployModule(\\n address masterCopy,\\n bytes memory initializer,\\n uint256 saltNonce\\n ) public returns (address proxy) {\\n proxy = createProxy(\\n masterCopy,\\n keccak256(abi.encodePacked(keccak256(initializer), saltNonce))\\n );\\n (bool success, ) = proxy.call(initializer);\\n if (!success) revert FailedInitialization();\\n\\n emit ModuleProxyCreation(proxy, masterCopy);\\n }\\n}\\n\",\"keccak256\":\"0x70f6f1d88cf3382748e58f85ba87279f5bb8761863c293dd8c197a71ff558761\",\"license\":\"LGPL-3.0-only\"}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b506103a4806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f1ab873c14610030575b600080fd5b61004361003e366004610266565b61005f565b6040516001600160a01b03909116815260200160405180910390f35b60006100a384848051906020012084604051602001610088929190918252602082015260400190565b6040516020818303038152906040528051906020012061016b565b90506000816001600160a01b0316846040516100bf919061033f565b6000604051808303816000865af19150503d80600081146100fc576040519150601f19603f3d011682016040523d82523d6000602084013e610101565b606091505b505090508061012357604051637dabd39960e01b815260040160405180910390fd5b846001600160a01b0316826001600160a01b03167f2150ada912bf189ed721c44211199e270903fc88008c2a1e1e889ef30fe67c5f60405160405180910390a3509392505050565b60006001600160a01b0383166101a457604051633202e20d60e21b81526001600160a01b03841660048201526024015b60405180910390fd5b60405172602d8060093d393df3363d3d373d3d3d363d7360681b60208201526bffffffffffffffffffffffff19606085901b1660338201526e5af43d82803e903d91602b57fd5bf360881b60478201526000906056016040516020818303038152906040529050828151602083016000f591506001600160a01b0382166102495760405163371e9e8960e21b81526001600160a01b038316600482015260240161019b565b5092915050565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561027b57600080fd5b83356001600160a01b038116811461029257600080fd5b9250602084013567ffffffffffffffff808211156102af57600080fd5b818601915086601f8301126102c357600080fd5b8135818111156102d5576102d5610250565b604051601f8201601f19908116603f011681019083821181831017156102fd576102fd610250565b8160405282815289602084870101111561031657600080fd5b826020860160208301376000602084830101528096505050505050604084013590509250925092565b6000825160005b818110156103605760208186018101518583015201610346565b50600092019182525091905056fea26469706673582212202318e271bb304c72c2e19dc693ef1bb2add88f8405bbba0b0bf5596d304fb29564736f6c63430008130033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f1ab873c14610030575b600080fd5b61004361003e366004610266565b61005f565b6040516001600160a01b03909116815260200160405180910390f35b60006100a384848051906020012084604051602001610088929190918252602082015260400190565b6040516020818303038152906040528051906020012061016b565b90506000816001600160a01b0316846040516100bf919061033f565b6000604051808303816000865af19150503d80600081146100fc576040519150601f19603f3d011682016040523d82523d6000602084013e610101565b606091505b505090508061012357604051637dabd39960e01b815260040160405180910390fd5b846001600160a01b0316826001600160a01b03167f2150ada912bf189ed721c44211199e270903fc88008c2a1e1e889ef30fe67c5f60405160405180910390a3509392505050565b60006001600160a01b0383166101a457604051633202e20d60e21b81526001600160a01b03841660048201526024015b60405180910390fd5b60405172602d8060093d393df3363d3d373d3d3d363d7360681b60208201526bffffffffffffffffffffffff19606085901b1660338201526e5af43d82803e903d91602b57fd5bf360881b60478201526000906056016040516020818303038152906040529050828151602083016000f591506001600160a01b0382166102495760405163371e9e8960e21b81526001600160a01b038316600482015260240161019b565b5092915050565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561027b57600080fd5b83356001600160a01b038116811461029257600080fd5b9250602084013567ffffffffffffffff808211156102af57600080fd5b818601915086601f8301126102c357600080fd5b8135818111156102d5576102d5610250565b604051601f8201601f19908116603f011681019083821181831017156102fd576102fd610250565b8160405282815289602084870101111561031657600080fd5b826020860160208301376000602084830101528096505050505050604084013590509250925092565b6000825160005b818110156103605760208186018101518583015201610346565b50600092019182525091905056fea26469706673582212202318e271bb304c72c2e19dc693ef1bb2add88f8405bbba0b0bf5596d304fb29564736f6c63430008130033", - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "errors": { - "FailedInitialization()": [ - { - "notice": "Initialization failed." - } - ], - "TakenAddress(address)": [ - { - "notice": "`address_` is already taken." - } - ], - "ZeroAddress(address)": [ - { - "notice": "`target` can not be zero." - } - ] - }, - "kind": "user", - "methods": {}, - "version": 1 - }, - "storageLayout": { - "storage": [], - "types": null - } -} \ No newline at end of file diff --git a/deployments/optimism/ModuleProxyFactory.json b/deployments/optimism/ModuleProxyFactory.json deleted file mode 100644 index 22526c5..0000000 --- a/deployments/optimism/ModuleProxyFactory.json +++ /dev/null @@ -1,133 +0,0 @@ -{ - "address": "0x31Bf73048056fe947B827C0Fe159ACcB5Ae30237", - "abi": [ - { - "inputs": [], - "name": "FailedInitialization", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "address_", - "type": "address" - } - ], - "name": "TakenAddress", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - } - ], - "name": "ZeroAddress", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "proxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "masterCopy", - "type": "address" - } - ], - "name": "ModuleProxyCreation", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "masterCopy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "initializer", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "saltNonce", - "type": "uint256" - } - ], - "name": "deployModule", - "outputs": [ - { - "internalType": "address", - "name": "proxy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "transactionHash": "0xac1b454875dd9e8005d6e51e1f54e7664756c143d54c43ec011fc8262104bc30", - "receipt": { - "to": null, - "from": "0xb5Ca125166C1987A35EDD550E16846Fa1e1D9bB3", - "contractAddress": "0x31Bf73048056fe947B827C0Fe159ACcB5Ae30237", - "transactionIndex": 2, - "gasUsed": "254602", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xb8ac4c591144dd4c2fb1d9c15f2d12d2f58c1630baf7121ecd9613f36ac70e86", - "transactionHash": "0xac1b454875dd9e8005d6e51e1f54e7664756c143d54c43ec011fc8262104bc30", - "logs": [], - "blockNumber": 118640417, - "cumulativeGasUsed": "416651", - "status": 1, - "byzantium": true - }, - "args": [], - "numDeployments": 1, - "solcInputHash": "6fa9da04db1336dc74d1e00ac5f31d54", - "metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"FailedInitialization\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"address_\",\"type\":\"address\"}],\"name\":\"TakenAddress\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"ZeroAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"masterCopy\",\"type\":\"address\"}],\"name\":\"ModuleProxyCreation\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"masterCopy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"initializer\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"saltNonce\",\"type\":\"uint256\"}],\"name\":\"deployModule\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"errors\":{\"FailedInitialization()\":[{\"notice\":\"Initialization failed.\"}],\"TakenAddress(address)\":[{\"notice\":\"`address_` is already taken.\"}],\"ZeroAddress(address)\":[{\"notice\":\"`target` can not be zero.\"}]},\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@gnosis.pm/zodiac/contracts/factory/ModuleProxyFactory.sol\":\"ModuleProxyFactory\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@gnosis.pm/zodiac/contracts/factory/ModuleProxyFactory.sol\":{\"content\":\"// SPDX-License-Identifier: LGPL-3.0-only\\npragma solidity >=0.8.0;\\n\\ncontract ModuleProxyFactory {\\n event ModuleProxyCreation(\\n address indexed proxy,\\n address indexed masterCopy\\n );\\n\\n /// `target` can not be zero.\\n error ZeroAddress(address target);\\n\\n /// `address_` is already taken.\\n error TakenAddress(address address_);\\n\\n /// @notice Initialization failed.\\n error FailedInitialization();\\n\\n function createProxy(address target, bytes32 salt)\\n internal\\n returns (address result)\\n {\\n if (address(target) == address(0)) revert ZeroAddress(target);\\n bytes memory deployment = abi.encodePacked(\\n hex\\\"602d8060093d393df3363d3d373d3d3d363d73\\\",\\n target,\\n hex\\\"5af43d82803e903d91602b57fd5bf3\\\"\\n );\\n // solhint-disable-next-line no-inline-assembly\\n assembly {\\n result := create2(0, add(deployment, 0x20), mload(deployment), salt)\\n }\\n if (result == address(0)) revert TakenAddress(result);\\n }\\n\\n function deployModule(\\n address masterCopy,\\n bytes memory initializer,\\n uint256 saltNonce\\n ) public returns (address proxy) {\\n proxy = createProxy(\\n masterCopy,\\n keccak256(abi.encodePacked(keccak256(initializer), saltNonce))\\n );\\n (bool success, ) = proxy.call(initializer);\\n if (!success) revert FailedInitialization();\\n\\n emit ModuleProxyCreation(proxy, masterCopy);\\n }\\n}\\n\",\"keccak256\":\"0x70f6f1d88cf3382748e58f85ba87279f5bb8761863c293dd8c197a71ff558761\",\"license\":\"LGPL-3.0-only\"}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b506103a4806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f1ab873c14610030575b600080fd5b61004361003e366004610266565b61005f565b6040516001600160a01b03909116815260200160405180910390f35b60006100a384848051906020012084604051602001610088929190918252602082015260400190565b6040516020818303038152906040528051906020012061016b565b90506000816001600160a01b0316846040516100bf919061033f565b6000604051808303816000865af19150503d80600081146100fc576040519150601f19603f3d011682016040523d82523d6000602084013e610101565b606091505b505090508061012357604051637dabd39960e01b815260040160405180910390fd5b846001600160a01b0316826001600160a01b03167f2150ada912bf189ed721c44211199e270903fc88008c2a1e1e889ef30fe67c5f60405160405180910390a3509392505050565b60006001600160a01b0383166101a457604051633202e20d60e21b81526001600160a01b03841660048201526024015b60405180910390fd5b60405172602d8060093d393df3363d3d373d3d3d363d7360681b60208201526bffffffffffffffffffffffff19606085901b1660338201526e5af43d82803e903d91602b57fd5bf360881b60478201526000906056016040516020818303038152906040529050828151602083016000f591506001600160a01b0382166102495760405163371e9e8960e21b81526001600160a01b038316600482015260240161019b565b5092915050565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561027b57600080fd5b83356001600160a01b038116811461029257600080fd5b9250602084013567ffffffffffffffff808211156102af57600080fd5b818601915086601f8301126102c357600080fd5b8135818111156102d5576102d5610250565b604051601f8201601f19908116603f011681019083821181831017156102fd576102fd610250565b8160405282815289602084870101111561031657600080fd5b826020860160208301376000602084830101528096505050505050604084013590509250925092565b6000825160005b818110156103605760208186018101518583015201610346565b50600092019182525091905056fea26469706673582212202318e271bb304c72c2e19dc693ef1bb2add88f8405bbba0b0bf5596d304fb29564736f6c63430008130033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f1ab873c14610030575b600080fd5b61004361003e366004610266565b61005f565b6040516001600160a01b03909116815260200160405180910390f35b60006100a384848051906020012084604051602001610088929190918252602082015260400190565b6040516020818303038152906040528051906020012061016b565b90506000816001600160a01b0316846040516100bf919061033f565b6000604051808303816000865af19150503d80600081146100fc576040519150601f19603f3d011682016040523d82523d6000602084013e610101565b606091505b505090508061012357604051637dabd39960e01b815260040160405180910390fd5b846001600160a01b0316826001600160a01b03167f2150ada912bf189ed721c44211199e270903fc88008c2a1e1e889ef30fe67c5f60405160405180910390a3509392505050565b60006001600160a01b0383166101a457604051633202e20d60e21b81526001600160a01b03841660048201526024015b60405180910390fd5b60405172602d8060093d393df3363d3d373d3d3d363d7360681b60208201526bffffffffffffffffffffffff19606085901b1660338201526e5af43d82803e903d91602b57fd5bf360881b60478201526000906056016040516020818303038152906040529050828151602083016000f591506001600160a01b0382166102495760405163371e9e8960e21b81526001600160a01b038316600482015260240161019b565b5092915050565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561027b57600080fd5b83356001600160a01b038116811461029257600080fd5b9250602084013567ffffffffffffffff808211156102af57600080fd5b818601915086601f8301126102c357600080fd5b8135818111156102d5576102d5610250565b604051601f8201601f19908116603f011681019083821181831017156102fd576102fd610250565b8160405282815289602084870101111561031657600080fd5b826020860160208301376000602084830101528096505050505050604084013590509250925092565b6000825160005b818110156103605760208186018101518583015201610346565b50600092019182525091905056fea26469706673582212202318e271bb304c72c2e19dc693ef1bb2add88f8405bbba0b0bf5596d304fb29564736f6c63430008130033", - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "errors": { - "FailedInitialization()": [ - { - "notice": "Initialization failed." - } - ], - "TakenAddress(address)": [ - { - "notice": "`address_` is already taken." - } - ], - "ZeroAddress(address)": [ - { - "notice": "`target` can not be zero." - } - ] - }, - "kind": "user", - "methods": {}, - "version": 1 - }, - "storageLayout": { - "storage": [], - "types": null - } -} \ No newline at end of file diff --git a/deployments/polygon/ModuleProxyFactory.json b/deployments/polygon/ModuleProxyFactory.json deleted file mode 100644 index 33b1e65..0000000 --- a/deployments/polygon/ModuleProxyFactory.json +++ /dev/null @@ -1,149 +0,0 @@ -{ - "address": "0x537D9E0d8F66C1eEe391C77f5D8a39d00444428c", - "abi": [ - { - "inputs": [], - "name": "FailedInitialization", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "address_", - "type": "address" - } - ], - "name": "TakenAddress", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - } - ], - "name": "ZeroAddress", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "proxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "masterCopy", - "type": "address" - } - ], - "name": "ModuleProxyCreation", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "masterCopy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "initializer", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "saltNonce", - "type": "uint256" - } - ], - "name": "deployModule", - "outputs": [ - { - "internalType": "address", - "name": "proxy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "transactionHash": "0x5a291733c82a75b6af045ef1d5886c353a06f00fc71e93a192693ca567fbdabc", - "receipt": { - "to": null, - "from": "0xc43bEf2d300e825391B6A16CB5382F0ad17B90b3", - "contractAddress": "0x537D9E0d8F66C1eEe391C77f5D8a39d00444428c", - "transactionIndex": 22, - "gasUsed": "254540", - "logsBloom": "0x00000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000200000000000000000000000000800000000000000000000100000000000000000000000000000000000000000000000000000000000080000000000000000040000000040000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000004000000000000000000001000000000000000000000000000000120000000000000000000000000080000000000000000000000000000000000000000000100000", - "blockHash": "0xfe32f2049c9ea1d5d274322ee041bf2585fe06da61ce6d67f463c76a4e2f80ec", - "transactionHash": "0x5a291733c82a75b6af045ef1d5886c353a06f00fc71e93a192693ca567fbdabc", - "logs": [ - { - "transactionIndex": 22, - "blockNumber": 43952877, - "transactionHash": "0x5a291733c82a75b6af045ef1d5886c353a06f00fc71e93a192693ca567fbdabc", - "address": "0x0000000000000000000000000000000000001010", - "topics": [ - "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", - "0x0000000000000000000000000000000000000000000000000000000000001010", - "0x000000000000000000000000c43bef2d300e825391b6a16cb5382f0ad17b90b3", - "0x0000000000000000000000009ead03f7136fc6b4bdb0780b00a1c14ae5a8b6d0" - ], - "data": "0x000000000000000000000000000000000000000000000000003117b342bcc41800000000000000000000000000000000000000000000000108aebd164782e63c00000000000000000000000000000000000000000000030964c70d8b09a9e8a5000000000000000000000000000000000000000000000001087da56304c6222400000000000000000000000000000000000000000000030964f8253e4c66acbd", - "logIndex": 100, - "blockHash": "0xfe32f2049c9ea1d5d274322ee041bf2585fe06da61ce6d67f463c76a4e2f80ec" - } - ], - "blockNumber": 43952877, - "cumulativeGasUsed": "3972028", - "status": 1, - "byzantium": true - }, - "args": [], - "numDeployments": 1, - "solcInputHash": "6fa9da04db1336dc74d1e00ac5f31d54", - "metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"FailedInitialization\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"address_\",\"type\":\"address\"}],\"name\":\"TakenAddress\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"ZeroAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"masterCopy\",\"type\":\"address\"}],\"name\":\"ModuleProxyCreation\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"masterCopy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"initializer\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"saltNonce\",\"type\":\"uint256\"}],\"name\":\"deployModule\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"errors\":{\"FailedInitialization()\":[{\"notice\":\"Initialization failed.\"}],\"TakenAddress(address)\":[{\"notice\":\"`address_` is already taken.\"}],\"ZeroAddress(address)\":[{\"notice\":\"`target` can not be zero.\"}]},\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@gnosis.pm/zodiac/contracts/factory/ModuleProxyFactory.sol\":\"ModuleProxyFactory\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@gnosis.pm/zodiac/contracts/factory/ModuleProxyFactory.sol\":{\"content\":\"// SPDX-License-Identifier: LGPL-3.0-only\\npragma solidity >=0.8.0;\\n\\ncontract ModuleProxyFactory {\\n event ModuleProxyCreation(\\n address indexed proxy,\\n address indexed masterCopy\\n );\\n\\n /// `target` can not be zero.\\n error ZeroAddress(address target);\\n\\n /// `address_` is already taken.\\n error TakenAddress(address address_);\\n\\n /// @notice Initialization failed.\\n error FailedInitialization();\\n\\n function createProxy(address target, bytes32 salt)\\n internal\\n returns (address result)\\n {\\n if (address(target) == address(0)) revert ZeroAddress(target);\\n bytes memory deployment = abi.encodePacked(\\n hex\\\"602d8060093d393df3363d3d373d3d3d363d73\\\",\\n target,\\n hex\\\"5af43d82803e903d91602b57fd5bf3\\\"\\n );\\n // solhint-disable-next-line no-inline-assembly\\n assembly {\\n result := create2(0, add(deployment, 0x20), mload(deployment), salt)\\n }\\n if (result == address(0)) revert TakenAddress(result);\\n }\\n\\n function deployModule(\\n address masterCopy,\\n bytes memory initializer,\\n uint256 saltNonce\\n ) public returns (address proxy) {\\n proxy = createProxy(\\n masterCopy,\\n keccak256(abi.encodePacked(keccak256(initializer), saltNonce))\\n );\\n (bool success, ) = proxy.call(initializer);\\n if (!success) revert FailedInitialization();\\n\\n emit ModuleProxyCreation(proxy, masterCopy);\\n }\\n}\\n\",\"keccak256\":\"0x70f6f1d88cf3382748e58f85ba87279f5bb8761863c293dd8c197a71ff558761\",\"license\":\"LGPL-3.0-only\"}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b506103a4806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f1ab873c14610030575b600080fd5b61004361003e366004610266565b61005f565b6040516001600160a01b03909116815260200160405180910390f35b60006100a384848051906020012084604051602001610088929190918252602082015260400190565b6040516020818303038152906040528051906020012061016b565b90506000816001600160a01b0316846040516100bf919061033f565b6000604051808303816000865af19150503d80600081146100fc576040519150601f19603f3d011682016040523d82523d6000602084013e610101565b606091505b505090508061012357604051637dabd39960e01b815260040160405180910390fd5b846001600160a01b0316826001600160a01b03167f2150ada912bf189ed721c44211199e270903fc88008c2a1e1e889ef30fe67c5f60405160405180910390a3509392505050565b60006001600160a01b0383166101a457604051633202e20d60e21b81526001600160a01b03841660048201526024015b60405180910390fd5b60405172602d8060093d393df3363d3d373d3d3d363d7360681b60208201526bffffffffffffffffffffffff19606085901b1660338201526e5af43d82803e903d91602b57fd5bf360881b60478201526000906056016040516020818303038152906040529050828151602083016000f591506001600160a01b0382166102495760405163371e9e8960e21b81526001600160a01b038316600482015260240161019b565b5092915050565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561027b57600080fd5b83356001600160a01b038116811461029257600080fd5b9250602084013567ffffffffffffffff808211156102af57600080fd5b818601915086601f8301126102c357600080fd5b8135818111156102d5576102d5610250565b604051601f8201601f19908116603f011681019083821181831017156102fd576102fd610250565b8160405282815289602084870101111561031657600080fd5b826020860160208301376000602084830101528096505050505050604084013590509250925092565b6000825160005b818110156103605760208186018101518583015201610346565b50600092019182525091905056fea26469706673582212202318e271bb304c72c2e19dc693ef1bb2add88f8405bbba0b0bf5596d304fb29564736f6c63430008130033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f1ab873c14610030575b600080fd5b61004361003e366004610266565b61005f565b6040516001600160a01b03909116815260200160405180910390f35b60006100a384848051906020012084604051602001610088929190918252602082015260400190565b6040516020818303038152906040528051906020012061016b565b90506000816001600160a01b0316846040516100bf919061033f565b6000604051808303816000865af19150503d80600081146100fc576040519150601f19603f3d011682016040523d82523d6000602084013e610101565b606091505b505090508061012357604051637dabd39960e01b815260040160405180910390fd5b846001600160a01b0316826001600160a01b03167f2150ada912bf189ed721c44211199e270903fc88008c2a1e1e889ef30fe67c5f60405160405180910390a3509392505050565b60006001600160a01b0383166101a457604051633202e20d60e21b81526001600160a01b03841660048201526024015b60405180910390fd5b60405172602d8060093d393df3363d3d373d3d3d363d7360681b60208201526bffffffffffffffffffffffff19606085901b1660338201526e5af43d82803e903d91602b57fd5bf360881b60478201526000906056016040516020818303038152906040529050828151602083016000f591506001600160a01b0382166102495760405163371e9e8960e21b81526001600160a01b038316600482015260240161019b565b5092915050565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561027b57600080fd5b83356001600160a01b038116811461029257600080fd5b9250602084013567ffffffffffffffff808211156102af57600080fd5b818601915086601f8301126102c357600080fd5b8135818111156102d5576102d5610250565b604051601f8201601f19908116603f011681019083821181831017156102fd576102fd610250565b8160405282815289602084870101111561031657600080fd5b826020860160208301376000602084830101528096505050505050604084013590509250925092565b6000825160005b818110156103605760208186018101518583015201610346565b50600092019182525091905056fea26469706673582212202318e271bb304c72c2e19dc693ef1bb2add88f8405bbba0b0bf5596d304fb29564736f6c63430008130033", - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "errors": { - "FailedInitialization()": [ - { - "notice": "Initialization failed." - } - ], - "TakenAddress(address)": [ - { - "notice": "`address_` is already taken." - } - ], - "ZeroAddress(address)": [ - { - "notice": "`target` can not be zero." - } - ] - }, - "kind": "user", - "methods": {}, - "version": 1 - }, - "storageLayout": { - "storage": [], - "types": null - } -} \ No newline at end of file diff --git a/deployments/sepolia/ModuleProxyFactory.json b/deployments/sepolia/ModuleProxyFactory.json deleted file mode 100644 index 42813fa..0000000 --- a/deployments/sepolia/ModuleProxyFactory.json +++ /dev/null @@ -1,133 +0,0 @@ -{ - "address": "0xE93e4B198097C4CB3A6de594c90031CDaC0B88f3", - "abi": [ - { - "inputs": [], - "name": "FailedInitialization", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "address_", - "type": "address" - } - ], - "name": "TakenAddress", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - } - ], - "name": "ZeroAddress", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "proxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "masterCopy", - "type": "address" - } - ], - "name": "ModuleProxyCreation", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "masterCopy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "initializer", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "saltNonce", - "type": "uint256" - } - ], - "name": "deployModule", - "outputs": [ - { - "internalType": "address", - "name": "proxy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "transactionHash": "0x0d472d1bf095cb14695d61998d9f38d3cd963f0ec2450675af27a19ed8c8c1ff", - "receipt": { - "to": null, - "from": "0x637366C372a9096b262bd2fe6c40D7BCc6239976", - "contractAddress": "0xE93e4B198097C4CB3A6de594c90031CDaC0B88f3", - "transactionIndex": 36, - "gasUsed": "254602", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x20b64b820a94dab2f5d517ced1227e0a672fc024b2ef844ed6014d4fd3750cd9", - "transactionHash": "0x0d472d1bf095cb14695d61998d9f38d3cd963f0ec2450675af27a19ed8c8c1ff", - "logs": [], - "blockNumber": 4916642, - "cumulativeGasUsed": "6635241", - "status": 1, - "byzantium": true - }, - "args": [], - "numDeployments": 1, - "solcInputHash": "6fa9da04db1336dc74d1e00ac5f31d54", - "metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"FailedInitialization\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"address_\",\"type\":\"address\"}],\"name\":\"TakenAddress\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"ZeroAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"masterCopy\",\"type\":\"address\"}],\"name\":\"ModuleProxyCreation\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"masterCopy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"initializer\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"saltNonce\",\"type\":\"uint256\"}],\"name\":\"deployModule\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"errors\":{\"FailedInitialization()\":[{\"notice\":\"Initialization failed.\"}],\"TakenAddress(address)\":[{\"notice\":\"`address_` is already taken.\"}],\"ZeroAddress(address)\":[{\"notice\":\"`target` can not be zero.\"}]},\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@gnosis.pm/zodiac/contracts/factory/ModuleProxyFactory.sol\":\"ModuleProxyFactory\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@gnosis.pm/zodiac/contracts/factory/ModuleProxyFactory.sol\":{\"content\":\"// SPDX-License-Identifier: LGPL-3.0-only\\npragma solidity >=0.8.0;\\n\\ncontract ModuleProxyFactory {\\n event ModuleProxyCreation(\\n address indexed proxy,\\n address indexed masterCopy\\n );\\n\\n /// `target` can not be zero.\\n error ZeroAddress(address target);\\n\\n /// `address_` is already taken.\\n error TakenAddress(address address_);\\n\\n /// @notice Initialization failed.\\n error FailedInitialization();\\n\\n function createProxy(address target, bytes32 salt)\\n internal\\n returns (address result)\\n {\\n if (address(target) == address(0)) revert ZeroAddress(target);\\n bytes memory deployment = abi.encodePacked(\\n hex\\\"602d8060093d393df3363d3d373d3d3d363d73\\\",\\n target,\\n hex\\\"5af43d82803e903d91602b57fd5bf3\\\"\\n );\\n // solhint-disable-next-line no-inline-assembly\\n assembly {\\n result := create2(0, add(deployment, 0x20), mload(deployment), salt)\\n }\\n if (result == address(0)) revert TakenAddress(result);\\n }\\n\\n function deployModule(\\n address masterCopy,\\n bytes memory initializer,\\n uint256 saltNonce\\n ) public returns (address proxy) {\\n proxy = createProxy(\\n masterCopy,\\n keccak256(abi.encodePacked(keccak256(initializer), saltNonce))\\n );\\n (bool success, ) = proxy.call(initializer);\\n if (!success) revert FailedInitialization();\\n\\n emit ModuleProxyCreation(proxy, masterCopy);\\n }\\n}\\n\",\"keccak256\":\"0x70f6f1d88cf3382748e58f85ba87279f5bb8761863c293dd8c197a71ff558761\",\"license\":\"LGPL-3.0-only\"}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b506103a4806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f1ab873c14610030575b600080fd5b61004361003e366004610266565b61005f565b6040516001600160a01b03909116815260200160405180910390f35b60006100a384848051906020012084604051602001610088929190918252602082015260400190565b6040516020818303038152906040528051906020012061016b565b90506000816001600160a01b0316846040516100bf919061033f565b6000604051808303816000865af19150503d80600081146100fc576040519150601f19603f3d011682016040523d82523d6000602084013e610101565b606091505b505090508061012357604051637dabd39960e01b815260040160405180910390fd5b846001600160a01b0316826001600160a01b03167f2150ada912bf189ed721c44211199e270903fc88008c2a1e1e889ef30fe67c5f60405160405180910390a3509392505050565b60006001600160a01b0383166101a457604051633202e20d60e21b81526001600160a01b03841660048201526024015b60405180910390fd5b60405172602d8060093d393df3363d3d373d3d3d363d7360681b60208201526bffffffffffffffffffffffff19606085901b1660338201526e5af43d82803e903d91602b57fd5bf360881b60478201526000906056016040516020818303038152906040529050828151602083016000f591506001600160a01b0382166102495760405163371e9e8960e21b81526001600160a01b038316600482015260240161019b565b5092915050565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561027b57600080fd5b83356001600160a01b038116811461029257600080fd5b9250602084013567ffffffffffffffff808211156102af57600080fd5b818601915086601f8301126102c357600080fd5b8135818111156102d5576102d5610250565b604051601f8201601f19908116603f011681019083821181831017156102fd576102fd610250565b8160405282815289602084870101111561031657600080fd5b826020860160208301376000602084830101528096505050505050604084013590509250925092565b6000825160005b818110156103605760208186018101518583015201610346565b50600092019182525091905056fea26469706673582212202318e271bb304c72c2e19dc693ef1bb2add88f8405bbba0b0bf5596d304fb29564736f6c63430008130033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f1ab873c14610030575b600080fd5b61004361003e366004610266565b61005f565b6040516001600160a01b03909116815260200160405180910390f35b60006100a384848051906020012084604051602001610088929190918252602082015260400190565b6040516020818303038152906040528051906020012061016b565b90506000816001600160a01b0316846040516100bf919061033f565b6000604051808303816000865af19150503d80600081146100fc576040519150601f19603f3d011682016040523d82523d6000602084013e610101565b606091505b505090508061012357604051637dabd39960e01b815260040160405180910390fd5b846001600160a01b0316826001600160a01b03167f2150ada912bf189ed721c44211199e270903fc88008c2a1e1e889ef30fe67c5f60405160405180910390a3509392505050565b60006001600160a01b0383166101a457604051633202e20d60e21b81526001600160a01b03841660048201526024015b60405180910390fd5b60405172602d8060093d393df3363d3d373d3d3d363d7360681b60208201526bffffffffffffffffffffffff19606085901b1660338201526e5af43d82803e903d91602b57fd5bf360881b60478201526000906056016040516020818303038152906040529050828151602083016000f591506001600160a01b0382166102495760405163371e9e8960e21b81526001600160a01b038316600482015260240161019b565b5092915050565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561027b57600080fd5b83356001600160a01b038116811461029257600080fd5b9250602084013567ffffffffffffffff808211156102af57600080fd5b818601915086601f8301126102c357600080fd5b8135818111156102d5576102d5610250565b604051601f8201601f19908116603f011681019083821181831017156102fd576102fd610250565b8160405282815289602084870101111561031657600080fd5b826020860160208301376000602084830101528096505050505050604084013590509250925092565b6000825160005b818110156103605760208186018101518583015201610346565b50600092019182525091905056fea26469706673582212202318e271bb304c72c2e19dc693ef1bb2add88f8405bbba0b0bf5596d304fb29564736f6c63430008130033", - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "errors": { - "FailedInitialization()": [ - { - "notice": "Initialization failed." - } - ], - "TakenAddress(address)": [ - { - "notice": "`address_` is already taken." - } - ], - "ZeroAddress(address)": [ - { - "notice": "`target` can not be zero." - } - ] - }, - "kind": "user", - "methods": {}, - "version": 1 - }, - "storageLayout": { - "storage": [], - "types": null - } -} \ No newline at end of file diff --git a/hardhat.config.ts b/hardhat.config.ts index cb5b060..6ebf93f 100644 --- a/hardhat.config.ts +++ b/hardhat.config.ts @@ -38,7 +38,6 @@ const config: HardhatUserConfig = { '@gnosis.pm/safe-contracts/contracts/libraries/MultiSendCallOnly.sol', '@gnosis.pm/safe-contracts/contracts/proxies/GnosisSafeProxyFactory.sol', '@gnosis.pm/safe-contracts/contracts/GnosisSafeL2.sol', - '@gnosis.pm/zodiac/contracts/factory/ModuleProxyFactory.sol', ], }, namedAccounts: {