Skip to content

Commit b79b8b6

Browse files
Merge branch 'master' into support-star-guard
2 parents 75e4a86 + 393726a commit b79b8b6

File tree

4 files changed

+141
-128
lines changed

4 files changed

+141
-128
lines changed

.wordlist.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ RWAXYZ
6767
Repo
6868
Solmate
6969
SPDX
70+
SPK
7071
StairstepExponentialDecrease
7172
StarGuard
7273
Starknet
@@ -80,6 +81,7 @@ TeleportRouter
8081
TODO
8182
TOFIX
8283
Timestamps
84+
USDS
8385
YYYY
8486
antipattern
8587
arg

spell/spell-crafter-mainnet-workflow.md

Lines changed: 31 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Mainnet
44

5-
Repo: https://github.com/makerdao/spells-mainnet
5+
Repo: https://github.com/sky-ecosystem/spells-mainnet
66

77
### Spell coordination schedule
88

@@ -35,9 +35,7 @@ Repo: https://github.com/makerdao/spells-mainnet
3535
## Development Stage
3636

3737
* Install stable Foundry version
38-
* [ ] Find the first [Foundry release](https://github.com/foundry-rs/foundry/releases) that is older than 7 days from now
39-
* [ ] Insert the release URL here:
40-
* [ ] Install the specified version via `foundryup --version git_tag_name`
38+
* [ ] Install the stable version of Foundry via `foundryup --install stable`
4139
```
4240
Document the installation logs containing installed versions below:
4341
```
@@ -66,25 +64,27 @@ Repo: https://github.com/makerdao/spells-mainnet
6664
* [ ] Remove unused interface declarations
6765
* Ensure correctness of the cleanup
6866
* [ ] Run Tests `make test` (or `make test match=<test_name>` to inspect debug traces)
67+
* [ ] Commit the cleanup (e.g. `git commit -am "Base spell"`)
6968
* Add comments to the spell based on the relevant [Exec Sheet](https://docs.google.com/spreadsheets/d/1w_z5WpqxzwreCcaveB2Ye1PP5B8QAHDglzyxKHG3CHw)
7069
* [ ] Copy every _Section text_ from the Exec Sheet as comment to the spell code
7170
* [ ] Surround the comment by the set of dashes (e.g. `// ----- Section text -----`)
7271
* [ ] Copy every _Instruction text_ from the Exec Sheet (e.g. `// Instruction text`)
7372
* [ ] Add newline above every _Instruction text_
7473
* [ ] Copy every `Reasoning URL` and `Authority URL` from the Exec Sheet as a comment under relevant section or instruction in the spell code (depending on the row the link is present)
7574
* [ ] For every `Reasoning URL` and `Authority URL`, add prefix derived from the url itself:
76-
* `// Executive Vote:` IF URL starts with `https://vote.makerdao.com/executive/`
77-
* `// Poll:` IF URL starts with `https://vote.makerdao.com/polling/`
78-
* `// Forum:` IF URL starts with `https://forum.makerdao.com/t/`
79-
* `// MIP:` IF URL starts with `https://mips.makerdao.com/mips/details/`
75+
* `// Executive Vote:` if URL starts with `https://vote.sky.money/executive/`
76+
* `// Poll:` if URL starts with `https://vote.sky.money/polling/`
77+
* `// Forum:` if URL starts with `https://forum.sky.money/t/`
78+
* `// MIP:` if URL starts with `https://mips.makerdao.com/mips/details/`
79+
* `// Atlas:` if URL starts with `https://sky-atlas.powerhouse.io/`
8080
* [ ] IF an action in the spell doesn't have relevant instruction (e.g.: ChainLog version bump), add the explanation below prefixed with `// Note:`
8181
* [ ] IF an instruction can not be directly taken, add a comment below prefixed with `// Note:` (e.g.: `// Note: see dao_resolutions variable declared above`)
8282
* Open draft PR
8383
* [ ] Local tests PASS via `make test`
84-
* [ ] Commit & push the cleanup (e.g. `git commit -am "Base spell"`)
85-
* [ ] CI tests PASS
84+
* [ ] Push the local changes
8685
* [ ] Open draft PR on `spells-mainnet` titled `Mainnet spell YYYY-MM-DD` where `YYYY-MM-DD` is the expected target date of the spell
8786
* [ ] Assign PR to yourself
87+
* [ ] CI tests PASS
8888
* Add content based on the provided Exec Sheet
8989
* [ ] Ensure solc version is `0.8.16`
9090
* [ ] Office hours is `true` IF spell introduces a major change that can affect external parties (e.g.: keepers are affected in case of collateral offboarding), OTHERWISE explicitly set to `false`
@@ -93,36 +93,37 @@ Repo: https://github.com/makerdao/spells-mainnet
9393
* [ ] Ensure spell actions match linked sources (forum posts, polls, MIPs, etc)
9494
* IF some actions require using interfaces
9595
* [ ] Prefer using `DssExecLib` actions where possible (to avoid adding interfaces where not required)
96-
* [ ] Avoid multi-import layout / importing from `Interfaces.sol` (see [issue #69](https://github.com/makerdao/dss-interfaces/issues/69))
97-
* [ ] Prefer single import layout (e.g. `import { VatAbstract } from "dss-interfaces/dss/VatAbstract.sol";`)
96+
* [ ] Avoid multi-import layout / importing from `Interfaces.sol` (see [issue #69](https://github.com/sky-ecosystem/dss-interfaces/issues/69))
97+
* [ ] Prefer single import layout (e.g. `import {VatAbstract} from "dss-interfaces/dss/VatAbstract.sol";`)
9898
* [ ] Use static interfaces IF not present in `dss-interfaces` OR present in `dss-interfaces` but outdated OR only a few function interfaces are needed
9999
* IF new collateral is onboarded
100100
* Deploy `Join` contract (check which one is required)
101-
* [ ] Use [JoinFab](https://github.com/makerdao/JoinFab) to deploy
101+
* [ ] Use [JoinFab](https://github.com/sky-ecosystem/JoinFab) to deploy
102102
* [ ] Ensure Etherscan Verification
103103
* [ ] Make sure AGPLv3 is specified and used
104104
* [ ] IF flatten, consider removing `HEVM` interface artifacts
105105
* Deploy `Clip` contract
106-
* [ ] Use [ClipFab](https://github.com/makerdao/dss-deploy) to deploy
106+
* [ ] Use [ClipFab](https://github.com/sky-ecosystem/dss-deploy) to deploy
107107
* [ ] Ensure Etherscan Verification
108108
* [ ] Make sure AGPLv3 is specified and used
109109
* Deploy `Calc` contract (check which one is required)
110-
* [ ] Use [CalcFab](https://github.com/makerdao/dss-deploy) to deploy
110+
* [ ] Use [CalcFab](https://github.com/sky-ecosystem/dss-deploy) to deploy
111111
* [ ] Note: automatically verified on etherscan
112112
* [ ] Check if oracle deployment is required (e.g. univ3-lp-oracle, new ilk pip, ...) with responsible ecosystem actor
113113
* IF addresses are used in the spell
114114
* [ ] Use `immutable` visibility when declaring addresses using `DssExecLib.getChangelogAddress`, OTHERWISE use `constant` for statically defined addresses
115-
* [ ] Fetch addresses as type `address` and wrap with `Like` suffix interfaces inline (when making calls), EXCEPT `MKR` and vesting contracts
116-
* [ ] Use the [DssExecLib address helpers](https://github.com/makerdao/dss-exec-lib/blob/master/src/DssExecLib.sol#L166) where possible (e.g. `DssExecLib.vat()`)
117-
* [ ] Where addresses are fetched from the ChainLog, the variable name must match the value of the ChainLog key for that address (e.g. `MCD_VAT` rather than `vat`), EXCEPT where the archive pattern differs from this pattern (e.g. `MKR`)
115+
* [ ] Fetch addresses as type `address` and wrap with `Like` suffix interfaces inline (when making calls), EXCEPT where the archive pattern differs from this pattern (e.g. SKY)
116+
* [ ] Use the [DssExecLib address helpers](https://github.com/sky-ecosystem/dss-exec-lib/blob/master/src/DssExecLib.sol#L192) where possible (e.g. `DssExecLib.vat()`)
117+
* [ ] Where addresses are fetched from the ChainLog, the variable name must match the value of the ChainLog key for that address (e.g. `MCD_VAT` rather than `vat`), EXCEPT where the archive pattern differs from this pattern
118118
* IF new addresses need to be added to the ChainLog
119119
* [ ] Add new addresses to the ChainLog
120120
* [ ] Increment ChainLog version, according to the update type
121121
* Major -> New Vat (++.0.0)
122122
* Minor -> Core Module (DSS) Update (e.g. Flapper) (0.++.0)
123123
* Patch -> Collateral addition or addition/modification (0.0.++)
124124
* [ ] New addresses are added to the `addresses_mainnet.sol`
125-
* [ ] Changes are tested via `testNewOrUpdatedChainlogValues`
125+
* [ ] Additions are tested via `testAddedChainlogKeys`
126+
* [ ] Removals are tested via `testRemovedChainlogKeys`
126127
* [ ] Adjust system values, collateral values inside `config.sol`
127128
* [ ] Ensure every spell variable is declared as public/internal
128129
* IF Prime Agent spell is provided
@@ -136,8 +137,8 @@ Repo: https://github.com/makerdao/spells-mainnet
136137
* [ ] Test new collaterals
137138
* [ ] Test new ilk registry values
138139
* [ ] Test new ChainLog values
139-
* [ ] Test DAI/MKR streams and payments, lerps
140-
* [ ] Test the sum of all DAI/MKR payments matches the Exec Sheet
140+
* [ ] Test DAI/USDS/SKY/SPK streams and payments, lerps
141+
* [ ] Test the sum of all DAI/USDS/SKY/SPK payments matches the Exec Sheet
141142
* Run tests via `make test` (or `make test match=<test_name>` to inspect debug traces)
142143
* [ ] Ensure good coverage (every spell action is tested)
143144
* [ ] Ensure every test function is declared as `public`
@@ -147,15 +148,15 @@ Repo: https://github.com/makerdao/spells-mainnet
147148
* [ ] Sanity checks of all values added/updated by the spell function
148149
* [ ] End-to-end "happy path" interaction with the module
149150
* [ ] Tests PASS via `make test`
150-
* [ ] Ensure `DssExecLib` address used in current spell (`DssExecLib.address`) matches `dss-exec-lib` [Latest Release Tag](https://github.com/makerdao/dss-exec-lib/releases/latest)
151+
* [ ] Ensure `DssExecLib` address used in current spell (`DssExecLib.address`) matches `dss-exec-lib` [Latest Release Tag](https://github.com/sky-ecosystem/dss-exec-lib/releases/latest)
151152
* [ ] Push committed content to already opened PR
152153
* [ ] Make sure CI PASS
153154
* [ ] Mark PR as "ready for review" and add reviewers
154155
* [ ] Notify reviewers (e.g. "the spell is ready for review")
155156
156157
## Pre-Deployment Stage
157158
158-
* [ ] Wait till the Exec Doc is merged
159+
* [ ] Wait until the Exec Doc is merged
159160
* Exec Doc checks
160161
* [ ] Check that every action in the spell code is present in the Exec Doc
161162
* [ ] Check that every action in the Exec Doc is present in the spell code
@@ -165,16 +166,16 @@ Repo: https://github.com/makerdao/spells-mainnet
165166
* [ ] Run `make exec-hash date=YYYY-MM-DD` and update spell code accordingly
166167
* [ ] Make sure generated hash matches with the hash provided from Governance Facilitator, OTHERWISE notify Responsible Governance Facilitator
167168
* [ ] Ensure that executive vote file name and date is correct
168-
* [ ] [community](https://github.com/makerdao/community) repo commit hash corresponds to latest change
169+
* [ ] [executive-votes](https://github.com/sky-ecosystem/executive-votes) repo commit hash corresponds to the latest change
169170
* [ ] Raw GitHub URL is correct
170171
* [ ] Ensure the URL uses commit hash that introduced last change to the Exec Doc, NOT merge commit
171-
* [ ] IF there is no local copy of [`makerdao/community` GitHub repo](https://github.com/makerdao/community)), run:
172+
* [ ] IF there is no local copy of [`sky-ecosystem/executive-votes` GitHub repo](https://github.com/sky-ecosystem/executive-votes), run:
172173
```
173-
git clone https://github.com/makerdao/community
174+
git clone https://github.com/sky-ecosystem/executive-votes
174175
```
175-
* [ ] OTHERWISE, ensure it is pointing to the latest commit on master:
176+
* [ ] OTHERWISE, ensure it is pointing to the latest commit on main:
176177
```
177-
git switch master && git pull origin master
178+
git switch main && git pull origin main
178179
```
179180
* [ ] Get the latest commit hash for the exec doc:
180181
```
@@ -259,7 +260,7 @@ Repo: https://github.com/makerdao/spells-mainnet
259260
* Collect any problems noticed during the spell, propose concrete improvements to make it constructive
260261
* Prefix your message with `Initiating retro:` for clarity
261262
* IF there is nothing to discuss, post `Initiating retro: nothing to discuss from my side`
262-
* IF [`MegaPoker`-related](https://github.com/makerdao/megapoker/blob/master/src/MegaPoker.sol) updates are present in the spell (oracles are replaced, collaterals are onboarded or offboarded, etc)
263+
* IF [`MegaPoker`-related](https://github.com/sky-ecosystem/megapoker/blob/master/src/MegaPoker.sol) updates are present in the spell (oracles are replaced, collaterals are onboarded or offboarded, etc)
263264
* [ ] Inform EA responsible for maintaining `MegaPoker` contract
264265
* Ensure `MegaPoker` contract is updated
265266
* [ ] Coordinate with EA responsible for maintaining `MegaPoker` and TechOps
@@ -272,4 +273,4 @@ Repo: https://github.com/makerdao/spells-mainnet
272273
* IF new collateral is onboarded
273274
* [ ] Ensure keeper support for new onboarded collateral with TechOps
274275
* IF new Lerp is added
275-
* [ ] Ensure keeper support (to call `tall` daily) via [dss-cron](https://github.com/makerdao/dss-cron)
276+
* [ ] Ensure keeper support (to call `tall` daily) via [dss-cron](https://github.com/sky-ecosystem/dss-cron)

0 commit comments

Comments
 (0)