Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
EIP 1153 Transient Storage
This PR translate EIP-1553 into the Yellow Paper.
Here is the PDF version of those changes: Paper.pdf
Definition
We formally define the Transient Storage as$\boldsymbol{\theta}$ (symbol not already used in the paper), in section 6. Transaction Execution.
Screenshot
Updating functions$\Theta$ , $\Lambda$ and $\Xi$
We updated every occurrence of the Message Call function$\boldsymbol{\Theta}$ to incorporate transient storage $\boldsymbol{\theta}$ as the second parameter and new resultant transient storage $\boldsymbol{\theta}'$ as the last returned parameter.
Screenshot
We updated every occurrence of the Create function$\boldsymbol{\Lambda}$ to incorporate transient storage $\boldsymbol{\theta}$ as the second parameter and new resultant transient storage $\boldsymbol{\theta}'$ as the last returned parameter.
Screenshot
We updated every occurrence of the Execution function$\boldsymbol{\Xi}$ to incorporate transient storage $\boldsymbol{\theta}$ as the second parameter and new resultant transient storage $\boldsymbol{\theta}'$ as the second returned parameter.
Screenshot
STATICCALL Exception
We added$\small{TSTORE}$ to the list of forbidden opocodes during a static execution.
Screenshot
Gas cost
We added$\small{TLOAD}$ and $\small{TSTORE}$ to gas opcode categories.
Screenshot
We added a new fee tier for that category.
Screenshot
Finally, we updated the gas cost function$C$ to handle those new opcodes.
Screenshot
Opcodes Definition
We added$\small{TLOAD}$ and $\small{TSTORE}$ to the list of opcodes.
Screenshot