makerdao / spells-mainnet

Staging repo for MakerDAO weekly executive spells
GNU Affero General Public License v3.0
122 stars 50 forks source link

Mainnet spell 2024-08-22 #422

Closed oddaf closed 3 months ago

oddaf commented 3 months ago

Description

Contribution Checklist

Checklist

SidestreamColdMelon commented 3 months ago

TLDR: Good to deploy

Development Stage

Ran 2 tests for src/test/starknet.t.sol:StarknetTests [PASS] testStarknet() (gas: 1661004) [PASS] testStarknetSpell() (gas: 2324) Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 42.14s (35.70s CPU time)

Ran 37 tests for src/DssSpell.t.sol:DssSpellTest [SKIP] testBytecodeMatches() (gas: 0) [PASS] testCastCost() (gas: 1518180) [PASS] testCastOnTime() (gas: 1515054) [PASS] testChainlogIntegrity() (gas: 6064209) [PASS] testChainlogValues() (gas: 9989256) [SKIP] testCollateralIntegrations() (gas: 0) [PASS] testContractSize() (gas: 11184) [SKIP] testDAIPayments() (gas: 0) [SKIP] testDaoResolutions() (gas: 0) [PASS] testDeployCost() (gas: 4623035) [SKIP] testEsmAuth() (gas: 0) [PASS] testGeneral() (gas: 30353837) [SKIP] testIlkClipper() (gas: 0) [SKIP] testL2ArbitrumSpell() (gas: 0) [SKIP] testL2OptimismSpell() (gas: 0) [SKIP] testLerpSurplusBuffer() (gas: 0) [PASS] testLitePSMs() (gas: 2441071) [SKIP] testMKRPayments() (gas: 0) [SKIP] testMedianizers() (gas: 0) [SKIP] testNewIlkRegistryValues() (gas: 0) [PASS] testNextCastTime() (gas: 446546) [SKIP] testOSMs() (gas: 0) [SKIP] testOffboardings() (gas: 0) [PASS] testOfficeHours() (gas: 495684) [SKIP] testOracleList() (gas: 0) [PASS] testPSMs() (gas: 2823452) [SKIP] testRemoveChainlogValues() (gas: 0) [PASS] testRevertIfNotScheduled() (gas: 17507) [PASS] testRwaConduitsPsmUpdate() (gas: 1586080) [SKIP] testSparkSpellIsExecuted() (gas: 0) [PASS] testUseEta() (gas: 352730) [SKIP] testVestDAI() (gas: 0) [SKIP] testVestMKR() (gas: 0) [SKIP] testYankDAI() (gas: 0) [SKIP] testYankMKR() (gas: 0) [PASS] test_CRON_LITE_PSM_JOB() (gas: 2687698) [PASS] test_LITE_PSM_USDC_A_MigrationPhase2() (gas: 1588161) Suite result: ok. 16 passed; 0 failed; 21 skipped; finished in 380.81s (869.22s CPU time)

Ran 2 test suites in 381.60s (422.96s CPU time): 18 tests passed, 0 failed, 21 skipped (39 total tests)



## Pre-Deployment Stage

