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
This is a first pass at the Grammar and Spelling check for the Safe
Smart Account contracts. Some of the changes are subjectively taken from
Grammarly.
Additional:
- Removed the deprecated tests (Don't think we require it anymore, and
git has the history if someone requires it)
> :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).
9
8
10
-
Usage
11
-
-----
9
+
## Usage
10
+
12
11
### Install requirements with npm:
13
12
14
13
```bash
@@ -42,7 +41,7 @@ MNEMONIC=
42
41
43
42
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
43
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.
44
+
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
45
47
46
### Deploy
48
47
@@ -53,6 +52,7 @@ To add support for a new network follow the steps of the ``Deploy`` section and
53
52
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.
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 `custom` network.
77
77
78
-
E.g. to deploy the Safe contract suite on that network you would run `npm run deploy-all custom`.
78
+
E.g. to deploy the Safe contract suite on that network you would run `npm run deploy-all custom`.
79
79
80
80
The resulting addresses should be on all networks the same.
81
81
82
82
Note: Address will vary if contract code is changed or a different Solidity version is used.
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
+
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
87
88
-
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.
88
+
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
89
90
90
Note: This will result in different addresses compared to hardhat's default deterministic deployment process.
91
91
92
92
### Verify contract
93
93
94
94
This command will use the deployment artifacts to compile the contracts and compare them to the onchain code
95
+
95
96
```bash
96
97
npx hardhat --network <network> local-verify
97
98
```
98
99
99
100
This command will upload the contract source to Etherscan
101
+
100
102
```bash
101
103
npx hardhat --network <network> etherscan-verify
102
104
```
103
105
104
-
Documentation
105
-
-------------
106
+
## Documentation
107
+
106
108
-[Safe developer portal](http://docs.safe.global)
107
109
-[Error codes](docs/error_codes.md)
108
110
-[Coding guidelines](docs/guidelines.md)
109
111
110
-
Audits/ Formal Verification
111
-
---------
112
+
## Audits / Formal Verification
113
+
114
+
-[for Version 1.5.0 by Certora](docs/audit_1_5_0.md)
112
115
-[for Version 1.4.0/1.4.1 by Ackee Blockchain](docs/audit_1_4_0.md)
113
116
-[for Version 1.3.0 by G0 Group](docs/audit_1_3_0.md)
114
117
-[for Version 1.2.0 by G0 Group](docs/audit_1_2_0.md)
115
118
-[for Version 1.1.1 by G0 Group](docs/audit_1_1_1.md)
116
119
-[for Version 1.0.0 by Runtime Verification](docs/rv_1_0_0.md)
117
120
-[for Version 0.0.1 by Alexey Akhunov](docs/alexey_audit.md)
118
121
119
-
Security and Liability
120
-
----------------------
122
+
## Security and Liability
123
+
121
124
All contracts are WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
0 commit comments