You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
> :warning:**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 Safe team can be found in the [releases](https://github.com/safe-global/safe-smart-account/releases).
7
+
> [!WARNING]
8
+
> **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 Safe team can be found in the [releases](https://github.com/safe-global/safe-smart-account/releases).
2. Pre-fund the executor account derived from the mnemonic with some Native Token to cover the deployment of an ERC4337 module and the pre-fund of the Safe for the test operation.
39
+
2. Pre-fund the executor account derived from the mnemonic with some Native Token to cover the deployment of an ERC-4337 module and the pre-fund of the Safe for the test operation.
40
40
41
41
### Deployments
42
42
43
43
A collection of the different Safe contract deployments and their addresses can be found in the [Safe deployments](https://github.com/safe-global/safe-deployments) repository.
44
44
45
-
To add support for a new network follow the steps of the ``Deploy`` section and create a PR in the [Safe deployments](https://github.com/safe-global/safe-deployments) repository.
45
+
To add support for a new network follow the steps of the `Deploy` section and create a PR in the [Safe deployments](https://github.com/safe-global/safe-deployments) repository.
46
46
47
47
### Deploy
48
48
49
-
> :warning:**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 Safe team can be found in the [releases](https://github.com/safe-global/safe-smart-account/releases).
49
+
> [!WARNING]
50
+
> **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 Safe team can be found in the [releases](https://github.com/safe-global/safe-smart-account/releases).
50
51
51
52
> **Current version:** The latest release is [v1.4.1-3](https://github.com/safe-global/safe-smart-account/tree/v1.4.1-3) on the commit [21dc824](https://github.com/safe-global/safe-smart-account/commit/21dc82410445637820f600c7399a804ad55841d5)
52
53
53
54
This will deploy the contracts deterministically and verify the contracts on etherscan using [Solidity 0.7.6](https://github.com/ethereum/solidity/releases/tag/v0.7.6) by default.
54
55
55
56
Preparation:
57
+
56
58
- Set `MNEMONIC` in `.env`
57
59
- Set `INFURA_KEY` in `.env`
58
60
@@ -82,32 +84,34 @@ Note: Address will vary if contract code is changed or a different Solidity vers
Some networks require replay protection, making it incompatible with the default deployment process as it relies on a presigned transaction without replay protection (see https://github.com/Arachnid/deterministic-deployment-proxy).
87
+
Some networks require replay protection, making it incompatible with the default deployment process as it relies on a presigned transaction without replay protection (see <https://github.com/Arachnid/deterministic-deployment-proxy>).
86
88
87
-
Safe Smart Account contracts use a different deterministic deployment proxy (https://github.com/safe-global/safe-singleton-factory). To make sure that the latest version of this package is installed, run `npm i --save-dev @safe-global/safe-singleton-factory` before deployment. For more information, including deploying the factory to a new network, please refer to the factory repo.
89
+
Safe Smart Account contracts use a different deterministic deployment proxy (<https://github.com/safe-global/safe-singleton-factory>). To make sure that the latest version of this package is installed, run `npm i --save-dev @safe-global/safe-singleton-factory` before deployment. For more information, including deploying the factory to a new network, please refer to the factory repository.
88
90
89
91
Note: This will result in different addresses compared to hardhat's default deterministic deployment process.
90
92
91
93
### Verify contract
92
94
93
95
This command will use the deployment artifacts to compile the contracts and compare them to the onchain code
96
+
94
97
```bash
95
98
npx hardhat --network <network> local-verify
96
99
```
97
100
98
101
This command will upload the contract source to Etherscan
102
+
99
103
```bash
100
104
npx hardhat --network <network> etherscan-verify
101
105
```
102
106
103
-
Documentation
104
-
-------------
107
+
## Documentation
108
+
105
109
-[Safe developer portal](http://docs.safe.global)
106
110
-[Error codes](docs/error_codes.md)
107
111
-[Coding guidelines](docs/guidelines.md)
108
112
109
-
Audits/ Formal Verification
110
-
---------
113
+
## Audits and Formal Verification
114
+
111
115
-[for Version 1.5.0 by Certora & Ackee](docs/audit_1_5_0.md)
112
116
-[for Version 1.4.0/1.4.1 by Ackee Blockchain](docs/audit_1_4_0.md)
113
117
-[for Version 1.3.0 by G0 Group](docs/audit_1_3_0.md)
@@ -116,10 +120,10 @@ Audits/ Formal Verification
116
120
-[for Version 1.0.0 by Runtime Verification](docs/rv_1_0_0.md)
117
121
-[for Version 0.0.1 by Alexey Akhunov](docs/alexey_audit.md)
118
122
119
-
Security and Liability
120
-
----------------------
123
+
## Security and Liability
124
+
121
125
All contracts are WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
0 commit comments