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

Upgrade to OpenEthereum 2.6.8 (Istanbul support) #3558

Merged
merged 7 commits into from
Nov 5, 2020

Conversation

artob
Copy link
Contributor

@artob artob commented Nov 3, 2020

As the next step in #3506, and following up from #3542, upgrade OpenEthereum from 2.6.2 (Aug 2019) to 2.6.8 (Dec 2019), the last release in the 2.6.x series.

This brings us up to par on the Istanbul hard fork, which incorporated many EIPs, changing gas metering and adding a new precompile as well as two new opcodes:

This PR includes an implementation of the CHAINID opcode. (The SELFBALANCE opcode doesn't need anything from our runtime.)

The upstream changelog for 2.6.8 is at: https://github.com/openethereum/openethereum/blob/v2.6.8/CHANGELOG.md

The upstream diff from 2.6.2 to 2.6.8 is at: openethereum/openethereum@v2.6.2...v2.6.8

@artob artob added C-enhancement Category: An issue proposing an enhancement or a PR with one. C-housekeeping Category: Refactoring, cleanups, code quality A-EVM Area: Native EVM implementation and support C-dependencies Category: Pull requests that update a dependency file labels Nov 3, 2020
@ailisp
Copy link
Member

ailisp commented Nov 4, 2020

Consider run runtime/near-evm-runner/tests/standard_ops.rs test and make it pass again locally. And add a test case for blake2 precompile function

@artob artob force-pushed the evm-upgrade-istanbul branch from ab2e04c to baeb9d9 Compare November 5, 2020 15:26
@artob artob requested a review from evgenykuzyakov November 5, 2020 15:32
@evgenykuzyakov evgenykuzyakov merged commit c78ba7c into evm-precompile Nov 5, 2020
@evgenykuzyakov evgenykuzyakov deleted the evm-upgrade-istanbul branch November 5, 2020 23:41
evgenykuzyakov pushed a commit that referenced this pull request Nov 12, 2020
As the next step in #3506, and following up from #3542 and #3558, upgrade Parity Ethereum (now OpenEthereum) from [2.6.8] (Dec 2019) to [2.7.2] (Feb 2020), the last release in the 2.x series.

This harmonizes our dependency graph with upstream, fixing numerous build errors from the upgrade and eliminating multiple versions of the same crates. This concerns the [bn], [ethabi], [ethabi-contract], [ethabi-derive], [ethereum-types], [keccak-hash], [primitive-types], and [uint] crates as well as their transitive dependencies and their interdependencies.

The [near/bn] fork exists to upgrade [bn]'s [rand] dependency. That's necessary because of a particularly complex dependency issue (rust-random/rand#645) in old versions of rand. We will eliminate the fork going forward once upstream upgrades their dependency (I will open a pull request for them).

The upstream changelog for 2.7.2 is at: https://github.com/openethereum/openethereum/blob/v2.7.2/CHANGELOG.md

The upstream diff from 2.6.8 to 2.7.2 is at: openethereum/openethereum@v2.6.8...v2.7.2

[2.6.8]: https://github.com/openethereum/openethereum/releases/tag/v2.6.8
[2.7.2]: https://github.com/openethereum/openethereum/releases/tag/v2.7.2

[near/bn]: https://github.com/near/bn
[bn]: https://crates.io/crates/bn
[ethabi]: https://crates.io/crates/ethabi
[ethabi-contract]: https://crates.io/crates/ethabi-contract
[ethabi-derive]: https://crates.io/crates/ethabi-derive
[ethereum-types]: https://crates.io/crates/ethereum-types
[keccak-hash]: https://crates.io/crates/keccak-hash
[primitive-types]: https://crates.io/crates/primitive-types
[rand]: https://crates.io/crates/rand
[uint]: https://crates.io/crates/uint
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-EVM Area: Native EVM implementation and support C-dependencies Category: Pull requests that update a dependency file C-enhancement Category: An issue proposing an enhancement or a PR with one. C-housekeeping Category: Refactoring, cleanups, code quality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants