Skip to content
This repository was archived by the owner on Apr 18, 2025. It is now read-only.

Conversation

@lispc
Copy link

@lispc lispc commented May 16, 2022

background: privacy-ethereum/zkevm-specs#202

  1. Constrain value_prev when needed: (1) value_prev.cur() == value.prev() when keys not changed, (2) constrain default prev value when keys changed
  2. Change rw value tuple to struct in evm_circuit::constraint_builder. It makes reading codes easier in IDE. Using meaning field names is less likely to introduce bugs. (eg: fix things likevalues.swap(4, 5))
  3. Assignment of rw table of evm circuit and state circuit shard much more codes. In fact rw table of evm circuit and state circuit are identical now.
  4. Change FieldExt to Field in some places. We should always use eth_types::Field.
  5. Use a constant bool generic to control state circuit to be "full" or "light"(disable lexicographic_ordering u16 lookup to reduce k. Since this contraint is almost impossible to be broken if assignment codes of state circuit are called). Use 'light state circuit' in opcodes tests. Reduce CI time 35min -> 17min.

@lispc lispc changed the title WIP unify rw table between evm circuit and state circuit refactor state circuit and rw table May 16, 2022
@lispc lispc changed the title refactor state circuit and rw table WIP refactor state circuit and rw table May 20, 2022
@lispc lispc force-pushed the feat/unify_rw_table branch from 0bd0da4 to 69542ce Compare May 25, 2022 15:52
@lispc lispc changed the title WIP refactor state circuit and rw table refactor state circuit and rw table May 30, 2022
@lispc lispc force-pushed the feat/unify_rw_table branch from f82b4c2 to f7d4bb1 Compare June 6, 2022 14:10
@lispc lispc force-pushed the feat/unify_rw_table branch from a1216fd to bf77296 Compare July 4, 2022 03:31
@lispc lispc closed this Jul 26, 2022
@lispc lispc deleted the feat/unify_rw_table branch October 31, 2022 12:22
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants