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-03-26 #402

Closed SidestreamColdMelon closed 8 months ago

SidestreamColdMelon commented 8 months ago

Description

This PR implements 2024-03-20 mainnet spell according to the relevant executive sheet

Contribution Checklist

Checklist

SidestreamIcedMango commented 8 months ago

Mainnet Executive Spell Review Checklist

Development Stage

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

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

Ran 34 tests for src/DssSpell.t.sol:DssSpellTest
[SKIP] testBytecodeMatches() (gas: 0)
[PASS] testCastCost() (gas: 1981880)
[PASS] testCastOnTime() (gas: 1970729)
[PASS] testChainlogIntegrity() (gas: 7015781)
[PASS] testChainlogValues() (gas: 10298449)
[SKIP] testCollateralIntegrations() (gas: 0)
[PASS] testContractSize() (gas: 11117)
[SKIP] testDAIPayments() (gas: 0)
[PASS] testDaoResolutions() (gas: 13090)
[PASS] testDeployCost() (gas: 4399018)
[PASS] testDirectSparkMorphoIntegration() (gas: 3373428)
[SKIP] testEsmAuth() (gas: 0)
[PASS] testGeneral() (gas: 30314876)
[SKIP] testIlkClipper() (gas: 0)
[SKIP] testL2ArbitrumSpell() (gas: 0)
[SKIP] testL2OptimismSpell() (gas: 0)
[SKIP] testLerpSurplusBuffer() (gas: 0)
[SKIP] testMKRPayments() (gas: 0)
[SKIP] testMedianizers() (gas: 0)
[SKIP] testNewIlkRegistryValues() (gas: 0)
[PASS] testNextCastTime() (gas: 446920)
[SKIP] testOSMs() (gas: 0)
[SKIP] testOffboardings() (gas: 0)
[PASS] testOfficeHours() (gas: 495684)
[SKIP] testOracleList() (gas: 0)
[PASS] testPSMs() (gas: 3267871)
[SKIP] testRemoveChainlogValues() (gas: 0)
[PASS] testRevertIfNotScheduled() (gas: 17640)
[PASS] testSparkSpellIsExecuted() (gas: 1976624)
[PASS] testUseEta() (gas: 352730)
[SKIP] testVestDAI() (gas: 0)
[SKIP] testVestMKR() (gas: 0)
[SKIP] testYankDAI() (gas: 0)
[SKIP] testYankMKR() (gas: 0)
Suite result: ok. 15 passed; 0 failed; 19 skipped; finished in 383.65s (971.90s CPU time)

Ran 2 test suites in 384.30s (433.18s CPU time): 17 tests passed, 0 failed, 19 skipped (36 total tests)
0xp3th1um commented 8 months ago

TLDR: 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 5 files with 0.8.16
[⠒] Solc 0.8.16 finished in 5.45s
Compiler run successful!

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

Ran 34 tests for src/DssSpell.t.sol:DssSpellTest
[SKIP] testBytecodeMatches() (gas: 0)
[PASS] testCastCost() (gas: 1981880)
[PASS] testCastOnTime() (gas: 1970729)
[PASS] testChainlogIntegrity() (gas: 7015781)
[PASS] testChainlogValues() (gas: 10298449)
[SKIP] testCollateralIntegrations() (gas: 0)
[PASS] testContractSize() (gas: 11117)
[SKIP] testDAIPayments() (gas: 0)
[PASS] testDaoResolutions() (gas: 13090)
[PASS] testDeployCost() (gas: 4399018)
[PASS] testDirectSparkMorphoIntegration() (gas: 3373428)
[SKIP] testEsmAuth() (gas: 0)
[PASS] testGeneral() (gas: 30314876)
[SKIP] testIlkClipper() (gas: 0)
[SKIP] testL2ArbitrumSpell() (gas: 0)
[SKIP] testL2OptimismSpell() (gas: 0)
[SKIP] testLerpSurplusBuffer() (gas: 0)
[SKIP] testMKRPayments() (gas: 0)
[SKIP] testMedianizers() (gas: 0)
[SKIP] testNewIlkRegistryValues() (gas: 0)
[PASS] testNextCastTime() (gas: 446920)
[SKIP] testOSMs() (gas: 0)
[SKIP] testOffboardings() (gas: 0)
[PASS] testOfficeHours() (gas: 495684)
[SKIP] testOracleList() (gas: 0)
[PASS] testPSMs() (gas: 3267871)
[SKIP] testRemoveChainlogValues() (gas: 0)
[PASS] testRevertIfNotScheduled() (gas: 17640)
[PASS] testSparkSpellIsExecuted() (gas: 1976624)
[PASS] testUseEta() (gas: 352730)
[SKIP] testVestDAI() (gas: 0)
[SKIP] testVestMKR() (gas: 0)
[SKIP] testYankDAI() (gas: 0)
[SKIP] testYankMKR() (gas: 0)
Suite result: ok. 15 passed; 0 failed; 19 skipped; finished in 378.09s (878.28s CPU time)

