Skip to content

Commit 75b56e3

Browse files
authored
docs: add doc for steps to write deploy scripts (#1380)
**Motivation:** docs: add doc for steps to write deploy scripts
1 parent 5d3d502 commit 75b56e3

File tree

1 file changed

+29
-2
lines changed

1 file changed

+29
-2
lines changed

script/releases/README.md

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,35 @@ At this point, you should be able to view an environment's config (try `zeus env
2020

2121
### Writing a Script
2222

23-
Scripts are broken up into multiple steps TODO
24-
23+
Scripts are broken up into multiple steps, typically following a deploy-queue-execute pattern:
24+
25+
1. **Deploy (1-deployContracts.s.sol)**
26+
- Inherits from `EOADeployer`
27+
- Deploys new contract implementations
28+
- Validates deployments through extensive checks:
29+
- Implementation addresses
30+
- Proxy admin ownership
31+
- Constructor parameters
32+
- Initialization state
33+
- Version numbers
34+
35+
2. **Queue (2-queueUpgrade.s.sol)**
36+
- Inherits from `MultisigBuilder`
37+
- Prepares upgrade transaction for the Timelock
38+
- Constructs calldata for the Executor Multisig
39+
- Schedules the transaction in the Timelock
40+
- Includes validation to ensure proper queuing
41+
42+
3. **Execute (3-executeUpgrade.s.sol)**
43+
- Inherits from the Queue script
44+
- Executes the queued transaction after the timelock delay
45+
- Performs final validation of the upgrade:
46+
- Proxy implementation addresses
47+
- Proxy admin ownership
48+
- Constructor parameters
49+
- Initialization state
50+
51+
Each step should include comprehensive test functions to validate the changes at each stage of the upgrade process.
2552

2653
### EOADeployer
2754

0 commit comments

Comments
 (0)