You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Verity has no support for Solidity immutable variables. Constructor-set values that solc embeds in runtime bytecode must currently be modeled as ordinary storage slots.
Concrete instance from the Morpho Midnight port (Th0rgal/morpho-verity): INITIAL_CHAIN_ID is modeled as storage slot 1024 instead of a bytecode constant (Midnight/Contract.lean:2425), with the mapping doc noting "until immutable support lands".
Why it matters
Fidelity: slot-modeled immutables silently change the storage footprint vs the Solidity source, so storage-layout reports and the "source faithfulness" column cannot be exact.
Problem
Verity has no support for Solidity
immutablevariables. Constructor-set values that solc embeds in runtime bytecode must currently be modeled as ordinary storage slots.Concrete instance from the Morpho Midnight port (Th0rgal/morpho-verity):
INITIAL_CHAIN_IDis modeled as storage slot 1024 instead of a bytecode constant (Midnight/Contract.lean:2425), with the mapping doc noting "until immutable support lands".Why it matters
setimmutable/loadimmutablein deploy/runtime code; Verity's output cannot shape-match this category.Scope sketch
immutable NAME : Typedeclared in the contract block, assignable only in the constructor.ImmutableRefvalue kind (not a storage slot), with deploy-time substitution semantics.setimmutable/loadimmutable(or the equivalent literal-patching layout solc uses).SupportedSpecaccordingly.Not covered elsewhere
Absent from #1982 (all tiers) and from #1724's open parity scope. Filed as a result of the 2026-06-12 Morpho fidelity analysis.