oasisprotocol / oasisprotocol/oasis-sdk

runtime-sdk/evm: Support for EIP-5656 and EIP-1153 in Ethereum `cancun` EVM

Open
#1,671 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

c:deps c:runtime-sdk enhancement m:evm
Dominant language
Rust
Stars
90
Forks
35
Avg merge
5d 9h
Merged PRs (30d)
5

Description

As of Solidity 0.8.25 the default EVM version is dencun which introduces two EIPs

  • EIP-5656 proposal adds MCOPY opcode to the code base. Currently, copying memory requires developers to use two opcodes (MSTORE and MLOAD) and costs at least 96 gas. With MCOPY, it only costs around 26 gas. This improvement makes smart contracts more efficient with zero trade-offs.
  • EIP-1153 proposal adds TLOAD and TSTORE opcodes to enable transient storage or medium-term memory for communication within complex transactions. This means the memory will be accessible to all function calls within the transaction and will be cleared once it’s completed.

Contracts compiled with Solidity 0.8.25 may fail to execute if they use functionality which emits these opcodes.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue targets runtime-sdk/evm; start by inspecting the EVM opcode execution entry points and locating relevant tests. Done means contracts compiled with Solidity 0.8.25 that use MCOPY, TLOAD, and TSTORE execute successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust, solidity
Domain
blockchain
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.