Ran 2 test suites in 379.21s (425.81s CPU time): 17 tests passed, 0 failed, 19 skipped (36 total tests)
SidestreamIcedMango commented 8 months ago
Ran 35 tests for src/DssSpell.t.sol:DssSpellTest
[SKIP] testBytecodeMatches() (gas: 0)
[PASS] testCastCost() (gas: 1981708)
[PASS] testCastOnTime() (gas: 1970557)
[PASS] testChainlogIntegrity() (gas: 7015609)
[PASS] testChainlogValues() (gas: 10298277)
[SKIP] testCollateralIntegrations() (gas: 0)
[PASS] testContractSize() (gas: 11117)
[SKIP] testDAIPayments() (gas: 0)
[PASS] testDaoResolutions() (gas: 13090)
[PASS] testDeployCost() (gas: 4399018)
[PASS] testDirectSparkMorphoCage() (gas: 3421847)
[PASS] testDirectSparkMorphoIntegration() (gas: 3373256)
[SKIP] testEsmAuth() (gas: 0)
[PASS] testGeneral() (gas: 30314704)
[SKIP] testIlkClipper() (gas: 0)
[SKIP] testL2ArbitrumSpell() (gas: 0)
[SKIP] testL2OptimismSpell() (gas: 0)
[SKIP] testLerpSurplusBuffer() (gas: 0)
[SKIP] testMKRPayments() (gas: 0)
[SKIP] testMedianizers() (gas: 0)
[SKIP] testNewIlkRegistryValues() (gas: 0)
[PASS] testNextCastTime() (gas: 446920)
[SKIP] testOSMs() (gas: 0)
[SKIP] testOffboardings() (gas: 0)
[PASS] testOfficeHours() (gas: 495684)
[SKIP] testOracleList() (gas: 0)
[PASS] testPSMs() (gas: 3267699)
[SKIP] testRemoveChainlogValues() (gas: 0)
[PASS] testRevertIfNotScheduled() (gas: 17640)
[PASS] testSparkSpellIsExecuted() (gas: 1976452)
[PASS] testUseEta() (gas: 352730)
[SKIP] testVestDAI() (gas: 0)
[SKIP] testVestMKR() (gas: 0)
[SKIP] testYankDAI() (gas: 0)
[SKIP] testYankMKR() (gas: 0)
Suite result: ok. 16 passed; 0 failed; 19 skipped; finished in 471.94s (1009.96s CPU time)

Good to deploy 👍

SidestreamColdMelon commented 8 months ago

The spell is deployed to https://etherscan.io/address/0xcD672aCc9885796a19b4bAf03Dba46c8cdB0882B#code Created Tenderly testnet: https://dashboard.tenderly.co/explorer/vnet/83e8d6a8-9567-45de-9041-8f68b880930f

0xp3th1um commented 8 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 0.8.16
[⠔] Solc 0.8.16 finished in 4.93s
Compiler run successful!

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

