Pm: Constantinople Progress Tracker

Created on 30 Jul 2018  Â·  68Comments  Â·  Source: ethereum/pm

This issue is meant to track the progress of client implementation and tests of the EIPs for the upcoming Constantinople hard fork.

Migrated to https://github.com/ethereum/pm/wiki/Constantinople-Progress-Tracker

Test Cases Spreadsheet

Most helpful comment

Is EIP-1108 and EIP-1109 going to be included in Constantinople ?

All 68 comments

Trinity Constantinople Milestone: https://github.com/ethereum/py-evm/milestone/2

Parity Ethereum:

Did we decide to drop EIP-210? https://github.com/paritytech/parity-ethereum/pull/5505

Is EIP-1108 and EIP-1109 going to be included in Constantinople ?

Trinity: Here is the issue link for EIP1052

https://github.com/ethereum/py-evm/issues/719

@Souptacular you can check EIP 145 for Trinity. It's implemented in https://github.com/ethereum/py-evm/pull/1134 and https://github.com/ethereum/py-evm/pull/1112 which are both merged in latest master

@Souptacular and EIP1052 landed in Trinity as well https://github.com/ethereum/py-evm/pull/1147

Updated!

Can we eventually add progress on the test cases written in https://github.com/ethereum/tests to the progress tracker, maybe with the number of implemented/merged test cases on the column for an EIP? @winsvega?

Have absolutely no overview on the current state there.

In this context I just rediscovered this test cases collection spreadsheet for Metropolis, is this still updated/cared for or is there an alternative collection like this existing?

yes. that google list is tracking new tests since before Metropolis. It is being updated.

@winsvega Ah great, would be really good if you guys can keep the doc as up-to-date as possible and also make it clear which tests are implemented and where to find the implementation (like being done in the RETURN CODES sheet e.g.). This really helps us a lot on the implementation side!

cpp-ethereum / EXTCODEHASH implemented.

We implemented CREATE2 in Trinity. I will add that in contrast to the other new opcodes though, this one hasn't received much testing yet

https://github.com/ethereum/py-evm/pull/1186

EthereumJ/Harmony:
EIP 145: Bitwise shifting instructions in EVM implemented
EIP 1052: EXTCODEHASH Opcode implemented
everything else in progress

Parity Ethereum / EIP-1234 _in progress_ https://github.com/paritytech/parity-ethereum/pull/9187

Added EIP-1234 to the tracker

Can the links to 145/1014 be updated to point to their respective eips.ethereum.org page? 1014 points to the pull request, which makes it difficult for people unfamiliar with git to read it.

Parity Ethereum merged EIP-1283 https://github.com/paritytech/parity-ethereum/pull/9319

Parity Ethereum PR for EIP-1234 is https://github.com/paritytech/parity-ethereum/pull/9480 now (merged)

Parity Ethereum is feature-complete. https://github.com/paritytech/parity-ethereum/pull/9505

@flygoing Done!

Chart updated.

@Souptacular : what about ᴇɪᴘ86 which was planned for Metropolis ?

@Souptacular I think the link is broken for geth - EIP 1283

It should be https://github.com/ethereum/go-ethereum/pull/17383

EthereumJ EIP-1283 PR merged, https://github.com/ethereum/ethereumj/pull/1173

EIP 145: Bitwise shifting instructions in EVM is done and tested in Nethermind, planning to work on all the remaining ones this week

EIP-1052 is done and tested in Nethermind

Nethermind EIP-1014 done

Nethermind EIP-1234 done

Nethermind EIP-1283 done

Nethermind all done, I will run available blockchain tests from ethereum/tests tomorrow to see if everything is fine.

Do we expect an ethereum/test branch for Constantinople? Noticed that develop branch has incorrect mix hashes, block rewards and stExtCodeHash tests missing. Does anyone have an info on the golden source of tests for Constantinople?

incorrect mixhashes are due to this change:
https://github.com/ethereum/tests/issues/480

stExtCodeHash are not ready.
The Constantinople tests are marked by Constantinople section in tests itself. no need to create separate branch.

EthereumJ/Harmony
Implemented:
EIP-1014
EIP-1283
EIP-1234
So everything is done for us, but as Github tests are not final, we are following it and testing how do we pass all new tests. It's continuous task and some bugs in our EIP implementations could appear.

Our tracker: https://github.com/ethereum/ethereumj/issues/1149

Net sstore also merged on Geth https://github.com/ethereum/go-ethereum/pull/17383 . We were waiting with this for a release, but postponed v1.8.16 for next Monday, so figured we can push it out now.

@Souptacular EIP 1234 just landed in Trinity https://github.com/ethereum/py-evm/pull/1303

EIP 1234 is merged in Mana https://github.com/poanetwork/mana/pull/447

EthereumJ. CREATE2 gas price update merged https://github.com/ethereum/ethereumj/pull/1204

I'm happy to add that Pantheon has added support for all the Constantinople EIPs, including the updated CREATE2 spec.

EthereumJS:
CREATE2 (EIP-1014):
Unknown -> WIP (https://github.com/ethereumjs/ethereumjs-vm/pull/329)
SSTORE (EIP-1283):
Unknown -> now merged, ready (https://github.com/ethereumjs/ethereumjs-vm/pull/367)
Difficulty Bomb (EIP-1234):
Unknown -> WIP (https://github.com/ethereumjs/ethereumjs-block/pull/54)

@Souptacular trinity just landed support for EIP-1283 https://github.com/ethereum/py-evm/pull/1410
Only thing left for us is to ensure we run all state tests for constantinople (which should land within the next days)

KEVM now supports constantinople: https://github.com/kframework/evm-semantics/pull/267

We will continue to test with more up-to-date versions of the test suite up until launch.

@Souptacular can you add KEVM to the client matrix in the first comment?

@dwightguth I think the first 4 columns we are a "Yes" on, but the last column we are an N/A on because we don't do any fork-choice/block-validation, only execution.

Pantheon's github repo is now open and can be linked: https://github.com/PegaSysEng/pantheon

Since joined forces have been announced to work on Mana, exthereum should be removed.

EthereumJS: CREATE2 (EIP-1014), Difficulty bomb (EIP-1234): WIP -> Complete

Might make sense to put this in the wiki, so everyone can edit it. Maybe directly here in the repository? Need a hand @lrettig @Souptacular ?

@5chdn This is the main working sheet for @winsvega to organize test creation, I think the wiki here wouldn't be the right place for this, let's please just stick to linking this as originally suggested.

Yeah, I'm just talking about "extending the head" post, it would be easier to have the ability to just edit a wiki somewhere instead of waiting for one person to do it. I'm not talking about adding the content of the links to the wiki.

I migrated the progress tracker to a wiki page at https://github.com/ethereum/pm/wiki/Constantinople-Progress-Tracker but it looks like it may still not have global edit access. @Souptacular will have to fix that.

@lrettig I set up the proper permissions now.

Amazing. Updated!

Our EthereumJS VM release v2.5.0 with full Constantinople support (and other goodies like consensus conformity and a revamped state manager) is finally out.

63

Moving the meta-EIP 1013 to final https://github.com/ethereum/EIPs/pull/1642

I think this tracker can be closed now.

Closing

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Souptacular picture Souptacular  Â·  7Comments

Souptacular picture Souptacular  Â·  7Comments

timbeiko picture timbeiko  Â·  9Comments

Souptacular picture Souptacular  Â·  3Comments

lrettig picture lrettig  Â·  8Comments