Skip to content

Add Support for EIP-1153 (Transient Storage) in the FEVM (FIP-0097)#1084

Merged
rvagg merged 19 commits intofilecoin-project:masterfrom
snissn:transient-storage-draft
Dec 11, 2024
Merged

Add Support for EIP-1153 (Transient Storage) in the FEVM (FIP-0097)#1084
rvagg merged 19 commits intofilecoin-project:masterfrom
snissn:transient-storage-draft

Conversation

@snissn
Copy link
Copy Markdown
Contributor

@snissn snissn commented Nov 23, 2024

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 TLOAD and TSTORE opcodes, 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:

- 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
Comment thread FIPS/fip-draft_transient_storage.md Outdated
Comment thread FIPS/fip-draft_transient_storage.md Outdated
Comment thread FIPS/fip-draft_transient_storage.md Outdated
Comment thread FIPS/fip-draft_transient_storage.md
Comment thread FIPS/fip-draft_transient_storage.md
Comment thread FIPS/fip-draft_transient_storage.md
Comment thread FIPS/fip-draft_transient_storage.md
Copy link
Copy Markdown
Member

@rvagg rvagg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 excellent; just some inline notes about some things I think are missing from here

@snissn
Copy link
Copy Markdown
Contributor Author

snissn commented Nov 25, 2024

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!

@luckyparadise
Copy link
Copy Markdown
Contributor

@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?

Copy link
Copy Markdown
Member

@jsoares jsoares left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nothing substantive to add to @rvagg's excellent feedback. Provided the outstanding comments are addressed, this looks good to go.

Comment thread FIPS/fip-draft_transient_storage.md Outdated
Comment thread FIPS/fip-draft_transient_storage.md Outdated
Comment thread FIPS/fip-draft_transient_storage.md Outdated
@jsoares
Copy link
Copy Markdown
Member

jsoares commented Nov 28, 2024

Assigning FIP-0097. Please update PR title, filename, front matter, and readme.

@snissn
Copy link
Copy Markdown
Contributor Author

snissn commented Dec 5, 2024

@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

Comment thread FIPS/fip-0097.md
snissn and others added 2 commits December 10, 2024 11:04
@snissn snissn requested a review from rvagg December 10, 2024 21:22
@anorth anorth changed the title Add Support for EIP-1153 (Transient Storage) in the FEVM Add Support for EIP-1153 (Transient Storage) in the FEVM (FIP-0097) Dec 11, 2024
Copy link
Copy Markdown
Member

@anorth anorth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Editorial 👍

@rvagg rvagg merged commit a616239 into filecoin-project:master Dec 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants