Promoted from #1982 P1 to a standalone tracked issue (was previously only a roadmap bullet).
Problem
multicall(bytes[]) with self-delegatecall is currently a giant hand-rolled ECM: manual calldata length/offset walking via raw YulStmt, delegatecall, returndatacopy, revert bubbling, plus a delegatecall-context axiom (Morpho Midnight Contract.lean:22–95, Th0rgal/morpho-verity). Low-level delegatecall exists but is tracked under notModeledProxyUpgradeability.
Goal
Acceptance
Midnight multicall expressible as a standard helper; the delegatecall-context axiom and raw YulStmt introspection removed from the trust report.
Promoted from #1982 P1 to a standalone tracked issue (was previously only a roadmap bullet).
Problem
multicall(bytes[])with self-delegatecall is currently a giant hand-rolled ECM: manual calldata length/offset walking via rawYulStmt,delegatecall,returndatacopy, revert bubbling, plus a delegatecall-context axiom (Morpho MidnightContract.lean:22–95, Th0rgal/morpho-verity). Low-leveldelegatecallexists but is tracked undernotModeledProxyUpgradeability.Goal
bytes[]calldata iteration support (depends on the dynamic ABI codec, High-leverage roadmap to shrink ECM surface and manual modeling (dynamic ABI codec, typed dynamic CodeData/SSTORE2, packed storage layouts, transient, bitmap iteration, multicall/delegatecall) #1982 P0-1).multicallhelper with proven revert-bubbling semantics.Acceptance
Midnight multicall expressible as a standard helper; the delegatecall-context axiom and raw YulStmt introspection removed from the trust report.