Skip to content

Upgrade to OpenEthereum 2.6.8 (Istanbul support)#3558

Merged
evgenykuzyakov merged 7 commits into
evm-precompilefrom
evm-upgrade-istanbul
Nov 5, 2020
Merged

Upgrade to OpenEthereum 2.6.8 (Istanbul support)#3558
evgenykuzyakov merged 7 commits into
evm-precompilefrom
evm-upgrade-istanbul

Conversation

@artob
Copy link
Copy Markdown
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
Copy Markdown
Contributor

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

Comment thread runtime/near-evm-runner/src/near_ext.rs Outdated
@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
Comment thread runtime/near-evm-runner/src/near_ext.rs
@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