oasisprotocol / oasisprotocol/oasis-sdk
runtime-sdk/evm: Support for EIP-5656 and EIP-1153 in Ethereum `cancun` EVM
Open
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
MCOPYopcode to the code base. Currently, copying memory requires developers to use two opcodes (MSTOREandMLOAD) and costs at least 96 gas. WithMCOPY, it only costs around 26 gas. This improvement makes smart contracts more efficient with zero trade-offs. - EIP-1153 proposal adds
TLOADandTSTOREopcodes 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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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