Add MIP-X66 - #695
Add MIP-X66#695cnobleshriver wants to merge 3 commits into
Conversation
MIP-X68: Base and Optimism Collateral Factor UpdatesSummaryReduces collateral factors on four volatile-asset markets (Base: WELL, MORPHO, AERO; OP Mainnet: VELO) per Anthias Labs' September 15, 2026 risk recommendation, executed cross-chain from the Ethereum governance hub.
Parameter cross-check — all three sources agree:
Forum source: forum.moonwell.fi/t/anthias-labs-risk-parameter-recommendations/1759/23 (AnthiasLabs, 2026-09-15). The VELO 62% starting point is corroborated in-repo by MIP-X66, which set RecommendationReady to execute — parameters match the risk partner's recommendation exactly, and all four actions are asserted in Gaps & IssuesNo issues found — all onchain actions are validated. Notes considered and dismissed as non-gaps:
Verification caveat: this sandbox had no RPC or Onchain Actions
Validation path: |
|
anajuliabit
left a comment
There was a problem hiding this comment.
Review — MIP-X68 collateral factor updates
Verdict: merge after fixes. The parameters are right; the open items are process, not numbers.
Verified correct
Read live on-chain while reviewing (Base 8453 / OP 10):
| Market | Unitroller | Current CF on-chain | Proposed | Calldata word |
|---|---|---|---|---|
MOONWELL_WELL 0xdC7810B47eAAb250De623F0eE07764afa5F71ED1 |
Base 0xfBb21d0380beE3312B33c4353c8936a0F13EF26C |
6.5e17 |
0.55e18 |
0x…7a1fe1602770000 |
MOONWELL_MORPHO 0x6308204872BdB7432dF97b04B42443c714904F3E |
Base | 6.5e17 |
0.6e18 |
0x…853a0d2313c0000 |
MOONWELL_AERO 0x73902f619CEB9B31FD8EFecf435CbDf89E369Ba6 |
Base | 6.5e17 |
0.6e18 |
0x…853a0d2313c0000 |
MOONWELL_VELO 0x866b838b97Ee43F2c818B3cb5Cc77A0dc22003Fc |
OP 0xCa889f40aae37FFf165BccF69aeF1E82b5C511B9 |
6.2e17 |
0.6e18 |
0x…853a0d2313c0000 |
- Anthias Labs post #23 (2026-09-15) recommends exactly these four changes and no others — no fifth market, no differing target.
- Pinned CID matches the markdown byte for byte: sha256 of
x68.mdre-encodes tobafkreiclk7wvdv5dkngmk5mjtni5ada3vq3zhfdig57zvbmq6zeiq3g35e. - JSON shape matches the house convention for
MarketUpdateV2Template(x61 / x63):reserveFactor: -1andirm: ""are the skip sentinels, emptyirModels, no1284block so_hasMoonbeamActionsis false and fork 0 is never touched. x68.sh: shebang at byte 1, mode100755in the index, exportsJSON_PATH(notMIP_REWARDS_PATH),PRIMARY_FORK_ID=3=ETHEREUM_FORK_ID, matchingMarketUpdateV2Template.primaryForkId().Comptroller._setCollateralFactorfails silently with an error code (no revert) when the underlying price is zero. All four oracles answer non-zero right now — Base WELL2e15, MORPHO2.4266e18, AERO6.4782e17, OP VELO2.7659e16— so that branch is not reachable, and_validateCFasserts the stored mantissa afterwards regardless.
Findings
1. Medium — CI has not verified the head commit.
All 13 workflows on 46ec7a55 are action_required. That commit is the pin bot's push with GITHUB_TOKEN, which does not retrigger workflows. The green run is on 078a7fed, which predates the descriptionUri line — and that line is precisely what changes the propose() calldata. Push any commit as yourself (or re-run the checks) so the simulation runs against the head as it will be submitted.
2. Low — the calldata in the PR body is stale.
Its tail decodes to the full markdown, because it was printed before the pin commit landed. With descriptionUri now in mips.json, the template injects ipfs://bafkrei… instead. Do not submit from the hex in the description; regenerate after fix 1.
3. Low — make proposal-sh MIP=mip-x68 will fail as-is.
script/proposals/write-proposal-sh.sh infers the template only for rewards MIPs (via MIP_REWARDS_PATH); otherwise it falls back to ls <dir>/*.sol, and a template-only MIP folder has no .sol. It exits with "cannot infer the proposal .sol". Submit with the template exported:
TEMPLATE=proposals/templates/MarketUpdateV2.sol make proposal-sh MIP=mip-x68
4. Low — PR title says "Add MIP-X66".
This adds MIP-X68; X66 is a different, already-submitted proposal (id 185). A squash merge would land that wrong title in history.
5. Info — the liquidation snapshot ages before execution.
At the 2026-09-15 snapshot the forum measured newly liquidatable exposure as WELL 2 accounts / $34.19, AERO 1 / $150.82, VELO 1 / $2,394.80, MORPHO none. Execution lands roughly five days after submission, so re-measure before executing rather than relying on those figures.
Not verified
No local simulation was run with descriptionUri present — finding 1 is the fix for that. Otherwise the identical file content already passed the full suite on 078a7fed.
|
Summary
Proposal to implement collateral factor changes as part of Anthias Labs monthly parameter recommendations.
Simulation output
== Logs ==
Creating fork: moonbeam (fork id 0)...
WARNING: moonbeam RPC unavailable; fork id 0 is a placeholder. Proposals with Moonbeam actions will revert.
Creating fork: base (fork id 1)...
Creating fork: optimism (fork id 2)...
Creating fork: ethereum (fork id 3)...
All forks created successfully
--------------- Proposal Description ----------------
MIP-X68: Base and Optimism Collateral Factor Updates
Summary
This proposal implements the collateral factor reductions recommended by
Anthias Labs on September 15, 2026
for WELL, MORPHO, and AERO on Base and VELO on OP Mainnet.
Proposed Changes
----------------- Proposal Actions ------------------
0xe4028eee000000000000000000000000866b838b97ee43f2c818b3cb5cc77a0dc22003fc0000000000000000000000000000000000000000000000000853a0d2313c0000
Proposal type: Optimism
0xe4028eee000000000000000000000000dc7810b47eaab250de623f0ee07764afa5f71ed100000000000000000000000000000000000000000000000007a1fe1602770000
Proposal type: Base
0xe4028eee0000000000000000000000006308204872bdb7432df97b04b42443c714904f3e0000000000000000000000000000000000000000000000000853a0d2313c0000
Proposal type: Base
0xe4028eee00000000000000000000000073902f619ceb9b31fd8efecf435cbdf89e369ba60000000000000000000000000000000000000000000000000853a0d2313c0000
Proposal type: Base
----------------- Proposal Calldata ------------------
0xf272564900000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000008800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000098f3c9e6e3face36baad05fe09d375ef1464288b00000000000000000000000098f3c9e6e3face36baad05fe09d375ef1464288b0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000004800000000000000000000000000000000000000000000000000000000000000404b19a437e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003800000000000000000000000008b621804a7637b781e2bbd58e256a591f2df7d510000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000003000000000000000000000000fbb21d0380bee3312b33c4353c8936a0f13ef26c000000000000000000000000fbb21d0380bee3312b33c4353c8936a0f13ef26c000000000000000000000000fbb21d0380bee3312b33c4353c8936a0f13ef26c00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000044e4028eee000000000000000000000000dc7810b47eaab250de623f0ee07764afa5f71ed100000000000000000000000000000000000000000000000007a1fe1602770000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044e4028eee0000000000000000000000006308204872bdb7432df97b04b42443c714904f3e0000000000000000000000000000000000000000000000000853a0d2313c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044e4028eee00000000000000000000000073902f619ceb9b31fd8efecf435cbdf89e369ba60000000000000000000000000000000000000000000000000853a0d2313c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000244b19a437e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000001c000000000000000000000000017c9ba3fda7ec71ccfd75f978ef31e21927aff3d000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000ca889f40aae37fff165bccf69aef1e82b5c511b900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000044e4028eee000000000000000000000000866b838b97ee43f2c818b3cb5cc77a0dc22003fc0000000000000000000000000000000000000000000000000853a0d2313c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032223204d49502d5836383a204261736520616e64204f7074696d69736d20436f6c6c61746572616c20466163746f7220557064617465730a0a23232053756d6d6172790a0a546869732070726f706f73616c20696d706c656d656e74732074686520636f6c6c61746572616c20666163746f7220726564756374696f6e73207265636f6d6d656e6465642062790a5b416e7468696173204c616273206f6e2053657074656d6265722031352c20323032365d2868747470733a2f2f666f72756d2e6d6f6f6e77656c6c2e66692f742f616e74686961732d6c6162732d7269736b2d706172616d657465722d7265636f6d6d656e646174696f6e732f313735392f3233290a666f722057454c4c2c204d4f5250484f2c20616e64204145524f206f6e204261736520616e642056454c4f206f6e204f50204d61696e6e65742e0a0a23232050726f706f736564204368616e6765730a0a7c204e6574776f726b202020207c204d61726b6574207c20506172616d657465722020202020202020207c2043757272656e742056616c7565207c2050726f706f7365642056616c7565207c0a7c202d2d2d2d2d2d2d2d2d2d207c202d2d2d2d2d2d207c202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d207c202d2d2d2d2d2d2d2d2d2d2d2d2d207c202d2d2d2d2d2d2d2d2d2d2d2d2d2d207c0a7c2042617365202020202020207c2057454c4c2020207c20436f6c6c61746572616c20466163746f72207c2036352520202020202020202020207c203535252020202020202020202020207c0a7c2042617365202020202020207c204d4f5250484f207c20436f6c6c61746572616c20466163746f72207c2036352520202020202020202020207c203630252020202020202020202020207c0a7c2042617365202020202020207c204145524f2020207c20436f6c6c61746572616c20466163746f72207c2036352520202020202020202020207c203630252020202020202020202020207c0a7c204f50204d61696e6e6574207c2056454c4f2020207c20436f6c6c61746572616c20466163746f72207c2036322520202020202020202020207c203630252020202020202020202020207c0a000000000000000000000000000000000000000000000000000000000000
Notes
https://forum.moonwell.fi/t/anthias-labs-risk-parameter-recommendations/1759/23
Checklist
General
forge buildclean (no new warnings)forge testpassing locally for new/modified testsnpm run lintandnpm run prettiercleanmake slitherreviewed (no new findings, or findings justified in PR)@security-auditoragent against new/modified contractsIf this PR adds a new MIP
id: 0set inproposals/mips/mips.jsonproposals/mips/mip-{chain}{number}/contains the three required files:.sh,.json,.md.shsetsJSON_PATH,DESCRIPTION_PATH,PRIMARY_FORK_IDproposals/Addresses.solorchains/*.json— nothing hardcodedPRIMARY_FORK_IDTemporalGovernorexpectationsIf this PR modifies existing protocol state (oracle swaps, proxy upgrades, IRM changes, comptroller config)
beforeSimulationHook()captures downstream outputs (prices, rates, balances)validate()asserts those outputs are preserved (see MIP-B57 pattern)Proposal summary bot
<!-- proposal-summary -->comment from theProposal Summaryworkflow