Child of #1723 (Tier 4). Most complex tier; scheduled after Tiers 1–3/5 so it can reuse the storage + ABI lemma libraries.
Goal
Eliminate stmtTouchesUnsupportedCallSurface, stmtTouchesUnsupportedForeignSurface, stmtTouchesUnsupportedLowLevelSurface: low-level call/staticcall/delegatecall, returndataSize/returndataCopy/returndataOptionalBoolAt, extcodesize, calldatacopy, revertReturndata, externalCallBind, ecm, externalCall.
Strategy
- Model external calls as opaque state transitions with pre/post conditions (matching the existing ECM assumption pattern)
- Prove the compiled Yul call sequence satisfies those pre/post conditions
- External contract behavior stays an assumption (cannot prove other contracts correct)
Done when
Child of #1723 (Tier 4). Most complex tier; scheduled after Tiers 1–3/5 so it can reuse the storage + ABI lemma libraries.
Goal
Eliminate
stmtTouchesUnsupportedCallSurface,stmtTouchesUnsupportedForeignSurface,stmtTouchesUnsupportedLowLevelSurface: low-levelcall/staticcall/delegatecall,returndataSize/returndataCopy/returndataOptionalBoolAt,extcodesize,calldatacopy,revertReturndata,externalCallBind,ecm,externalCall.Strategy
Done when
sorry,make checkgreen, no differential-test regressions