* [x] Wait till the Exec Doc is merged
* Exec Doc checks
  * [x] Exec Doc for the specified date is found in the [`makerdao/community` GitHub repo](https://github.com/makerdao/community/tree/master/governance/votes)
    ℹ️ https://github.com/makerdao/community/blob/8d95eaf1c9eb6722008172504df88bc27f91ed3c/governance/votes/Executive%20vote%20-%20August%2022%2C%202024.md
  * [x] Exec Doc file name follows the format `Executive vote - Month DD, YYYY.md`
  * [x] Extract _permanent_ URL to the raw markdown file and paste it below
    _Insert your Raw Exec Doc URL here_
    https://raw.githubusercontent.com/makerdao/community/8d95eaf1c9eb6722008172504df88bc27f91ed3c/governance/votes/Executive%20vote%20-%20August%2022%2C%202024.md
  * [ ] Using Exec Doc URL from the above and the `TARGET_DATE`, generate Exec Doc Hash via `make exec-hash date=$TARGET_DATE $URL`
    _Insert your Exec Doc Hash here_
    :warning: Script fails with `date: illegal option -- d`, but the hash is generated via the command below
  * [x] Using Exec Doc URL from the above, generate Exec Doc Hash via `cast keccak -- "$(curl '$URL' -o - 2>/dev/null)"`
    _Insert your Exec Doc Hash here_
    0xe3794c8152d2a1de72080b1fc7d8429a979015b3f41cbe2c26f755724c70951d
  * [x] Make sure that hash above doesn't match `keccak` hash of the empty string (`0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470`)
  * [x] Using Exec Doc URL from the above, read spell instructions from the Exec Doc and list them below
    _List all instructions announced in the Exec Doc_
    - __PSM state variables in the following conduit contracts will be updated to point to MCD_LITE_PSM_USDC_A__
      - RWA014_A_INPUT_CONDUIT_URN
      - RWA014_A_INPUT_CONDUIT_JAR
      - RWA014_A_OUTPUT_CONDUIT
      - RWA007_A_JAR_INPUT_CONDUIT
      - RWA007_A_INPUT_CONDUIT
      - RWA007_A_OUTPUT_CONDUIT
      - RWA015_A_INPUT_CONDUIT_JAR_USDC
      - RWA015_A_INPUT_CONDUIT_URN_USDC
      - RWA015_A_OUTPUT_CONDUIT
      - RWA009_A_INPUT_CONDUIT_URN_USDC
    - __Migrate Reserves from PSM-USDC-A to LITE-PSM-USDC-A__
      - all but 200 million USDC reserves from PSM-USDC-A will be migrated to LITE-PSM-USDC-A.
    - __PSM-USDC-A fees will be updated__
      - PSM-USDC-A Fee In (tin) will be increased by 0.01 percentage points from 0% to 0.01%.
      - PSM-USDC-A Fee Out (tout) will be increased by 0.01 percentage points from 0% to 0.01%.
    - __PSM-USDC-A DC-IAM parameters below will be updated as follows__
      - PSM-USDC-A DC-IAM Maximum Debt Ceiling (line) will be decreased by 7,500 million DAI from 10,000 million DAI to 2,500 million DAI.
      - PSM-USDC-A DC-IAM Target Available Debt (gap) will be decreased by 180 million DAI from 380 million DAI to 200 million DAI.
      - PSM-USDC-A DC-IAM Ceiling Increase Cooldown (ttl) will remain unchanged at 12 hours.
    - __Update MCD_LITE_PSM_USDC_A buf__
      - MCD_LITE_PSM_USDC_A Fixed-sized Amount of Pre-minted Dai (buf) will be increased by 180 million DAI from 20 million DAI to 200 million DAI.
    - __Update LITE-PSM-USDC-A DC-IAM Parameters__
      - LITE-PSM-USDC-A DC-IAM Maximum Debt Ceiling (line) will be increased by 7,450 million DAI from 50 million DAI to 7,500 million DAI.
      - LITE-PSM-USDC-A DC-IAM Target Available Debt (gap) will be increased by 180 million DAI from 20 million DAI to 200 million DAI.
      - LITE-PSM-USDC-A DC-IAM Ceiling Increase Cooldown (ttl) will remain unchanged at 12 hours.
    - __Update GSM Delay__
      - The GSM Pause Delay will be increased by 14 hours from 16 hours to 30 hours.
    - __Update LitePSM Keeper Network Job__
      - The old LitePSM job will be removed from the CronSequencer through contract call sequencer.removejob(0x689cE517a4DfCf0C5eC466F2757D324fc292C8Be).
      - The new LitePSM job will be added to the CronSequencer through contract call sequencer.addjob(0x0c86162ba3e507592fc8282b07cf18c7f902c401).
        - fill: The rushThreshold will be set to 20 million DAI.
        - trim: The gushThreshold will be set to 20 million DAI.
        - chug: The cutThreshold will remain unchanged at 300,000 DAI.
      - The chainlog entry for CRON_LITE_PSM_JOB will be updated to 0x0c86162ba3e507592fc8282b07cf18c7f902c401.
  * [x] Office hours value in the Exec Doc matches the spell
  * [ ] ~~Sum of all payments in the Exec Doc matches the tests~~
  * [x] Exec Doc URL in the spell comment matches your Raw Exec Doc URL above
  * [x] Exec Doc URL in the spell comment refers to the [https://github.com/makerdao/community](https://github.com/makerdao/community/tree/master/governance/votes) repository
  * [x] Every action present in the spell code is present in the Exec Doc
  * [x] Every action in the Exec Doc is present in the spell code
* ~~IF new commits are present in the spell~~
  * [ ] ~~Copy relevant checklist items from the above and redo them~~
  * [ ] ~~Ensure newly added code is covered by tests~~
  * [ ] ~~Check if chainlog needs to be updated~~
  * [ ] ~~Copy over and redo "Tests" section from the above~~
* [x] IF all checks pass, make sure to include explicit "Good to deploy" comment
0xp3th1um commented 3 months ago

Mainnet Executive Spell Review Checklist

Development Stage

PSM Migration Checklist

LitePSM MOM Onboarding Checklist

LitePSM Onboarding Checklist

PSM Offboarding Checklist

_Insert your local test logs here_
./scripts/test-dssspell-forge.sh no-match="" match="" block=""
Using DssExecLib at: 0x8De6DDbCd5053d32292AAA0D2105A32d108484a6
[⠊] Compiling...
[⠰] Compiling 4 files with Solc 0.8.16
[⠔] Solc 0.8.16 finished in 1.37s
Compiler run successful!

Ran 2 tests for src/test/starknet.t.sol:StarknetTests
[PASS] testStarknet() (gas: 1660987)
[PASS] testStarknetSpell() (gas: 2324)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 36.14s (30.39s CPU time)

Ran 37 tests for src/DssSpell.t.sol:DssSpellTest
[SKIP] testBytecodeMatches() (gas: 0)
[PASS] testCastCost() (gas: 1518163)
[PASS] testCastOnTime() (gas: 1515037)
[PASS] testChainlogIntegrity() (gas: 6064192)
[PASS] testChainlogValues() (gas: 9989239)
[SKIP] testCollateralIntegrations() (gas: 0)
[PASS] testContractSize() (gas: 11184)
[SKIP] testDAIPayments() (gas: 0)
[SKIP] testDaoResolutions() (gas: 0)
[PASS] testDeployCost() (gas: 4623035)
[SKIP] testEsmAuth() (gas: 0)
[PASS] testGeneral() (gas: 30353820)
[SKIP] testIlkClipper() (gas: 0)
[SKIP] testL2ArbitrumSpell() (gas: 0)
[SKIP] testL2OptimismSpell() (gas: 0)
[SKIP] testLerpSurplusBuffer() (gas: 0)
[PASS] testLitePSMs() (gas: 2441054)
[SKIP] testMKRPayments() (gas: 0)
[SKIP] testMedianizers() (gas: 0)
[SKIP] testNewIlkRegistryValues() (gas: 0)
[PASS] testNextCastTime() (gas: 446546)
[SKIP] testOSMs() (gas: 0)
[SKIP] testOffboardings() (gas: 0)
[PASS] testOfficeHours() (gas: 495577)
[SKIP] testOracleList() (gas: 0)
[PASS] testPSMs() (gas: 2823438)
[SKIP] testRemoveChainlogValues() (gas: 0)
[PASS] testRevertIfNotScheduled() (gas: 17507)
[PASS] testRwaConduitsPsmUpdate() (gas: 1586063)
[SKIP] testSparkSpellIsExecuted() (gas: 0)
[PASS] testUseEta() (gas: 352730)
[SKIP] testVestDAI() (gas: 0)
[SKIP] testVestMKR() (gas: 0)
[SKIP] testYankDAI() (gas: 0)
[SKIP] testYankMKR() (gas: 0)
[PASS] test_CRON_LITE_PSM_JOB() (gas: 2694693)
[PASS] test_LITE_PSM_USDC_A_MigrationPhase2() (gas: 1588144)
Suite result: ok. 16 passed; 0 failed; 21 skipped; finished in 401.01s (942.76s CPU time)

Ran 2 test suites in 401.95s (437.15s CPU time): 18 tests passed, 0 failed, 21 skipped (39 total tests)

Pre-Deployment Stage

oddaf commented 3 months ago

Spell deployed

Spell address: 0x969c91C5aC11D4d1077A6aAF3d2BA617906543Cc Tenderly testnet: https://dashboard.tenderly.co/explorer/vnet/1d03288b-c368-4275-bd1f-2cdc16c4c143

SidestreamColdMelon commented 3 months ago

TLDR: Good to handover

Deployed Stage

_Insert your local test logs here_
./scripts/test-dssspell-forge.sh no-match="" match="" block=""
Using DssExecLib at: 0x8De6DDbCd5053d32292AAA0D2105A32d108484a6
[⠊] Compiling...
[⠔] Compiling 4 files with Solc 0.8.16
[⠒] Solc 0.8.16 finished in 2.47s
Compiler run successful!

Ran 2 tests for src/test/starknet.t.sol:StarknetTests
[PASS] testStarknet() (gas: 1660987)
[PASS] testStarknetSpell() (gas: 2324)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 37.33s (34.37s CPU time)

Ran 37 tests for src/DssSpell.t.sol:DssSpellTest
[PASS] testBytecodeMatches() (gas: 4643839)
[PASS] testCastCost() (gas: 1518163)
[PASS] testCastOnTime() (gas: 1515037)
[PASS] testChainlogIntegrity() (gas: 6064192)
[PASS] testChainlogValues() (gas: 9989239)
[SKIP] testCollateralIntegrations() (gas: 0)
[SKIP] testContractSize() (gas: 0)
[SKIP] testDAIPayments() (gas: 0)
[SKIP] testDaoResolutions() (gas: 0)
[SKIP] testDeployCost() (gas: 0)
[SKIP] testEsmAuth() (gas: 0)
[PASS] testGeneral() (gas: 30355917)
[SKIP] testIlkClipper() (gas: 0)
[SKIP] testL2ArbitrumSpell() (gas: 0)
[SKIP] testL2OptimismSpell() (gas: 0)
[SKIP] testLerpSurplusBuffer() (gas: 0)
[PASS] testLitePSMs() (gas: 2441054)
[SKIP] testMKRPayments() (gas: 0)
[SKIP] testMedianizers() (gas: 0)
[SKIP] testNewIlkRegistryValues() (gas: 0)
[PASS] testNextCastTime() (gas: 446546)
[SKIP] testOSMs() (gas: 0)
[SKIP] testOffboardings() (gas: 0)
[PASS] testOfficeHours() (gas: 495577)
[SKIP] testOracleList() (gas: 0)
[PASS] testPSMs() (gas: 2823438)
[SKIP] testRemoveChainlogValues() (gas: 0)
[PASS] testRevertIfNotScheduled() (gas: 17507)
[PASS] testRwaConduitsPsmUpdate() (gas: 1586063)
[SKIP] testSparkSpellIsExecuted() (gas: 0)
[PASS] testUseEta() (gas: 352730)
[SKIP] testVestDAI() (gas: 0)
[SKIP] testVestMKR() (gas: 0)
[SKIP] testYankDAI() (gas: 0)
[SKIP] testYankMKR() (gas: 0)
[PASS] test_CRON_LITE_PSM_JOB() (gas: 2687681)
[PASS] test_LITE_PSM_USDC_A_MigrationPhase2() (gas: 1588144)
Suite result: ok. 15 passed; 0 failed; 22 skipped; finished in 396.88s (850.85s CPU time)

Ran 2 test suites in 397.65s (434.21s CPU time): 17 tests passed, 0 failed, 22 skipped (39 total tests)
0xp3th1um commented 3 months ago

Good to handover!

Deployed Stage

_Insert your local test logs here_
./scripts/test-dssspell-forge.sh no-match="" match="" block=""
Using DssExecLib at: 0x8De6DDbCd5053d32292AAA0D2105A32d108484a6
[⠊] Compiling...
[⠰] Compiling 4 files with Solc 0.8.16
[⠔] Solc 0.8.16 finished in 1.39s
Compiler run successful!

Ran 2 tests for src/test/starknet.t.sol:StarknetTests
[PASS] testStarknet() (gas: 1660987)
[PASS] testStarknetSpell() (gas: 2324)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 40.01s (35.83s CPU time)

Ran 37 tests for src/DssSpell.t.sol:DssSpellTest
[PASS] testBytecodeMatches() (gas: 4643839)
[PASS] testCastCost() (gas: 1518163)
[PASS] testCastOnTime() (gas: 1515037)
[PASS] testChainlogIntegrity() (gas: 6064192)
[PASS] testChainlogValues() (gas: 9989239)
[SKIP] testCollateralIntegrations() (gas: 0)
[SKIP] testContractSize() (gas: 0)
[SKIP] testDAIPayments() (gas: 0)
[SKIP] testDaoResolutions() (gas: 0)
[SKIP] testDeployCost() (gas: 0)
[SKIP] testEsmAuth() (gas: 0)
[PASS] testGeneral() (gas: 30355917)
[SKIP] testIlkClipper() (gas: 0)
[SKIP] testL2ArbitrumSpell() (gas: 0)
[SKIP] testL2OptimismSpell() (gas: 0)
[SKIP] testLerpSurplusBuffer() (gas: 0)
[PASS] testLitePSMs() (gas: 2441054)
[SKIP] testMKRPayments() (gas: 0)
[SKIP] testMedianizers() (gas: 0)
[SKIP] testNewIlkRegistryValues() (gas: 0)
[PASS] testNextCastTime() (gas: 446546)
[SKIP] testOSMs() (gas: 0)
[SKIP] testOffboardings() (gas: 0)
[PASS] testOfficeHours() (gas: 495577)
[SKIP] testOracleList() (gas: 0)
[PASS] testPSMs() (gas: 2823438)
[SKIP] testRemoveChainlogValues() (gas: 0)
[PASS] testRevertIfNotScheduled() (gas: 17507)
[PASS] testRwaConduitsPsmUpdate() (gas: 1586063)
[SKIP] testSparkSpellIsExecuted() (gas: 0)
[PASS] testUseEta() (gas: 352730)
[SKIP] testVestDAI() (gas: 0)
[SKIP] testVestMKR() (gas: 0)
[SKIP] testYankDAI() (gas: 0)
[SKIP] testYankMKR() (gas: 0)
[PASS] test_CRON_LITE_PSM_JOB() (gas: 2687681)
[PASS] test_LITE_PSM_USDC_A_MigrationPhase2() (gas: 1588144)
Suite result: ok. 15 passed; 0 failed; 22 skipped; finished in 469.21s (1097.08s CPU time)

Ran 2 test suites in 469.86s (509.22s CPU time): 17 tests passed, 0 failed, 22 skipped (39 total tests)
0xp3th1um commented 3 months ago

Handover and Merge Stage