zkevm-circuits icon indicating copy to clipboard operation
zkevm-circuits copied to clipboard

Towards Shanghai Upgrade

Open lispc opened this issue 2 years ago • 3 comments
trafficstars

Describe the feature you would like

I list the steps to do:

  1. change golang tracer to latest geth #1363
  2. change some opcodes implementation: initcode gas change & prevrandao
  3. add new opcodes like push0 https://github.com/privacy-scaling-explorations/zkevm-circuits/pull/1361
  4. change submodule revision inside testool

anything missing?

It may be an "atomic" change, we can only choose fork like london vs shanghai, it is difficult & meaningless to make our circuit behavior as london + push0.

Additional context

No response

lispc avatar Apr 16 '23 02:04 lispc

For EIPs, I list them in a separate session so that we can track decisions of what EIP to include in zkevm in the future.

Here's the list of EIPs in Shanghai upgrade:

Paris upgrade

London upgrade

  • [ ] [EIP-1559] #69
    • https://github.com/scroll-tech/zkevm-circuits/pull/1066

ChihChengLiang avatar Apr 21 '23 10:04 ChihChengLiang

another remainder is that we need to support prevrandao opcode (renamed from DIFFICULTY). I make this change https://github.com/scroll-tech/zkevm-circuits/blob/1ea9b5970ff873191de29e625687765f427326dd/bus-mapping/src/circuit_input_builder/block.rs#L119-L127 to be compatible with latest node/libs.

lispc avatar Apr 21 '23 11:04 lispc

We have to update the version of Ethereum tests. @adria0 will file an issue for it.

ChihChengLiang avatar Aug 16 '23 09:08 ChihChengLiang