Add Support for EIP-1153 (Transient Storage) in the FEVM (FIP-0097)#1084
Add Support for EIP-1153 (Transient Storage) in the FEVM (FIP-0097)#1084rvagg merged 19 commits intofilecoin-project:masterfrom
Conversation
- Introduces support for EIP-1153: Transient Storage in the FEVM - Details lifecycle validation and implementation using `TLOAD` and `TSTORE` - Ensures compatibility with Ethereum contracts and tooling - Includes specifications, rationale, and considerations for adoption
rvagg
left a comment
There was a problem hiding this comment.
👍 excellent; just some inline notes about some things I think are missing from here
Co-authored-by: Rod Vagg <rod@vagg.org>
… transient-storage-draft
Co-authored-by: Rod Vagg <rod@vagg.org>
|
Thanks for the comments @rvagg ! Your feedback helps clarify many important aspects of this FIP and leaves to a more robust proposal overall! I got a little "nerd sniped" by the solidity version relationship to this FIP, and hope I didn't get too nuanced and abstract! Please share any additional comments and feedback to ensure all of your requests and ideas have been addressed and accommodated! Thanks again! |
|
@snissn one nit question I have is using "ephemeral" and "transient". Do they mean the same thing in the context of the FIP or do they mean separate concepts? |
|
Assigning FIP-0097. Please update PR title, filename, front matter, and readme. |
… transient-storage-draft
|
@luckyparadise thanks for your question! Reviewing the writing I see that the word usage of ephemeral can be creating confusion witihout adding much to the document. Transient storage is the technical term that has technical meaning. My intention behind my usage of ephemeral in this FIP write up was to be a descriptive term that doesn't insist on a precise technical purpose per se. I think it's an attempt I made to create a category for memory data and transient data that would be separate from storage data.. I think I can just delete the three instances of the word ephemeral in the FIP write up and it removes ambiguity and nothing is lost. Changed here b69533d |
Co-authored-by: Rod Vagg <rod@vagg.org>
Abstract
EIP-1153 defines transient storage as temporary data accessible only during the originating transaction, cleared automatically at the end of the transaction. This FIP adapts transient storage to the FEVM using
TLOADandTSTOREopcodes, ensuring compatibility with Ethereum contracts and libraries that rely on this feature. Lifecycle validation mechanisms enforce the transaction-scoped behavior of transient storage, achieving functional equivalence with Ethereum’s implementation and seamless integration with Filecoin’s architecture.Discussion: