Commit graph

60 commits

Author SHA1 Message Date
colin
61e8de9c3f
fix(sync-service): only add queue index when message index is not zero (#682)
* fix(sync-service): increase queue index only when L1 message index is not zero

* bump version

---------

Co-authored-by: Péter Garamvölgyi <peter@scroll.io>
2024-03-27 08:53:02 +00:00
Péter Garamvölgyi
411889ef92
fix: ensure L1 messages are stored in db consistently (#679)
* fix: ensure L1 messages are stored in db consistently

* check db iterator errors
2024-03-26 14:02:03 +00:00
Zhang Zhuo
e9246f1cc2
chore(libzkp): upgrade to v0.9.10, optimize ccc for follower&chunking (#676)
* chore(libzkp): upgrade to v0.9.10, optimize ccc for follower&chunking

* bump version

---------

Co-authored-by: Péter Garamvölgyi <peter@scroll.io>
2024-03-22 09:56:37 +01:00
Péter Garamvölgyi
ccec84ce63
feat: re-enable EIP-1559 in Banach hard fork (#634)
* feat: re-enable EIP-1559 in Banach hard fork

* enable BASEFEE opcode

* do not double gas limit on Banach fork block

* do not burn base fee

* update base fee calculation logic

* fix gas price oracle

* fix ethapi backend

* typo

* reorder worker code

* update genesis base fee

* add MaximumL2BaseFee

* add base fee metrics

* handle nil base fee

* revert state-transition change

* bump version

* remove TODO

* update test

* fix typo

* fix typo

* update traces

* fix test

* update london to banach

* handle error

* bump version

* bump version
2024-03-11 13:57:52 +00:00
colin
483949b87e
fix(rollup sync service): remove syscall.Kill (#636)
* fix(rollup sync service): remove syscall.Kill

* bump version
2024-02-21 16:57:09 +08:00
HAOYUatHZ
88349c600d
feat: add mux tracer for native call tracer and native prestate tracers (#615)
* hack to use native tracers

* update

* fix

* add prestate

* fix marshal

* format

* draft

* move

* separate `MuxTracer`

* fix

* update miner/worker.go

* update api

* rename

* remove

* bump go version

* bump golangci

* goimports lint

* fix tests

* minor

* clean up

* fix tests

* sync error handling

* bump go version in Dockerfiles

* bump version

* lint: disable `goconst` & `goimports`

* bump version again

* add comments

---------

Co-authored-by: lightsing <light.tsing@gmail.com>
2024-01-18 14:58:27 +08:00
colin
219b84e1af
fix(txpool): revert duplicated l1 data fee check (#612)
* Revert "fix(tx-pool): consider L1 data fee in validateTx"

This reverts commit 0a5c04b85d0f8b509542306894c03bd3feff65bd.

* simplify veriftfee

* bump version

* address comments

* keep the original behavior

* fix again

* nit

* tweak comments
2024-01-08 20:25:46 +08:00
HAOYUatHZ
833f9041bb
feat: improve balance check (#607)
* feat: improve balance check

* clean up
2023-12-26 00:09:41 +08:00
colin
b235afbccf
feat(rollup): add fallback if TransactionByHash fails in getting commitBatch calldata (#601)
* feat(rollup): add fallback if TransactionByHash fails in getting commitBatch calldata

* Update rollup/rollup_sync_service/rollup_sync_service.go

Co-authored-by: Péter Garamvölgyi <peter@scroll.io>

* change log.Warn to log.Debug

---------

Co-authored-by: Péter Garamvölgyi <peter@scroll.io>
2023-12-18 14:51:46 +01:00
Zhang Zhuo
9f143b47b2
feat (libzkp-v0.9.8): recordStorageDetail even when LogConfig.DisableStorage == true (#564)
* trace: recordStorageDetail even when LogConfig.DisableStorage == true

* Set `DisableStorage` to true.

* Update libzkp to zkevm-circuits `feat/remove-step-storage-from-trace` branch.

* Add `strict-ccc` feature to libzkp.

* Upgrade libzkp to use prover `v0.9.8`.

* Update params version.

* Update params version.

---------

Co-authored-by: Steven Gu <asongala@163.com>
2023-11-22 14:44:08 +08:00
colin
441212200a
feat(rollup): sync finalized batches from L1 (#515)
* feat(rollup): sync finalized batches from L1

* tweak

* address comments

* address comments

* tweak

* address comments

* Update rollup/eventwatcher/eventwatcher.go

Co-authored-by: Péter Garamvölgyi <peter@scroll.io>

* address comments

* address comments

* address comments

* add s.rollupSyncService.Stop()

* add block chunk batch tests

* fix goimports-lint

* address comments

* address comments

* remove

* add TestUnpackLog test

* add decodeChunkRanges tests

* add commit batch version check

* fix goimport & golint

* tweak

* fixes

* add TestRollupSyncServiceStartAndStop

* add TestGetChunkRanges

* address comments

* add TestValidateBatch

* add TestCalculateFinalizedBatchMeta

* address comments

* address comments

* fix

* address comments

* address comments

* fix

* tweak log

* fix

* tweak logs

* increase wait time

* add --rollup.verify flag

* add flag check in s.rollupSyncService.Stop()

* bump version

* refactor

* tweak configs

* tweak

* refactor getLocalInfoForBatch

* use syscall.Kill(os.Getpid(), syscall.SIGTERM) to shutdown

* refactor decodeChunkBlockRanges

* nit

* address comments

* address comments

* add WithdrawRoot and StateRoot in FinalizedBatchMeta

* address comments

* address comments

* add ctx.Err() check in retry

* add configs in gen_config.go

* bump version

* fix goimport & golint

* try to fix goimport

* revert change

* fix goimport & golint

* tweak

* bump version

* add l2 block -> batch index mapping

* bump version

* add mainnet config

* bump version

* address comments

* rename some vars

* feat: add more detailed logs in crash case (#547)

add more detailed logs in crash case

* trigger ci

* re-add batch finalization progress log

* remove block number -> batch index mapping

---------

Co-authored-by: Péter Garamvölgyi <peter@scroll.io>
Co-authored-by: HAOYUatHZ <37070449+HAOYUatHZ@users.noreply.github.com>
2023-10-28 06:29:31 +08:00
Steven
adde9ce118
fix (libzkp): free Rust CString by from_raw (potential memory leak) (#539)
* Free Rust CString by `from_raw`.

* Update params version.
2023-10-25 15:04:13 +08:00
Steven
9a0a87f4ca
fix(libzkp): upgrade to use prover v0.9.7 (#535)
* Upgrade to use prover `v0.9.7`.

* Update version.
2023-10-13 08:45:26 +02:00
Steven
d4301334b8
fix(libzkp): upgrade libzkp to v0.9.5 (#531)
* Upgrade libzkp to `v0.9.5`.

* bump version

---------

Co-authored-by: Péter Garamvölgyi <peter@scroll.io>
2023-10-04 16:49:19 +02:00
Steven
7cebee85a8
fix(libzkp): upgrade libzkp to v0.9.4 and add ccc SetLightMode (#522)
* Upgrade to prover `v0.9.4`, and add `SetLightMode` function.

* set ccc light_mode = false for validator

* fix

* bump version

---------

Co-authored-by: Zhang Zhuo <mycinbrin@gmail.com>
Co-authored-by: Péter Garamvölgyi <peter@scroll.io>
2023-10-03 15:42:54 +02:00
Péter Garamvölgyi
abcf48f20c
fix(ccc): revert light mode (#524)
* Revert "feat: use light_mode = false for block ccc (#519)"

This reverts commit a51434da5a.

* bump version
2023-09-27 16:03:37 +02:00
Zhang Zhuo
a51434da5a
feat: use light_mode = false for block ccc (#519) 2023-09-27 07:30:44 +01:00
Steven
fa0be69a3f
fix(libzkp): upgrade libzkp to v0.9.2 (fix ccc panic CodeNotFound) (#520)
Upgrade libzkp to `v0.9.2` (fix ccc bug).
2023-09-19 10:41:51 +08:00
Steven
5b787be12c
fix(libzkp): upgrade to use prover v0.9.1 (#517)
Upgrade libzkp to use prover `v0.9.1`.
2023-09-17 08:30:23 +08:00
Steven
2b22bf9138
fix(libzkp): upgrade to use prover v0.9.0 (#513) 2023-09-14 19:28:24 +08:00
Péter Garamvölgyi
1d824f42bd
fix(ccc): fix CCC build errors (#506) 2023-09-08 22:18:21 +08:00
Steven
7d79f27e6f
fix (libzkp): check tx num when CCC ErrUnknown error occurred (#505)
* Check tx num for CCC ErrUnknown error.

* Update worker.go

* Small fix.

* Update

* Fix log.

* Update version.

* Update miner/worker.go

Co-authored-by: Péter Garamvölgyi <peter@scroll.io>

* Update according to review.

* Fix to return 0 for uint64.

* Add `tcount` to mock CCC, and function `SetTxNum`.

* refactor

* fix

* add comments

---------

Co-authored-by: Zhang Zhuo <mycinbrin@gmail.com>
Co-authored-by: Péter Garamvölgyi <peter@scroll.io>
Co-authored-by: HAOYUatHZ <haoyu@protonmail.com>
2023-09-08 13:17:02 +02:00
Steven
c75ebdbdb0
fix(libzkp): upgrade to v0.8.2 (#504) 2023-09-07 14:12:03 +08:00
Steven
fde2c3b6a7
fix: libzkp v0.8.1 (#502) 2023-09-07 11:11:31 +08:00
Xinran
293deff873
refactor(ccc): throw error instead of panic for recognized errors (#499) 2023-09-06 15:15:36 +08:00
Zhang Zhuo
63cbb77cdc
chore(ccc): v0.7.6: fix: if rws reaches limit, stop early (#495)
* chore(ccc): v0.7.6: fix: if rws reaches limit, stop early

* Update version.go

---------

Co-authored-by: HAOYUatHZ <37070449+HAOYUatHZ@users.noreply.github.com>
2023-08-30 15:07:10 +08:00
Péter Garamvölgyi
7de261b1be
feat: store skipped transactions in local db (#467)
* feat: store skipped txs in local db

* bump version

* bump version

* fix test

* include L2 txs in skipped index

* goimports

* rename more

* bump version

* fix missed renames

* fix the bug when calculating l2TxCount. (#479)

* fix bug when calculate l2 tx count

* Update version

* fix: exclude L1 message from block payload size validation (#476)

* fix: exclude L1 message from block payload size validation

* fix the bug when calculating l2TxCount. (#479)

* fix bug when calculate l2 tx count

* Update version

* bump version

---------

Co-authored-by: maskpp <maskpp266@gmail.com>

* fix: update row estimation with scroll-prover `v0.7.2` (#475)

* Fix row estimation.

* Update libzkp.

* more

* prepare

* finish

* upgrade

* bump version

* fix tests

* Update to scroll-prover `v0.7.2`.

* fix tests

* Update miner/worker.go

Co-authored-by: Péter Garamvölgyi <peter@scroll.io>

* Update miner/worker.go

Co-authored-by: Péter Garamvölgyi <peter@scroll.io>

* Reset ccc when skips first tx.

* do not unnecessarily skip L1 message

* fix ccc reset and improve code readability

* seal block on circuitcapacitychecker.ErrUnknown

---------

Co-authored-by: HAOYUatHZ <haoyu@protonmail.com>
Co-authored-by: Péter Garamvölgyi <peter@scroll.io>

* refactor: simplify ccc revert to snapshot (#480)

* simplify ccc revert to snapshot

* Update version.go

---------

Co-authored-by: HAOYUatHZ <37070449+HAOYUatHZ@users.noreply.github.com>

* feat: use --gcmode=archive and --cache.noprefetch=true by default (#482)

* feat: use --gcmode=archive and --cache.noprefetch=true by default

* refuse to start with invalid config

* lint

* lint

* feat(sdk): support compressed response (#469)

* enable use compression algorithm

* fix ci

* Just enable decode compressed content at ethclient

* fix comments

---------

Co-authored-by: Haichen Shen <shenhaichen@gmail.com>

* fix: disable pruning and prefetch if not flags are provided (#483)

Co-authored-by: colin <102356659+colinlyguo@users.noreply.github.com>

* fix: update libzkp to use scroll-prover `v0.7.5` (#484)

* Update libzkp to use scroll-prover `v0.7.5`.

* Update version.

* address comments

* bump version

* nit

---------

Co-authored-by: maskpp <maskpp266@gmail.com>
Co-authored-by: Steven <asongala@163.com>
Co-authored-by: HAOYUatHZ <haoyu@protonmail.com>
Co-authored-by: iczc <iczcalan@gmail.com>
Co-authored-by: HAOYUatHZ <37070449+HAOYUatHZ@users.noreply.github.com>
Co-authored-by: Haichen Shen <shenhaichen@gmail.com>
Co-authored-by: colin <102356659+colinlyguo@users.noreply.github.com>
2023-08-25 15:41:05 +02:00
Steven
637cb3777f
fix: update libzkp to use scroll-prover v0.7.5 (#484)
* Update libzkp to use scroll-prover `v0.7.5`.

* Update version.
2023-08-25 07:33:39 +02:00
Steven
6992cfe8c5
fix: update row estimation with scroll-prover v0.7.2 (#475)
* Fix row estimation.

* Update libzkp.

* more

* prepare

* finish

* upgrade

* bump version

* fix tests

* Update to scroll-prover `v0.7.2`.

* fix tests

* Update miner/worker.go

Co-authored-by: Péter Garamvölgyi <peter@scroll.io>

* Update miner/worker.go

Co-authored-by: Péter Garamvölgyi <peter@scroll.io>

* Reset ccc when skips first tx.

* do not unnecessarily skip L1 message

* fix ccc reset and improve code readability

* seal block on circuitcapacitychecker.ErrUnknown

---------

Co-authored-by: HAOYUatHZ <haoyu@protonmail.com>
Co-authored-by: Péter Garamvölgyi <peter@scroll.io>
2023-08-23 14:27:00 +02:00
Péter Garamvölgyi
ef893170bc
fix: use correct CGo syntax for Free (#478) 2023-08-22 06:01:16 +02:00
Péter Garamvölgyi
e85c70c156
fix: free raw result returned from CCC (#477) 2023-08-22 11:27:17 +08:00
Zhang Zhuo
b2bd2838ac
fix(ccc): fix poseidon circuit row estimation under-estimation (#470)
* upgrade ccc: better row estimation

* update cargo lock

* update version
2023-08-18 10:41:13 +02:00
Péter Garamvölgyi
81dc3649a8
fix: seal block if single tx overflows (#468) 2023-08-18 07:09:53 +02:00
Steven
7b8c20f3c2
fix: upgrade libzkp necessary for ccc (normalize row usage) (#461)
* Upgrade libzkp.

* Upgrade to scroll-prover `v0.5.20`.
2023-08-17 18:10:43 +08:00
Steven
fcd7212b60
fix: upgrade libzkp to use scroll-prover v0.5.10 (#454)
Update libzkp to use scroll-prover `v0.5.10`.
2023-08-08 15:07:18 +02:00
Steven
5c4530cd2a
fix: upgrade libzkp to use scroll-prover v0.5.6 (#450)
Upgrade libzkp to use scroll-prover `v0.5.6`.
2023-08-07 12:25:08 +08:00
Péter Garamvölgyi
805676e227
feat: Update Sepolia genesis (#449)
update Sepolia genesis
2023-08-06 19:25:10 +02:00
HAOYUatHZ
9997324b0d
feat(libzkp): update Cargo.lock (#448)
* feat(libzkp): update Cargo.lock

* update version

---------

Co-authored-by: Your Name <you@example.com>
2023-08-07 01:03:31 +08:00
xkx
805a2f415e
fix(libzkp): fix ethers-core dep (#447)
* fix the ethers-core dep in libzkp crate

* bump version

---------

Co-authored-by: Péter Garamvölgyi <peter@scroll.io>
2023-08-07 00:47:09 +08:00
Steven
8f431845c3
fix: upgrade libzkp to use scroll-prover v0.5.3 (#442)
Upgrade libzkp to use scroll-prover `v0.5.3`.
2023-08-06 20:02:51 +08:00
HAOYUatHZ
86c7cbe020
fix(ccc): remove debug-assertions in release (#441) 2023-08-04 16:26:15 +08:00
HAOYUatHZ
53963e6171
build: add mock_ccc docker (#437)
* add nccc docker

* update mock ccc

* update

* update

* update

* format codes

---------

Co-authored-by: Péter Garamvölgyi <peter@scroll.io>
2023-08-04 06:14:35 +02:00
Péter Garamvölgyi
37ef8cad30
fix: ccc debug log Rust syntax (#433)
* fix ccc debug log syntax

* fix ccc debug log syntax
2023-08-03 13:56:24 +02:00
Péter Garamvölgyi
42e17229d5
fix: decode traces as UTF-8 string (#432)
decode traces as UTF-8 string
2023-08-03 13:21:30 +02:00
HAOYUatHZ
ef67ff8bbb
fix(miner): fix acc_rows for empty block (#431)
* Revert "fix(worker): set row consumption for genesis and empty blocks (#428)"

This reverts commit b51736fd3c.

* fix: fix accRows for empty block

* bump version

* remove log

* fix

* set default accRows as nil explicitly

* fix genesis block

* fix
2023-08-03 13:09:59 +02:00
Péter Garamvölgyi
21d430f018
feat: add ccc debug logs (#430)
add ccc debug logs
2023-08-03 16:11:09 +08:00
HAOYUatHZ
4b2bbf6225
feat(rollup): update libzkp for new hash schema (#423) 2023-08-02 17:59:50 +08:00
Péter Garamvölgyi
dbdc463006
refactor(ccc): log ccc error in Rust (#422)
log ccc error in Rust
2023-08-02 07:22:43 +02:00
HAOYUatHZ
22fec5714e
fix(rollup): fix error message and compile error (#416)
fix(rollup): fix compile error
2023-08-01 12:30:06 +02:00
HAOYUatHZ
2f9edf73ca
feat(rollup): add circuits capacity checker (#321)
* add proof for predeployed storages

* reverse inneeded code

* update for mainbranch merging

* add pertx storage trace

* dummy tx proof

* add txstorage trace

* add coinbase storage as trace

* enable (sync) tracing by default

* basic

* init cgo framework

* fix break loop

* integrate the right zkevm version (#323)

* finish rust codes

* use dylib (#325)

* flip

* ?

* use cdylib

* revert

* fix

* apply_tx

* rename

* fixing types

fixing types

fixing types

* clean up

* ExecutionResults (#328)

* filling

* filling

* more

* clean up

* filling

* coinbase

* add

* MPTWitness

* ExecutionResults WIP

* L1fee

L1fee

* sender

* to

* Failed & ReturnValue

* createdAcc & after

* remove MPTWitness

* txStorageTrace

* add FeeRecipient

* add StorageTrace

* fix FFI types

* better logger

* cargo fmt

* fix

* add build tags

* update Makefile

* fix library

* improve ld path

* correctly deal with circuit_capacity_checker returned result

* fix return value

* update cargo (#333)

* update cargo

* update

* update go

* refactor

* raname `circuits capacity checker` to `circuit capacity checker`

* some refactorings

* [Fix] storage proof generation in capacity checker (#348)

* make per-tx storage and deletion proof work

* format

* fix misplaced markdeletion

---------

Co-authored-by: HAOYUatHZ <haoyu@protonmail.com>

* docker (#363)

* update Dockerfile

* build: update go version to 1.19

* update

* fix

* fix

* try

* simplify

* revert go version

update l2geth Dockerfiles

* fix

* fix coinbase

* fix (#369)

* format

* Update version.go

* address comments

* Capacity refactor (#374)

* init

* id

* support multiple instances

* fix id

* fix conflicts

* refactor to use same codes (#379)

* re-init

* WIP

* WIP

* refactor

* go

* minor

* fix storage proof of l1gas price oracle

* move 1

* move 2

* move 3

* move 4

* move 5

move 5

* move 6

move 6

* move 7

* move 8

* move 9

* move 10

* clean up

clean up

---------

Co-authored-by: Ho Vei <noelwei@gmail.com>

* finish basic

* minor

* config capacity check in block_validator (#380)

* init

* done

ref

* fix tests

fix tests

fix tests

fix tests

* add more comments

* apply_block

* improve logs

* cargo fmt

* Capacity big refactor (#383)

* CreateTraceEnv

* WIP

* draft

more

fix

* for test

* fortet

* clean up

* add more comments

* goimports -local github.com/scroll-tech/go-ethereum -w .

* fix typos

* attempt 1

* attempt 2

* attempt 3

* gogogo

* clean up

* fix

* fix

* rename

* minor

* fix

* minor

* minor

* improve doc

* use dedicated `checkCircuitCapacity` flag (#394)

* refactor

* fix

* add lock

* [feat] capacity checking: upgrade libzkp (#395)

* upgrade

* upgrade libzkp

* write RowConsumption (#396)

* write RowConsumption

* name alignments

* revert some formatting

* add lock to CircuitCapacityChecker in BlockValidator

* remove mutex pointer

* improve github workflow

* improve

* store row consumption in mining (#397)

* prepare

* finish

* add more logs

* mark `ApplyBlock` as ready

* update libzkp (#401)

* fix

* Capacity detail (#402)

* fix(block-validation): consider skipping in ValidateL1Messages (#405)

* fix(block-validation): consider skipping in ValidateL1Messages

* fix(block): consider skipping in L1MessageCount

* fix l1 validation tests

* fix NumL1Messages

* fix impl.go return types

fix

* better error handling (#407)

* add

add

* add

* add

* add

* add

* cargo fmt

* add

* update

* add

* WIP

* minor

* gogogo

* gogogo

* fix

* fix

* fix

* cargo clippy

* improve

* improve

* creation lock (#408)

* creation lock

* update

* Debug log (#409)

* add more logs

* more

* more

* fix

* improve

* Update cmd/utils/flags.go

Co-authored-by: Péter Garamvölgyi <peter@scroll.io>

* refactor worker.commit()

* avoid re-calculate

* txpool ccc err handling (#411)

* more explicit error comments

* add more logs

* fix unnecessary commit

* add more logs

* fix `ineffassign`

* add more comments

* log id for `NewCircuitCapacityChecker` (#414)

add log to `NewCircuitCapacityChecker`

* Persist skip info for block where all L1 msgs are skipped (#415)

persist skip info for block where all L1 msgs are skipped

* Update version.go

---------

Co-authored-by: Ho Vei <noelwei@gmail.com>
Co-authored-by: Zhang Zhuo <mycinbrin@gmail.com>
Co-authored-by: Péter Garamvölgyi <peter@scroll.io>
2023-08-01 13:52:31 +08:00