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 custom interpreter to t8n evm config #505

Merged
merged 4 commits into from
Jan 23, 2023

Conversation

theshoe1029
Copy link
Contributor

No description provided.

theshoe1029 and others added 4 commits November 6, 2022 13:10
Date: 2022-11-07 10:03:55-08:00
Signed-off-by: meows <[email protected]>
… interpreter when set

Date: 2022-11-07 10:04:36-08:00
Signed-off-by: meows <[email protected]>
Date: 2022-11-07 10:17:54-08:00
Signed-off-by: meows <[email protected]>
@meowsbits
Copy link
Member

meowsbits commented Nov 7, 2022

Hey @theshoe1029, great idea! Thanks for taking this on. I've pulled your patch for review and have made a few additions, PTAL. Generally, I made sure that the flag is

  • added to evm t8n and evm statetest
  • implemented with the EVM lib's initEVMC call if set (also now for geth)

Here's an example with an EVMOne external EVM.

./build/bin/evm statetest --vm.evm build/_workspace/evmone/lib/libevmone.so ./tests/testdata/LegacyTests/Constantinople/GeneralStateTests/stExample/add11.json 
[
  {
    "name": "add11",
    "pass": true,
    "fork": "Byzantium"
  },
  {
    "name": "add11",
    "pass": true,
    "fork": "Constantinople"
  },
  {
    "name": "add11",
    "pass": true,
    "fork": "EIP158"
  },
  {
    "name": "add11",
    "pass": true,
    "fork": "Homestead"
  },
  {
    "name": "add11",
    "pass": true,
    "fork": "ConstantinopleFix"
  },
  {
    "name": "add11",
    "pass": true,
    "fork": "EIP150"
  },
  {
    "name": "add11",
    "pass": true,
    "fork": "ETC_Agharta"
  },
  {
    "name": "add11",
    "pass": true,
    "fork": "ETC_Atlantis"
  },
  {
    "name": "add11",
    "pass": true,
    "fork": "Frontier"
  }
]

@meowsbits
Copy link
Member

meowsbits commented Nov 7, 2022

Note that the EVMC binding that core-geth currently uses is limited to Version 7, which is not the latest version, and does not provide support for EVM upgrades from Berlin onward yet, so its a little outdated at this point. If you're interested in helping move that further, your help would be very welcome; see #506 for reference and further discussion if you intend to start in this direction. Cheers!

@meowsbits meowsbits mentioned this pull request Nov 7, 2022
@theshoe1029
Copy link
Contributor Author

Thanks for the additions, I saw you started working on #507 but I'd be happy to help in any way I can.

@meowsbits meowsbits merged commit ad28143 into etclabscore:master Jan 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants