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

Audit Fixes EIP2930/1559 TxCircuit Dynamic Section Transitions #1176

Merged
merged 18 commits into from
Apr 24, 2024

Conversation

darth-cy
Copy link

Description

Refactor transitional constraints for calldata and access_list sections within TxCircuit.

  • Init conditions for the dynamic section can be either calldata or access list.
  • Tail-end transition between these two types of dynamic sections.

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

@darth-cy darth-cy marked this pull request as draft March 26, 2024 00:21
@darth-cy darth-cy marked this pull request as ready for review April 3, 2024 20:24
@darth-cy darth-cy self-assigned this Apr 3, 2024
@darth-cy darth-cy marked this pull request as draft April 19, 2024 01:30
@darth-cy darth-cy marked this pull request as ready for review April 19, 2024 01:31
@lispc lispc merged commit bb8ab7f into audit/1559-rlp Apr 24, 2024
29 of 30 checks passed
@lispc lispc deleted the audit/1559-rlp-tx-circuit-dynamics branch April 24, 2024 02:23
lispc added a commit that referenced this pull request Apr 24, 2024
* Correct typo

* Correct RLC

* Change tag column status

* Add tx_nonce consistency

* Remove vestige gadget

* Add v constraint for 1559/2930

* Constrain depth consistency for fsm state transition

* Correct q_first query for initial num_all_txs_acc condition

* Ensure continuity of sectional flag is_calldata and is_access_list

* Remove tx unchanged constraint for dynamic sectional transition

* Add tx_id constraints in dynamic section

* Constrain access list tx table fields according to AccessListAddressLen

* Constrain is_padding_tx

* Add constraint for id calculation in rlp_decoding_table

* Remove redundant boolean requirements

* Add init condition for access_list_idx and storage_key_idx

* Turn on value_is_zero for access list len

* Remove whitespace

* Add byte_idx to PUSH/POP lookup correspondence

* fmt

* Update cargo

* Resolve build issues

* fmt and clippy

* Recover tests

* Correct gate name

* Remove debug flags

* fmt

* cargo

* Revert ethers-core branch

* cargo

* Restrict booleans

* fmt

* Audit Fixes EIP2930/1559 RLP Decoding Table Correspondence (#1181)

* Remove debug flags

* Add decoding table PUSH lookup correspondence

* Complete Stack Op Correspondence

* fmt

* Correct lookup constraint

* Remove unused macro

* fmt

* Correct lookup constraint for pre 2930 txs

* fmt

* Adjust comments

* fmt

* Add lookup indicator column for state machine

* Add correct condition for stack op lookups

* Complete PUSH op lookup

* Correct POP op lookup

* Correct PUSH lookup

* fmt

* Add backward compatibility for eip155 and pre155

* Add al_idx to input expression

* Add access list idx to PUSH correspondence

---------

Co-authored-by: DreamWuGit <[email protected]>

* Audit Fixes EIP2930/1559 TxCircuit Dynamic Section Transitions (#1176)

* Refactor tx circuit dynamic section after introducing access list

* Adjust comments

* fmt

* Column naming

---------

Co-authored-by: DreamWuGit <[email protected]>

---------

Co-authored-by: DreamWuGit <[email protected]>
Co-authored-by: Zhang Zhuo <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants