A simulator that takes a proxy and two implementations (current and
next), runs the upgrade, and produces three panels: Issues
Found, Storage Layout Comparison, and Selector Comparison.
Why it exists
Proxy upgrades introduce two classes of silent bug — storage-layout
collisions and selector drift. Running the upgrade in a sandbox and
surfacing those comparisons catches the bugs before the real
upgrade is pushed on-chain.
Who uses it
Auditor — verifies that a proposed upgrade is safe.
Protocol engineer — checks their own upgrade locally before
proposing it.
How to open it
Sidebar → Simulation → Upgrade Simulator.
From /tools → Upgrade Simulator.
Direct URL — /upgrade-simulator.
Using the page
Simulation Parameters — pick the proxy contract (Source) and
the new implementation (Target). The Target supports two modes:
Workspace asset and Bytecode. Optionally add
comma-separated Test Selectors.
Simulate Upgrade — runs the simulation.
Verdict card — shows Upgrade Safe or Issues Detected.
Issues Found — structured list of detected issues.
Storage Layout Comparison — side-by-side slot view of
Current Implementation and New Implementation, with a Storage
Collisions sub-table when applicable.