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

scroll stable #250

Closed
wants to merge 231 commits into from
Closed

scroll stable #250

wants to merge 231 commits into from

Conversation

lispc
Copy link

@lispc lispc commented Jan 12, 2023

todo: rename this to "develop"

lispc and others added 30 commits December 13, 2022 20:52
* feat: RLP encoding verification circuit

* fix: compilation and tx rlp encode tests

* fix: refactor redundant columns, is_first and is_last are advices

* fix: assign dummy rows front and back

* feat: assign multiple inputs to rlp circuit

* feat: add tx table lookup from rlp circuit

* fix: lookup for all fields of tx

* fix: calldata rlc lookup

* hash of rlp encoding

* refactor: remove receipt related verification

* fix: remove lookups from rlp circuit

* refactor: separate out rlp table and embed in circuit

* feat: add eip-155 support for unsigned tx

* chore: refactor tag_index into RLP table

* chore: refactor constraints into TxSign and TxHash

* feat: signed tx support

* feat: verify sig_r and sig_s fields

* fix: add missing check for only one tag

* chore: remove unused gadget

* fix: randomness | add rlp table to tx circuit

* feat: updates to RLP circuit/table

* fix: compilation

* chore: clippy fix

* refactor witness of rlp circuit to use value api

* refactor rlp_circuit to use single set of constraints to handle tags

* fix clippy errors

* fix

* add padding constraints

* reduce degree to 9

* fix

* add rlp_circuit to super_circuit

* disable lt/cmp chips for padding rows to reduce witness assign time

* fix: get chain_id from block header

* fix

Co-authored-by: kunxian xia <[email protected]>
* feat: RLP encoding verification circuit

* fix: compilation and tx rlp encode tests

* fix: refactor redundant columns, is_first and is_last are advices

* fix: assign dummy rows front and back

* feat: assign multiple inputs to rlp circuit

* feat: add tx table lookup from rlp circuit

* fix: lookup for all fields of tx

* fix: calldata rlc lookup

* hash of rlp encoding

* refactor: remove receipt related verification

* fix: remove lookups from rlp circuit

* refactor: separate out rlp table and embed in circuit

* feat: add eip-155 support for unsigned tx

* chore: refactor tag_index into RLP table

* chore: refactor constraints into TxSign and TxHash

* feat: signed tx support

* feat: verify sig_r and sig_s fields

* fix: add missing check for only one tag

* chore: remove unused gadget

* fix: randomness | add rlp table to tx circuit

* feat: tx circuit lookup to rlp table

* feat: configure lookups from tx circuit

* feat: add calldata length and gas cost to rlp table

* fix: lookups from tx circuit and tests

* fix: handle calldata length == 0 case in lookups

* fix: account for chainid and 0, 0

* fix: clippy

* fix: constraints for tx_id

* fix: additional constraints around last row

* chore: rename rlp circuit based on #650

* fix: calldatalength and gas cost in tx circuit

* feat: RLP encoding verification circuit

* fix: compilation and tx rlp encode tests

* fix: refactor redundant columns, is_first and is_last are advices

* fix: assign dummy rows front and back

* feat: assign multiple inputs to rlp circuit

* feat: add tx table lookup from rlp circuit

* fix: lookup for all fields of tx

* fix: calldata rlc lookup

* hash of rlp encoding

* refactor: remove receipt related verification

* fix: remove lookups from rlp circuit

* refactor: separate out rlp table and embed in circuit

* feat: add eip-155 support for unsigned tx

* chore: refactor tag_index into RLP table

* chore: refactor constraints into TxSign and TxHash

* feat: signed tx support

* feat: verify sig_r and sig_s fields

* fix: add missing check for only one tag

* chore: remove unused gadget

* fix: randomness | add rlp table to tx circuit

* fix: next tx id assignment

* fix: lookup for call data bytes

* fix: make assignments to tx table

* feat: lookups for msg len/rlc and sig fields

* fix: add constraint for tx_id increment at nonce row

* feat: tag equality check

* fix: resolve issues after merging

* feat: lookup to check that call data bytes exist in tx table

* rewrite pi circuit to use rlp-based approach

* pi circuit assignment, clippy fixes

* lookup to rlp table for tx hash in tx circuit

* chore: clippy fix

* add copy constraints between pi and block/tx table

* add lookup to keccak for final public input in pi circuit

* chore: clippy fix

* fix: compilation after update against upstream

* feat: updates to RLP circuit/table

* fix: compilation

* chore: clippy fix

* refactor pi circuit to use challenge api and expose keccak (hi,lo)

* refactor pi circuit to use challenge api and change pi to keccak hi&lo

* refactor witness of rlp circuit to use value api

* refactor rlp_circuit to use single set of constraints to handle tags

* fix clippy errors

* fix

* add padding constraints

* reduce degree to 9

* fix

* add rlp_circuit to super_circuit

* disable lt/cmp chips for padding rows to reduce witness assign time

* fix: get chain_id from block header

* fix

* fix clippy error

* skip tx without sigs

* fmt

* skip tx/block table load in pi_circuit's synthesize_sub

* add max_inner_blocks

* fix clippy

* feat: padding blocks will not increase keccak input's size

* add TODO in pi circuit

* enable pi circuit in super_circuit

Co-authored-by: Rohit Narurkar <[email protected]>
Co-authored-by: kunxian-xia <[email protected]>
* Update CI to use self-hosted runner, and set push branch to `scroll-stable`.

* Fix fmt.

* Ignore expired test case.
* bug-fix: add placeholder row for DataPrefix if |tx.data|=1

* add fn min_num_rows_block

* byte_value < 0x80
lispc and others added 10 commits March 9, 2023 10:16
…Collision (#386)

* dummy GasUintOverflow and ContractAddressCollision

* lint

* dummy NonceUintOverflow
* Test

* Fix host user from `ubuntu` to `CI`.

* Update
* fix oog_memory_copy

* add error_contract_address_collision.rs

* testool rerun failed cases only

* lint
…th is zero (#393)

* Truncate memory offset of Word to Uint64 for Call opcodes when memory length is zero.

* Truncate memory offset for `CALLDATACOPY`.

* Truncate memory offset for `CODECOPY`.

* Truncate memory offset for `EXTCODECOPY`.

* Truncate memory offset for `RETURNDATACOPY`.

* Truncate memory offset for `RETURN` and `REVERT`.

* Truncate memory offset for `SHA3` (`KECCAK256`).

* Truncate memory offset for `CREATE` (and `CREATE2`).
* dummy OOG(CREATE2)

* clear empty account when create

* fix lower_u64 in handle_return

* log:error in check_update_sdb_account

* unimplemented!("deployment collision");
* improve selfdestruct; upgrade precompile crate

* everything fixed
@lispc
Copy link
Author

lispc commented Mar 21, 2023

close for #416

@lispc lispc closed this Mar 21, 2023
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.