forked from BuildOnViction/tomochain-v1
-
Notifications
You must be signed in to change notification settings - Fork 0
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
TOMO + EVMC6 + HERA #9
Draft
thanhnguyennguyen
wants to merge
20
commits into
master
Choose a base branch
from
evmc-support
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Repository owner
locked as off-topic and limited conversation to collaborators
Jun 6, 2019
thanhnguyennguyen
force-pushed
the
evmc-support
branch
from
June 10, 2019 08:38
c381b81
to
a987f62
Compare
thanhnguyennguyen
changed the title
TOMO + HERA with EVMC support
TOMO + HERA with EVMC-v6 support
Jun 10, 2019
thanhnguyennguyen
changed the title
TOMO + HERA with EVMC-v6 support
TOMO + EVMC6 + HERA
Jun 12, 2019
thanhnguyennguyen
force-pushed
the
master
branch
from
September 29, 2019 03:24
98ac533
to
fb6e40a
Compare
- Define an Interpreter interface - One contract can call contracts from other interpreter types. - Pass the interpreter to the operands instead of the evm. This is meant to prevent type assertions in operands.
Interpreter initialization is left to the PRs implementing them. Options for external interpreters are passed after a colon in the `--vm.ewasm` and `--vm.evm` switches.
govendor fetch github.com/ethereum/evmc/bindings/go/evmc@=v6.0.2
Makes Interface interface a bit more stateless and abstract. Obviously this change is dictated by EVMC design. The EVMC tries to keep the responsibility for EVM features totally inside the VMs, if feasible. This makes VM "stateless" because VM does not need to pass any information between executions, all information is included in parameters of the execute function.
thanhnguyennguyen
force-pushed
the
evmc-support
branch
from
September 29, 2019 03:29
a987f62
to
feff31f
Compare
thanhnguyennguyen
force-pushed
the
master
branch
from
September 29, 2019 03:29
fb6e40a
to
b46882d
Compare
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Ref: ethereum#17954
In this case the built library will be placed at build/src/libhera/libhera.so on Linux or build/src/libhera/libhera.dylib on MacOS.
engine=<engine>
will select the underlying WebAssembly engine, where the only accepted values currently arebinaryen
,wabt
, andwavm
reject
will reject any EVM1 bytecode with an error (the default setting)fallback
will allow EVM1 bytecode to be passed through to the client for executionevm2wasm
will enable transformation of bytecode using the EVM Transcompilerrunevm
will transform EVM1 bytecode using runevmAdditional EVMC options can be provided after a comma. Hera options are documented here