Skip to content
This repository has been archived by the owner on Oct 4, 2019. It is now read-only.

WIP: Release 0.11.0 #41

Closed
wants to merge 2 commits into from
Closed

WIP: Release 0.11.0 #41

wants to merge 2 commits into from

Conversation

mersinvald
Copy link
Collaborator

@mersinvald mersinvald commented Apr 28, 2019

Version 0.11

What's new?

Network support

As of Version 0.11 SputnikVM passes every test in the ETH test suit up to Constantinople hard-fork,
which essentially means that it can be used with the ETH network.

Related Pull Requests:
Changes:
  • Byzantium opcodes implementation is tested and refined
  • The following opcodes are implemented and tested:
  • SSTORE opcode gas metering adjustments (EIP-1283)
  • Number of new and pre-0.11 interpreter bugs fixed

API

SputnikVM API is now more agile then ever: the new DynamicPatch API enables the patch-based configuration
to be performed at runtime, as opposed to static patches that were based on using the static generic types.
This change is particularly useful for multi-chain clients like multi-geth that cooperates with SputnikVM over
an FFI boundary. Now it may configure SputnikVM feature-wise in runtime, and not rely on a pre-defined set of network and fork specific constructors.
All that with keeping overhead as low as possible and completely zero-copy!

Therefore, we recommend switching to evm-network crate as a foundation for Patch-building,
evm-network-* crates are considered deprecated and may not be supported in the future releases.

Related Pull Requests:
Changes:
  • New evm-network with a set of precompiled contracts and re-exports of Patch and DynamicPatch APIs.
  • Breaking changes in the Patch trait and related code

Testing

Testing framework for the JsonTests (VMTests from ETH Test Suite) have been majorly reworked,
now it generates a separate native Rust test for each testcase in the Json files, for debugging and subset runs convenience.

Related Pull Requests:
Changes:
  • use of custom derive macro to generate tests from json files.
  • generate benchmarks using criterion.
  • update the tests from foundation upstream.

Documentation

Other changes

Related projects

  • evm-ffi received support of the DynamicPatch API.
  • Ethereum Classic specific APIs are deprecated in evm-ffi and are going to be removed in the future releases.

Closes #32

@mersinvald mersinvald changed the title Bump beta version 0.11.0-beta.2 WIP: Release 0.11.0 Apr 28, 2019
@mersinvald mersinvald added this to the Version 0.11 milestone Apr 29, 2019
@mersinvald mersinvald closed this Apr 29, 2019
@mersinvald mersinvald deleted the release/0.11.0-beta.2 branch April 29, 2019 00:28
@mersinvald mersinvald removed this from the Version 0.11 milestone Apr 29, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Release the 0.11
1 participant