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

Conversation

silathdiir
Copy link

@silathdiir silathdiir commented Oct 23, 2023

Description

Only used for l2geth.
Add a l2geth PR to remember this new feature scroll-tech/go-ethereum#540

@silathdiir silathdiir requested a review from lispc October 23, 2023 10:31
@lispc lispc merged commit 2b5e315 into v0.9 Oct 25, 2023
@lispc lispc deleted the add-feat-strict-ccc branch October 25, 2023 10:16
lispc pushed a commit that referenced this pull request Apr 5, 2024
lispc added a commit that referenced this pull request Apr 9, 2024
* chore: dependencies

* Rebase code to main dev branch

* Rebase code to main dev branch

* Remove signed len

* basic constraints

* Add accumulation constraints

* Add chunk bytes to keccak and pow of rand to tx circuit config

* Remove debug flags

* clippy

* Correct keccak lookup

* Add pow of rand lookup

* remove pow of rand from lookup config

* Change unusable rows

* remove debug flags

* fmt

* correct export for pi circuit

* fmt

* patch halo2curves to branch that supports bls12_381

* Add roots of unity

* add barycentric evaluation constraints and assignments

* Call assign in circuit synthesis

* cleanup

* replace local patches with github

* Correct column type

* Add l1msg and padding tx len, hash acc conditions

* Define init condition for len, hash acc

* Remove access list and calldata constraints

* Correct keccak lookup rotation

* Use fixed row to isolate last row of fixed section

* Remove hash consistency gate

* chunk/batch definition updates

* add txbytes to the keccak preimages

* blob data is actually the correct preimage for chalenge point

* remove unused feature flag from patch

* implement Sum for ScalarFieldElement

* use sum

* use same range config between barycentric config and base field config

* cleanup

* fix build

* connect barycentric centric to aggregation circuit

* Correct test 1559 parsing

* Recover constraints

* Remove debug flags

* fmt

* Remove debug flag

* Add forgotten file

* updated definition of random point

* enable equality

* Adjust equality-enabled columns

* Adjust tx circuit output

* Adjust equality-enabled columns

* Correct tx circuit hash output

* Change chunk data hash definition

* wip

* Use same roots of unity as 4844 spec

* constraints for rows at fixed offsets

* digest bytes section

* minor edit

* fix: rows in data section

* cleanup

* Add more blob tests

* Use successors to calculate power of z

* Add chunk bytes in PI

* Adjust sectional offsets

* Change sectional note

* add chunk txbytes assignment

* Correct assignments

* export assigned bytes from blob data

* minor

* also export chunk data digest

* assign2 wip

* Add chunk txbytes hash to pi hash

* Correct hash component

* Correct data bytes assignment (padding)

* Correct chunk txbytes padding assignments

* Correct boundary idx counting

* Add chunk txbytes to keccak inputs

* Correct coinbase and difficulty

* fmt

* Add BarycentricEvaluationAssignments and make inputs to barycentric eval circuit accessible

* assign2 does some checks

* equate exports of barycentric to exports of blob data config

* also return the challenge (after modulus)

* Control test suite

* fix challenge equality and export challenge/evaluation LE bytes

* Adjust debugging suite

* Constraint differential

* Constraint differential

* Constraint differential

* Correct column type'

* Constraint differential

* Correct assignment spacing

* Recover constraint

* Test Differential

* Remove debug flags

* Constraint differential

* Add debug flags

* Correct idx increments

* update batch_pi_hash preimage to be blob-compatible

* fix preimages' len

* Adjust debug flags

* Add debug flags

* Add debug flags

* Adjust debug flags

* fix batch_pi_hash input_len

* add equality between chunk_data_digests and chunk_pi_hash's preimage

* fix: return assigned values instead of witness cells for challenge/evaluation

* Add new hash preimages

* Add borrow

* Adjust imports

* Remove debug flags

* fmt

* Constraint depth consistency in longlist decoding

* Revert "Constraint depth consistency in longlist decoding"

This reverts commit f977a8c.

* Recover variadic test

* enable z and y equality check

* apply comments

* Correct mock data

* clippy

* Add comments

* fmt

* Remove copy constraint for misallighment

* Change copy constraints to lookups

* Remove debug flags

* Remove unnecessary return

* fmt

* fmt

* Correct documentation

* fmt

* Feat/4844 Add Missing Chunk Parts (#1154)

* Add missing chunk level changes

* fmt

* fix

* Fix: assign z_digest using load_u256 method (#1155)

* use load_u256 to assign challenge in barycentric

* separate blob related assignments from snark aggregate and fix clippy errors

* fix

* fix: blob_field only has 31 cells

* Fix bugs in integration test (#1160)

* split blob data region into two separate regions

* fix

* load tables for BlobDataConfig

* fix wrong rlc in blob data rows

* fix challenge z lookup

* keccak lookup for metadata row and minor fixes (#1162)

* fmt

* fix challenge z

* rlc keccak vs evm (#1163)

* put barycentric eval and snark aggregation in same region

* fix copy constraints (limb construction and endianness) (#1164)

* fix copy constraints (limb construction and endianness)

* fix typo

---------

Co-authored-by: Mason Liang <mason@scroll.io>

* cleanup

---------

Co-authored-by: Rohit Narurkar <rohit.narurkar@proton.me>
Co-authored-by: Mason Liang <mason@scroll.io>

* put reth-primitives at dev-dependency (#1166)

* bump c-kzg from 0.4.2 to 1.0.0

* Update v2.0.7-patch-tungstenite for ethers utility

* Resolve new cargo

* Update | Fix | Refactor | Unit Tests (#1167)

* a fix (first row accumulator) and remove inconsistencies

* Add negative tests

* update, fix, test

* soundness: if chunk is padded, size == 0

* more refactoring and docs

---------

Co-authored-by: Mason Liang <mason@scroll.io>

* clean deps

* clean deps: revm

* remove reth dep

* revert COINBASE changes

* refactor: changes based on review of PR#1167 (#1172)

* big arrays replaced by vec and passed by ref (#1178)

* Check that chunk_idx increases on boundaries (#1173)

* check that chunk_idx increases by at least 1 on boundaries

* Add range check for chunk_idx

---------

Co-authored-by: Mason Liang <mason@scroll.io>
Co-authored-by: Rohit Narurkar <rohit.narurkar@proton.me>

* hash selector should only exist for digest rlc section | minor refactor (#1174)

* Refactor and Optimise (#1179)

* make use of fixed columns wherever possible

* add column for boundary_count to remove summation over all rows

* remove "-" to avoid confusion

* pick fixes for testing...

* Fix copy duplicated comments (#1183)

Co-authored-by: Mason Liang <mason@scroll.io>
Co-authored-by: Rohit Narurkar <rohit.narurkar@proton.me>

* tmp

* Feat/Blob 4844 Chunk-level Patch (#1180)

* Correct pow_of_rand assignment in evm_circuit

* Correct typo

* Add rpi_length_acc consistency for chunk_txbytes section for padding rows

* pow_limit is set to max l2 tx bytes in a blob for pow_of_rand table

---------

Co-authored-by: kunxian xia <xiakunxian130@gmail.com>

* Feat/Blob 4844 Chunk-level TxCircuit CCC (#1188)

* Rewrite tx circuit ccc interface

* Use capacity fraction for tx circuit ccc interface

* Correct typo

* fmt

* better chunk proof marsha;
l

* chunk-prover: check proof after generated

* log vk commit

* improve prover verification

* Refactor | Clippy (#1187)

* no need for optional max exponent

* reduce number of rows for tests

* fix

* scroll+test feature has bigger tx

* more clippy fix

* fix q_step_first in evm circuit

* Feat/Blob 4844 PICircuit Chunk TxBytes Condense (#1189)

* Move chunk_txbytes_hash_rlc column into tx table

* Condense pi circuit

* Remove import

* Correct pow of rand lookup condition

* fmt

* Add new rotation count to tx circuit unusable rows

* Turn on equality for column

---------

Co-authored-by: Rohit Narurkar <rohit.narurkar@proton.me>

* fix rand table

* better log

* fix halo2 vk

* add more logs for batch info

* export BatchHash for testing purpose

* add blob_assignments method

* [FIX] big-endianness for blob poly from bytes (#1191)

* big-endianness for blob poly from bytes

* formatting (prepend 0)

* Add missing PI bytes component (#1192)

* Add more tests for BlobData struct (#1194)

* Uncomment tests and add coefficient endianness test

* Remove unneeded std::iter::empty calls

* import once and repeat

* Move point precompile tests to barycentric file

* clippy

---------

Co-authored-by: Mason Liang <mason@scroll.io>

* Rename N_BYTES_31 and N_BYTES_32 (#1193)

* Give constants more descriptive names and comments

* rephrase comment

---------

Co-authored-by: Mason Liang <mason@scroll.io>
Co-authored-by: Rohit Narurkar <rohit.narurkar@proton.me>

* Fix/Remove Individual L2 TxHash from Keccak (#1197)

* Remove individual L2 tx hash from keccak

* Recheck l1 hash

* Constrain l2 tx hash 0

* include selectors from blob data config (#1200)

* Add feature `strict-ccc` for precheck panic. (#1003)

* include selectors from blob data config (#1200)

* optimize follower ccc

* fix ccc post processing

* disable default mode ci

* fix k256 sig verify: normalize sig

* lint

---------

Co-authored-by: Rohit Narurkar <rohit.narurkar@proton.me>
Co-authored-by: darth-cy <qg2153@columbia.edu>
Co-authored-by: Mason Liang <mason@scroll.io>
Co-authored-by: kunxian xia <xiakunxian130@gmail.com>
Co-authored-by: Zhang Zhuo <mycinbrin@gmail.com>
Co-authored-by: z2trillion <dawnofthedinosaurs@gmail.com>
Co-authored-by: Steven <asongala@163.com>
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