Open
Description
Comprehensive high-level language support for transient storage decomposes into the following tasks:
Starting from the second step each step decomposes into a Yul and legacy part. We currently plan to start with Yul implementations and to merely backport functionality to legacy on demand.
Questions to be settled during the process:
- Layout of transient storage variables.
- current proposal: storage and transient storage have independent layouts (both starting at zero and overlapping), otherwise the layout (including packing) is the same between transient storage and storage.
- Autoclearing, no autoclearing, optional autoclearing.
- So far we assume that despite the connected dangers unconditional compiler-generated autoclearing is not expected and also not possible for all types. If we were to decide for opt-in or opt-out autoclearing behaviour, we would need to decide syntax for it. We're open to community input on the question.
- Given the design of transient storage there is unfortunately no optimal choice here; current tendency is to expose the bare EVM functionality directly in the first instance; only consider optional opt-in autoclearing separately.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
In Progress