Gnosis Safe Contracts
⚠️This branch contains changes that are under development To use the latest audited version make sure to use the correct commit. The tagged versions that are used by the Gnosis Safe team can be found in the releases.
Install requirements with yarn:
Run all tests:
yarn build yarn test
A collection of the different Safe contract deployments and their addresses can be found in the Safe deployments repository.
To add support for a new network follow the steps of the
Deploy section and create a PR in the Safe deployments repository.
⚠️Make sure to use the correct commit when deploying the contracts. Any change (even comments) within the contract files will result in different addresses. The tagged versions that are used by the Gnosis Safe team can be found in the releases.
This will deploy the contracts deterministically and verify the contracts on etherscan using Solidity 0.7.6 by default.
yarn deploy-all <network>
This will perform the following steps
yarn build yarn hardhat --network <network> deploy yarn hardhat --network <network> etherscan-verify yarn hardhat --network <network> local-verify
It is possible to use the
NODE_URL env var to connect to any EVM based network via an RPC endpoint. This connection then can be used with the
E.g. to deploy the Safe contract suite on that network you would run
yarn deploy-all custom.
The resulting addresses should be on all networks the same.
Note: Address will vary if contract code is changed or a different Solidity version is used.
This command will use the deployment artifacts to compile the contracts and compare them to the onchain code
yarn hardhat --network <network> local-verify
This command will upload the contract source to Etherescan
yarn hardhat --network <network> etherscan-verify
Audits/ Formal Verification
- for Version 1.3.0 by G0 Group
- for Version 1.2.0 by G0 Group
- for Version 1.1.1 by G0 Group
- for Version 1.0.0 by Runtime Verification
- for Version 0.0.1 by Alexey Akhunov
Security and Liability
All contracts are WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
All smart contracts are released under LGPL-3.0