Closed hexonaut closed 1 year ago
This is ready for review now. @gbalabasquer @megozu @The-Arbiter @rockyfour
Note that etherscan verification was done wIth GPL V3 instead of AGPL V3 (I think it's not a showstopper as the etherscan source code does have the correct license in the header).
In the interest of getting this deployed soon, can we keep all remaining review comments just to if any particular check or functionality is missing and not format, generalization of tests, etc.
The D3M sections looks good.
DIRECT_HUB
(0x12F36cdEA3A28C35aC8C6Cc71D9265c17C74A27F
) matches code in the repo, compiler version and optimization are ok. Constructor param is ok. Pause Proxy relied, deployer denied.DIRECT_MOM
(0x1AB3145E281c01a1597c8c62F9f060E8e3E02fAB
) matches code in the repo, compiler version and optimization are ok. Pause Proxy set as owner.DIRECT_COMPV2_DAI_ORACLE
(0x0e2bf18273c953B54FE0a9dEC5429E67851D9468
) matches code in the repo, compiler version and optimization are ok. Constructor params are ok. Pause Proxy relied, deployer denied.DIRECT_COMPV2_DAI_POOL
(0x621fE4Fde2617ea8FFadE08D0FF5A862aD287EC2
) matches code in the repo, compiler version and optimization are ok. Constructor params are ok. Pause Proxy relied, deployer denied.DIRECT_COMPV2_DAI_PLAN
(0xD0eA20f9f9e64A3582d569c8745DaCD746274AEe
) matches code in the repo, compiler version and optimization are ok. Constructor param is ok. Pause Proxy relied, deployer denied.D3M_COMP_BORROW_RATE
value (7535450719
) is correct from the math calculation and also matches one used in the integration test.D3M_CDAI
(0x5d3a536E4D6DbD6114cc1Ead35777bAB948E3643
) is the official cDAI tokenD3M_COMPTROLLER
(0x3d9819210A31b4961b30EF54bE2aeD79B9c9Cd3B
) is the comptroller in the official cDAI tokenD3M_COMP
(0xc00e94Cb662C3520282E6f5717214004A7f26888
) is the official COMP tokenD3M_TACK
(0xFB564da37B41b2F6B6EDcc3e56FbF523bD9F2012
) is the interestRateModel of the official cDAI tokenD3M_DELEGATE
(0x3363BAe2Fc44dA742Df13CD3ee94b6bB868ea376
) is the implementation of the official cDAI tokenHub
is fully set for Compound D3MMom
authority is correctly set with the Chief (for no delayed action)Pool
is fully set for Compound D3MPlan
is fully set for Compound D3M (including allowing Mom for disabling it)Oracle
is fully set for Compound D3MMCD_ESM
doesn't need to be relied in any of the D3M modules which has been added (Hub, Mom, Oracle, Pool nor Plan). All of them won't allow any harmful admin execution after ES.testDirectCompV2Integration
and other tests including D3M stuff look goodThe cD3M part LGTM.
Two minor changes. LMK when you guys think it's good to deploy. Again please just structural issues and missing checks, etc.
@The-Arbiter take your time. Thorough review is important.
cd3m part still good to deploy
L2Spell Review
LGTM
Ok everything outstanding should be resolved now. Waiting for final confirmation before deploying @megozu @The-Arbiter
I forgot to put part of my deploy stage review so here it is:
code --diff etherscan.sol github.sol
)Libraries Used
matches DssExecLib Latest Release
Running 1 test for src/test/starknet.t.sol:StarknetTests
[PASS] testStarknet() (gas: 2716118)
Test result: ok. 1 passed; 0 failed; finished in 136.81s
Running 20 tests for src/DssSpell.t.sol:DssSpellTest
[PASS] testCastCost() (gas: 2454060)
[PASS] testDirectCompV2Integration() (gas: 2964797)
[PASS] testFailTooEarly() (gas: 401840)
[PASS] testFailTooLate() (gas: 401685)
[PASS] testFailWrongDay() (gas: 401686)
[PASS] testFail_notScheduled() (gas: 14169)
[PASS] testIlkClipper() (gas: 4227150)
[PASS] testMKRPayments() (gas: 2467692)
[PASS] testMedianizers() (gas: 2460832)
[PASS] testNewChainlogValues() (gas: 2578334)
[PASS] testNewIlkRegistryValues() (gas: 2476975)
[PASS] testOnTime() (gas: 2450515)
[PASS] testSpellIsCast_GENERAL() (gas: 29143581)
[PASS] test_auth() (gas: 9223336852501768144)
[PASS] test_auth_in_sources() (gas: 9223336852484776805)
[PASS] test_bytecode_matches() (gas: 5128272)
[PASS] test_chainlog_values() (gas: 8129997)
[PASS] test_chainlog_version_bump() (gas: 4455745)
[PASS] test_nextCastTime() (gas: 404835)
[PASS] test_use_eta() (gas: 337923)
Test result: ok. 20 passed; 0 failed; finished in 1714.34s
Description
Contribution Checklist
(PE-<TICKET_NUMBER>)
Checklist
officeHours
modifier override30 days
unless otherwise specified)ETH_GAS="XXX" ETH_GAS_PRICE="YYY" make deploy
mainnet
contract on etherscanmake archive-spell
ormake date="YYYY-MM-DD" archive-spell
to make an archive directory and copyDssSpell.sol
,DssSpell.t.sol
,DssSpell.t.base.sol
, andDssSpellCollateralOnboarding.sol
squash and merge
this PR