Ran 35 tests for src/DssSpell.t.sol:DssSpellTest
[PASS] testBytecodeMatches() (gas: 4419337)
[PASS] testCastCost() (gas: 1980617)
[PASS] testCastOnTime() (gas: 1969466)
[PASS] testChainlogIntegrity() (gas: 7014518)
[PASS] testChainlogValues() (gas: 10297186)
[SKIP] testCollateralIntegrations() (gas: 0)
[SKIP] testContractSize() (gas: 0)
[SKIP] testDAIPayments() (gas: 0)
[PASS] testDaoResolutions() (gas: 13090)
[SKIP] testDeployCost() (gas: 0)
[PASS] testDirectSparkMorphoCage() (gas: 3420756)
[PASS] testDirectSparkMorphoIntegration() (gas: 3372165)
[SKIP] testEsmAuth() (gas: 0)
[PASS] testGeneral() (gas: 30315710)
[SKIP] testIlkClipper() (gas: 0)
[SKIP] testL2ArbitrumSpell() (gas: 0)
[SKIP] testL2OptimismSpell() (gas: 0)
[SKIP] testLerpSurplusBuffer() (gas: 0)
[SKIP] testMKRPayments() (gas: 0)
[SKIP] testMedianizers() (gas: 0)
[SKIP] testNewIlkRegistryValues() (gas: 0)
[PASS] testNextCastTime() (gas: 446920)
[SKIP] testOSMs() (gas: 0)
[SKIP] testOffboardings() (gas: 0)
[PASS] testOfficeHours() (gas: 495684)
[SKIP] testOracleList() (gas: 0)
[PASS] testPSMs() (gas: 3266608)
[SKIP] testRemoveChainlogValues() (gas: 0)
[PASS] testRevertIfNotScheduled() (gas: 17640)
[PASS] testSparkSpellIsExecuted() (gas: 1975361)
[PASS] testUseEta() (gas: 352730)
[SKIP] testVestDAI() (gas: 0)
[SKIP] testVestMKR() (gas: 0)
[SKIP] testYankDAI() (gas: 0)
[SKIP] testYankMKR() (gas: 0)
Suite result: ok. 15 passed; 0 failed; 20 skipped; finished in 426.76s (1113.89s CPU time)

Ran 2 test suites in 427.55s (482.09s CPU time): 17 tests passed, 0 failed, 20 skipped (37 total tests)
SidestreamIcedMango commented 8 months ago

tldr: good to handover :)

Deployed Stage

Ran 35 tests for src/DssSpell.t.sol:DssSpellTest
[PASS] testBytecodeMatches() (gas: 4419337)
[PASS] testCastCost() (gas: 1981248)
[PASS] testCastOnTime() (gas: 1970097)
[PASS] testChainlogIntegrity() (gas: 7015149)
[PASS] testChainlogValues() (gas: 10297817)
[SKIP] testCollateralIntegrations() (gas: 0)
[SKIP] testContractSize() (gas: 0)
[SKIP] testDAIPayments() (gas: 0)
[PASS] testDaoResolutions() (gas: 13090)
[SKIP] testDeployCost() (gas: 0)
[PASS] testDirectSparkMorphoCage() (gas: 3421387)
[PASS] testDirectSparkMorphoIntegration() (gas: 3372796)
[SKIP] testEsmAuth() (gas: 0)
[PASS] testGeneral() (gas: 30316341)
[SKIP] testIlkClipper() (gas: 0)
[SKIP] testL2ArbitrumSpell() (gas: 0)
[SKIP] testL2OptimismSpell() (gas: 0)
[SKIP] testLerpSurplusBuffer() (gas: 0)
[SKIP] testMKRPayments() (gas: 0)
[SKIP] testMedianizers() (gas: 0)
[SKIP] testNewIlkRegistryValues() (gas: 0)
[PASS] testNextCastTime() (gas: 446920)
[SKIP] testOSMs() (gas: 0)
[SKIP] testOffboardings() (gas: 0)
[PASS] testOfficeHours() (gas: 495684)
[SKIP] testOracleList() (gas: 0)
[PASS] testPSMs() (gas: 3267239)
[SKIP] testRemoveChainlogValues() (gas: 0)
[PASS] testRevertIfNotScheduled() (gas: 17640)
[PASS] testSparkSpellIsExecuted() (gas: 1975992)
[PASS] testUseEta() (gas: 352730)
[SKIP] testVestDAI() (gas: 0)
[SKIP] testVestMKR() (gas: 0)
[SKIP] testYankDAI() (gas: 0)
[SKIP] testYankMKR() (gas: 0)
Suite result: ok. 15 passed; 0 failed; 20 skipped; finished in 484.17s (1258.18s CPU time)
0xp3th1um commented 8 months ago

Handover and Merge Stage

SidestreamIcedMango commented 8 months ago

Handover and Merge Stage