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-07-25 #417

Closed amusingaxl closed 4 months ago

amusingaxl commented 4 months ago

Description

Contribution Checklist

Checklist

SidestreamColdMelon commented 4 months ago

TLDR: Good to deploy

Disclaimer: the 0x37305B1cD40574E4C5Ce33f8e8306Be057fD7341 (MCD_LITE_PSM_USDC_A_POCKET) address which will hold USDC tokens on behalf of LitePSM is an EOA and therefore it is technically not possible to validate that no party has access to it anymore. In the following review we trust Ecosystem as Scope Facilitator and Governance Facilitators that one of the two shards was burnt and no one will be able to move tokens from this address beyond the LitePSM contract itself.

Development Stage

./scripts/test-dssspell-forge.sh no-match="" match="" block=""
Using DssExecLib at: 0x8De6DDbCd5053d32292AAA0D2105A32d108484a6
[⠊] Compiling...
[⠢] Compiling 1 files with Solc 0.8.16
[⠰] Solc 0.8.16 finished in 2.24s
Compiler run successful!

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

Ran 37 tests for src/DssSpell.t.sol:DssSpellTest
[SKIP] testBytecodeMatches() (gas: 0)
[PASS] testCastCost() (gas: 2160454)
[PASS] testCastOnTime() (gas: 2157350)
[PASS] testChainlogIntegrity() (gas: 7131191)
[PASS] testChainlogValues() (gas: 10607530)
[SKIP] testCollateralIntegrations() (gas: 0)
[PASS] testContractSize() (gas: 11184)
[SKIP] testDAIPayments() (gas: 0)
[SKIP] testDaoResolutions() (gas: 0)
[PASS] testDeployCost() (gas: 5551268)
[PASS] testEsmAuth() (gas: 2170122)
[PASS] testGeneral() (gas: 31958250)
[SKIP] testIlkClipper() (gas: 0)
[SKIP] testL2ArbitrumSpell() (gas: 0)
[SKIP] testL2OptimismSpell() (gas: 0)
[SKIP] testLerpSurplusBuffer() (gas: 0)
[PASS] testLitePSMs() (gas: 3031367)
[SKIP] testMKRPayments() (gas: 0)
[SKIP] testMedianizers() (gas: 0)
[SKIP] testNewIlkRegistryValues() (gas: 0)
[PASS] testNextCastTime() (gas: 446524)
[SKIP] testOSMs() (gas: 0)
[SKIP] testOffboardings() (gas: 0)
[PASS] testOfficeHours() (gas: 496171)
[SKIP] testOracleList() (gas: 0)
[PASS] testPSMs() (gas: 3386245)
[SKIP] testRemoveChainlogValues() (gas: 0)
[PASS] testRevertIfNotScheduled() (gas: 17618)
[PASS] testSparkSpellIsExecuted() (gas: 2163267)
[PASS] testUseEta() (gas: 352708)
[SKIP] testVestDAI() (gas: 0)
[SKIP] testVestMKR() (gas: 0)
[SKIP] testYankDAI() (gas: 0)
[SKIP] testYankMKR() (gas: 0)
[PASS] test_CRON_LITE_PSM_JOB() (gas: 3330084)
[PASS] test_LITE_PSM_USDC_A_JAR() (gas: 2338463)
[PASS] test_LITE_PSM_USDC_A_MigrationPhase1() (gas: 2206918)
Suite result: ok. 18 passed; 0 failed; 19 skipped; finished in 60.61s (129.54s CPU time)

Ran 2 test suites in 60.89s (67.30s CPU time): 20 tests passed, 0 failed, 19 skipped (39 total tests)

Pre-Deployment Stage

0xp3th1um commented 4 months ago

Good to deploy!

Mainnet Executive Spell Review Checklist

Development 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.38s
Compiler run successful!

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

Ran 37 tests for src/DssSpell.t.sol:DssSpellTest
[SKIP] testBytecodeMatches() (gas: 0)
[PASS] testCastCost() (gas: 2160542)
[PASS] testCastOnTime() (gas: 2157328)
[PASS] testChainlogIntegrity() (gas: 7131169)
[PASS] testChainlogValues() (gas: 10607508)
[SKIP] testCollateralIntegrations() (gas: 0)
[PASS] testContractSize() (gas: 11162)
[SKIP] testDAIPayments() (gas: 0)
[SKIP] testDaoResolutions() (gas: 0)
[PASS] testDeployCost() (gas: 5551246)
[PASS] testEsmAuth() (gas: 2170122)
[PASS] testGeneral() (gas: 31958250)
[SKIP] testIlkClipper() (gas: 0)
[SKIP] testL2ArbitrumSpell() (gas: 0)
[SKIP] testL2OptimismSpell() (gas: 0)
[SKIP] testLerpSurplusBuffer() (gas: 0)
[PASS] testLitePSMs() (gas: 3031345)
[SKIP] testMKRPayments() (gas: 0)
[SKIP] testMedianizers() (gas: 0)
[SKIP] testNewIlkRegistryValues() (gas: 0)
[PASS] testNextCastTime() (gas: 446524)
[SKIP] testOSMs() (gas: 0)
[SKIP] testOffboardings() (gas: 0)
[PASS] testOfficeHours() (gas: 496149)
[SKIP] testOracleList() (gas: 0)
[PASS] testPSMs() (gas: 3386333)
[SKIP] testRemoveChainlogValues() (gas: 0)
[PASS] testRevertIfNotScheduled() (gas: 17618)
[PASS] testSparkSpellIsExecuted() (gas: 2163267)
[PASS] testUseEta() (gas: 352708)
[SKIP] testVestDAI() (gas: 0)
[SKIP] testVestMKR() (gas: 0)
[SKIP] testYankDAI() (gas: 0)
[SKIP] testYankMKR() (gas: 0)
[PASS] test_LITE_PSM_USDC_A_CronJob() (gas: 2896623)
[PASS] test_LITE_PSM_USDC_A_JAR() (gas: 2338463)
[PASS] test_LITE_PSM_USDC_A_MigrationPhase1() (gas: 2206918)
Suite result: ok. 18 passed; 0 failed; 19 skipped; finished in 475.11s (1286.59s CPU time)

Ran 2 test suites in 475.71s (524.89s CPU time): 20 tests passed, 0 failed, 19 skipped (39 total tests)

UPDATE: the tests above were run on the wrong commit, the ones below are run on the appropriate one

./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.38s
Compiler run successful!

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

Ran 37 tests for src/DssSpell.t.sol:DssSpellTest
[SKIP] testBytecodeMatches() (gas: 0)
[PASS] testCastCost() (gas: 2160541)
[PASS] testCastOnTime() (gas: 2157437)
[PASS] testChainlogIntegrity() (gas: 7131278)
[PASS] testChainlogValues() (gas: 10607617)
[SKIP] testCollateralIntegrations() (gas: 0)
[PASS] testContractSize() (gas: 11184)
[SKIP] testDAIPayments() (gas: 0)
[SKIP] testDaoResolutions() (gas: 0)
[PASS] testDeployCost() (gas: 5551268)
[PASS] testEsmAuth() (gas: 2170209)
[PASS] testGeneral() (gas: 31958337)
[SKIP] testIlkClipper() (gas: 0)
[SKIP] testL2ArbitrumSpell() (gas: 0)
[SKIP] testL2OptimismSpell() (gas: 0)
[SKIP] testLerpSurplusBuffer() (gas: 0)
[PASS] testLitePSMs() (gas: 3031454)
[SKIP] testMKRPayments() (gas: 0)
[SKIP] testMedianizers() (gas: 0)
[SKIP] testNewIlkRegistryValues() (gas: 0)
[PASS] testNextCastTime() (gas: 446524)
[SKIP] testOSMs() (gas: 0)
[SKIP] testOffboardings() (gas: 0)
[PASS] testOfficeHours() (gas: 495577)
[SKIP] testOracleList() (gas: 0)
[PASS] testPSMs() (gas: 3386332)
[SKIP] testRemoveChainlogValues() (gas: 0)
[PASS] testRevertIfNotScheduled() (gas: 17618)
[PASS] testSparkSpellIsExecuted() (gas: 2163354)
[PASS] testUseEta() (gas: 352708)
[SKIP] testVestDAI() (gas: 0)
[SKIP] testVestMKR() (gas: 0)
[SKIP] testYankDAI() (gas: 0)
[SKIP] testYankMKR() (gas: 0)
[PASS] test_CRON_LITE_PSM_JOB() (gas: 3330171)
[PASS] test_LITE_PSM_USDC_A_JAR() (gas: 2338550)
[PASS] test_LITE_PSM_USDC_A_MigrationPhase1() (gas: 2207005)
Suite result: ok. 18 passed; 0 failed; 19 skipped; finished in 474.52s (1204.93s CPU time)

Ran 2 test suites in 475.39s (523.05s CPU time): 20 tests passed, 0 failed, 19 skipped (39 total tests)

Pre-Deployment Stage

amusingaxl commented 4 months ago

Deployment Stage

SidestreamColdMelon commented 4 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.26s
Compiler run successful!

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

