Skip to content
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

Add support for simple subroutines (EIP-2315, scheduled for Berlin) #1926

Open
cburgdorf opened this issue May 18, 2020 · 5 comments · May be fixed by #1937
Open

Add support for simple subroutines (EIP-2315, scheduled for Berlin) #1926

cburgdorf opened this issue May 18, 2020 · 5 comments · May be fixed by #1937

Comments

@cburgdorf
Copy link
Contributor

What is wrong?

EIP 2315 introduces three opcodes to support subroutines: BEGINSUB, JUMPSUB and RETURNSUB which Py-EVM currently does not yet support.

How can it be fixed

  1. Read the EIP
  2. Add support for the three opcodes
  3. Add tests for all official test cases
@cburgdorf
Copy link
Contributor Author

I'm going to look into this.

@Peppece
Copy link

Peppece commented May 26, 2020

Can I take a shot at this? seems an interesting job

@cburgdorf
Copy link
Contributor Author

cburgdorf commented May 26, 2020

@Peppece I started with this today. I have a rough implementation and are now trying to work myself through the test cases that are specified in the EIP.

I also believe that some familiarity with the code base would be good to work on this issue. That said, if you think this would make a great code challenge for you then I'm happy to throw my code away and take yours!

I propose to put my code away for some days and wait for you to create a PR to show some progress on the issue. I would recommend to base your work on #1933 which has the basic boilerplate code to support the upcoming Berlin fork.

You may also want to look into test_opcodes.py to get a sense for how the other opcode tests are written.

Please let me know if you want to take a stab on that or find something else. For instance, there's also #1927 that needs to be tackled for the upcoming Berlin fork.

@Peppece
Copy link

Peppece commented May 26, 2020

Awesome, thank you soo much! I’ll dig this and get back asap. @cburgdorf

@Peppece Peppece linked a pull request May 28, 2020 that will close this issue
2 tasks
@carver carver mentioned this issue Feb 19, 2021
8 tasks
@carver
Copy link
Contributor

carver commented Mar 1, 2021

@Peppece We'll save this for you until all the other EIPs are done. Can't save it too long though, because the mainnet date approaches.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants