Add support for transient storage
- Dominant language
- Rust
- Stars
- 1.7k
- Forks
- 218
- Avg merge
- 1d 7h
- Merged PRs (30d)
- 6
Description
### What is wrong?
There is currently no way to use `tstore` or `tload` in Fe.
see https://docs.soliditylang.org/en/latest/yul.html#evm-dialect
### How can it be fixed
- add `__tstore` and `__tload` [intrinsics](https://github.com/ethereum/fe/blob/d1f633273952b2edec3a31d1a584a9d0992d34bc/crates/analyzer/src/builtins.rs#L40)
- add `evm::tstore` and `evm::tload` to the [std lib](https://github.com/ethereum/fe/blob/d1f633273952b2edec3a31d1a584a9d0992d34bc/crates/library/std/src/evm.fe)
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading crates/analyzer/src/builtins.rs and crates/library/std/src/evm.fe, using the linked Solidity Yul EVM-dialect documentation for the tstore and tload semantics. Done means Fe exposes __tstore and __tload intrinsics and evm::tstore and evm::tload in the standard library.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- blockchain, compilers
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 48/100