-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(opcodes/eip5656/mcopy): add mCopy opcode, EIP-5656 #12
base: v20.0.0-exrp
Are you sure you want to change the base?
Conversation
Per xrplevm/node#53 test guidelines. cast call 0xd990b46d17672700e285eaffa170b35c0beac33d "example()(bytes)" --rpc-url http://localhost:8545
0x12345600af151531 |
Hello @blewater, Thank you for your concern regarding this issue. We are aware that the current version of Evmos does not include the latest version of go-ethereum and, therefore, certain EIPs, such as EIP-5656, are not available. However, we have not yet specifically planned when we will update go-ethereum or which EIPs we intend to enable. That being said, we will keep this PR as a draft to assess its inclusion at the appropriate time. Thank you very much! |
Hi @GuillemGarciaDev, |
Thanks for raising your concerns, @blewater. We always appreciate feedback and contributions from the community.
To clarify, the control of Evmos remains with the Evmos team. This repository is simply a fork that includes minor modifications to ensure compatibility with the XRPL EVM. Since the proposed changes impact the core of Evmos, they are beyond the scope of this fork and would need to be addressed upstream. Additionally, if you aim to support Solidity 0.8.25, we must also implement several key EIPs to maintain compatibility, including: For further details, you can refer to the Solidity release notes here: https://soliditylang.org/blog/2024/01/26/solidity-0.8.24-release-announcement/ |
Description
This PR aims to add the
MCOPY (0x5e)
opcode to the EVM implementation in Evmos. TheMCOPY
opcode, introduced in Solidity 0.8.25, enables efficient memory copying within the EVM. This change ensures compatibility with contracts compiled using Solidity versions ^0.8.25 and resolves the issue where calls to functions utilizingMCOPY
fail with an "opcode not defined" error.The following changes have been implemented:
MCOPY (0x5e)
opcode to the EVM interpreter's opcode table.MCOPY
operation, including memory copying.MCOPY
implementation.Author Checklist
All items are required. Please add a note to the item if it is not applicable, and please add links to any relevant follow-up issues.
MCOPY
opcode inx/evm/core/vm/instructions.go
.x/evm/core/vm/instructions_test.go
.MCOPY
from the providedMCopyTest
contract to the local node by launching: local-node.shv20.0.0-exrp
Reviewers Checklist
All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.
MCOPY
and verified functionality).