Ran 37 tests for src/DssSpell.t.sol:DssSpellTest
[PASS] testBytecodeMatches() (gas: 5574786)
[PASS] testCastCost() (gas: 2160541)
[PASS] testCastOnTime() (gas: 2157437)
[PASS] testChainlogIntegrity() (gas: 7131278)
[PASS] testChainlogValues() (gas: 10607617)
[SKIP] testCollateralIntegrations() (gas: 0)
[SKIP] testContractSize() (gas: 0)
[SKIP] testDAIPayments() (gas: 0)
[SKIP] testDaoResolutions() (gas: 0)
[SKIP] testDeployCost() (gas: 0)
[PASS] testEsmAuth() (gas: 2170209)
[PASS] testGeneral() (gas: 31960434)
[SKIP] testIlkClipper() (gas: 0)
[SKIP] testL2ArbitrumSpell() (gas: 0)
[SKIP] testL2OptimismSpell() (gas: 0)
[SKIP] testLerpSurplusBuffer() (gas: 0)
[PASS] testLitePSMs() (gas: 3031454)
[SKIP] testMKRPayments() (gas: 0)
[SKIP] testMedianizers() (gas: 0)
[SKIP] testNewIlkRegistryValues() (gas: 0)
[PASS] testNextCastTime() (gas: 446524)
[SKIP] testOSMs() (gas: 0)
[SKIP] testOffboardings() (gas: 0)
[PASS] testOfficeHours() (gas: 495577)
[SKIP] testOracleList() (gas: 0)
[PASS] testPSMs() (gas: 3386332)
[SKIP] testRemoveChainlogValues() (gas: 0)
[PASS] testRevertIfNotScheduled() (gas: 17618)
[PASS] testSparkSpellIsExecuted() (gas: 2163354)
[PASS] testUseEta() (gas: 352708)
[SKIP] testVestDAI() (gas: 0)
[SKIP] testVestMKR() (gas: 0)
[SKIP] testYankDAI() (gas: 0)
[SKIP] testYankMKR() (gas: 0)
[PASS] test_CRON_LITE_PSM_JOB() (gas: 3323159)
[PASS] test_LITE_PSM_USDC_A_JAR() (gas: 2338550)
[PASS] test_LITE_PSM_USDC_A_MigrationPhase1() (gas: 2207005)
Suite result: ok. 17 passed; 0 failed; 20 skipped; finished in 51.64s (120.87s CPU time)

Ran 2 test suites in 51.94s (57.32s CPU time): 19 tests passed, 0 failed, 20 skipped (39 total tests)
0xp3th1um commented 4 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.42s
Compiler run successful!

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

Ran 37 tests for src/DssSpell.t.sol:DssSpellTest
[PASS] testBytecodeMatches() (gas: 5574786)
[PASS] testCastCost() (gas: 2160506)
[PASS] testCastOnTime() (gas: 2157402)
[PASS] testChainlogIntegrity() (gas: 7131243)
[PASS] testChainlogValues() (gas: 10607582)
[SKIP] testCollateralIntegrations() (gas: 0)
[SKIP] testContractSize() (gas: 0)
[SKIP] testDAIPayments() (gas: 0)
[SKIP] testDaoResolutions() (gas: 0)
[SKIP] testDeployCost() (gas: 0)
[PASS] testEsmAuth() (gas: 2170174)
[PASS] testGeneral() (gas: 31960399)
[SKIP] testIlkClipper() (gas: 0)
[SKIP] testL2ArbitrumSpell() (gas: 0)
[SKIP] testL2OptimismSpell() (gas: 0)
[SKIP] testLerpSurplusBuffer() (gas: 0)
[PASS] testLitePSMs() (gas: 3031419)
[SKIP] testMKRPayments() (gas: 0)
[SKIP] testMedianizers() (gas: 0)
[SKIP] testNewIlkRegistryValues() (gas: 0)
[PASS] testNextCastTime() (gas: 446524)
[SKIP] testOSMs() (gas: 0)
[SKIP] testOffboardings() (gas: 0)
[PASS] testOfficeHours() (gas: 494862)
[SKIP] testOracleList() (gas: 0)
[PASS] testPSMs() (gas: 3386297)
[SKIP] testRemoveChainlogValues() (gas: 0)
[PASS] testRevertIfNotScheduled() (gas: 17618)
[PASS] testSparkSpellIsExecuted() (gas: 2163319)
[PASS] testUseEta() (gas: 352708)
[SKIP] testVestDAI() (gas: 0)
[SKIP] testVestMKR() (gas: 0)
[SKIP] testYankDAI() (gas: 0)
[SKIP] testYankMKR() (gas: 0)
[PASS] test_CRON_LITE_PSM_JOB() (gas: 3344160)
[PASS] test_LITE_PSM_USDC_A_JAR() (gas: 2338515)
[PASS] test_LITE_PSM_USDC_A_MigrationPhase1() (gas: 2206970)
Suite result: ok. 17 passed; 0 failed; 20 skipped; finished in 476.99s (1244.52s CPU time)

Ran 2 test suites in 478.21s (525.40s CPU time): 19 tests passed, 0 failed, 20 skipped (39 total tests)
0xp3th1um commented 4 months ago

Handover and Merge Stage