argotorg / argotorg/fe

Add support for transient storage

Open
#978 8 comments 0 reactions 0 assignees View on GitHub
comp: compiler comp: std-lib good first issue
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.