Commit graph

120 commits

Author SHA1 Message Date
Jonas Theis
ac8164f5a4
feat: follower node sync from DA (#1098)
* port changes from #1013

* port changes from #1068

* go.mod tidy

* fix compile error

* fix goimports

* fix log

* address review comments

* upgrade golang.org/x/net to 0.23.0

* bump version

* remove unused flag

* update da-codec commit

---------

Co-authored-by: Péter Garamvölgyi <peter@scroll.io>
2024-12-18 17:27:51 +01:00
colin
a5ecce2dc3
fix(async-ccc): print whole block hash and tx hash when failure (#1097)
* fix-async-ccc-print-whole-block-hash-and-tx-hash

* chore: auto version bump [bot]

* chore: auto version bump [bot]

---------

Co-authored-by: colinlyguo <colinlyguo@users.noreply.github.com>
2024-12-06 17:06:35 +08:00
Ömer Faruk Irmak
f00dc06628
fix: account for tx subcircuit confidence factor (#1065) 2024-10-11 09:19:04 +03:00
colin
cf1ca84e0e
feat: allow changing L1 synced height via admin RPC/CLI (#1044)
* feat: allow changing L1 synced height via RPC/CLI

* chore: auto version bump [bot]

* fix typos

* add height validity check

* change implementation

* moved hotfix apis from ScrollAPI to PrivateAdminAPI

* change namespace from scroll to admin

* fix bugs

* add locks

* add a lock to protect latestProcessedBlock and db state

* revert some changes

* remove lock and use atomic in latestProcessedBlock

* fix CI

* tweak

* use cas in updating latestProcessedBlock

* renaming

* also update sync height in error paths

* fix a bug

* use mutex lock

---------

Co-authored-by: colinlyguo <colinlyguo@users.noreply.github.com>
2024-09-25 03:18:37 +08:00
Ömer Faruk Irmak
7f79c7f21f
refactor: eliminate double re-execution in AsyncChecker (#1036) 2024-09-16 11:04:25 +03:00
Ömer Faruk Irmak
590e104111
fix: increase keccak usage safety buffer (#1028) 2024-09-09 18:48:12 +03:00
Zhang Zhuo
665f6c3413
feat(rpc): add getTxByTxTrace api, used for ccc testing & debugging (#1026)
* ++

* upgrade go lint version

* lint

* remove a useless "`"

* Update l2geth_ci.yml

---------

Co-authored-by: Ömer Faruk Irmak <omerfirmak@gmail.com>
Co-authored-by: Péter Garamvölgyi <peter@scroll.io>
Co-authored-by: colin <102356659+colinlyguo@users.noreply.github.com>
2024-09-06 23:22:47 +08:00
Ömer Faruk Irmak
a4b738f815
fix: skip ccc.ErrUnknown txns immediately (#1027) 2024-09-06 16:12:53 +03:00
Ömer Faruk Irmak
bf5cca7c29
fix: nil-check curRc (#1024)
* fix: nil-check curRc

* chore: auto version bump [bot]

---------

Co-authored-by: omerfirmak <omerfirmak@users.noreply.github.com>
2024-09-05 15:15:24 -07:00
Ömer Faruk Irmak
e9259b783f
feat: implement and integrate counter-based CCC (#982)
Co-authored-by: colin <102356659+colinlyguo@users.noreply.github.com>
Co-authored-by: Zhang Zhuo <mycinbrin@gmail.com>
Co-authored-by: Xi Lin <zimpha@gmail.com>
2024-09-04 13:33:51 +03:00
colin
03f3b2b60d
fix(rollup-verifier): delete committed batch meta when reverting a batch (#1000)
* fix(rollup-verifier): delete committed batch metadata when reverting a batch

* chore: auto version bump [bot]

* remove a comment

---------

Co-authored-by: colinlyguo <colinlyguo@users.noreply.github.com>
2024-08-26 11:15:29 +02:00
Ömer Faruk Irmak
233a6adc15
feat: async ccc checker (#996) 2024-08-23 11:04:12 +03:00
Dragan Milic
972fe8afc4
feat: backport flatCallTracer (#895) 2024-08-23 09:52:00 +03:00
colin
9de4980851
feat(rollup-verifier): codecv4 (#991)
* feat(rollup-verifier): codecv4

* fix golint

* enhancements

* rename

* rename

* feat: add darwinv2 in genesis config

* bump version

* fix typo

* Update params/config.go

Co-authored-by: georgehao <haohongfan@gmail.com>

* add DarwinV2

* address comments

* move a comment to other places

* small refactors

* chore: auto version bump [bot]

* update da-codec commit

* fix a bug

---------

Co-authored-by: georgehao <haohongfan@gmail.com>
Co-authored-by: Péter Garamvölgyi <peter@scroll.io>
Co-authored-by: colinlyguo <colinlyguo@users.noreply.github.com>
2024-08-23 14:50:08 +08:00
Ömer Faruk Irmak
2411ae063e
refactor: rename CCC package for less repetition (#967) 2024-08-09 08:21:14 +03:00
Ömer Faruk Irmak
e3bfb5fd46
fix: treat JSON errors as CCC error (#922) 2024-07-25 17:35:32 +03:00
georgehao
df3713e840
feat(libzkp):unbounded depth serde json (#920)
* feat: add transactions len metrics of block processer

* fix

* format

* chore: auto version bump [bot]

* remove unusd code

---------

Co-authored-by: georgehao <georgehao@users.noreply.github.com>
2024-07-24 11:59:30 +08:00
Péter Garamvölgyi
f2af32d3d5
fix: log Rust trace parsing error (#918)
* fix: log Rust trace parsing error

* fix
2024-07-24 01:47:47 +02:00
colin
de0385e7d2
fix(verifier): nil panic due to batch write (#911) 2024-07-20 00:39:28 +08:00
colin
0360eba836
fix(l2geth-verifier): only check last batch of the bundle (#904)
* fix(l2geth-verifier): only check the last batch of each bundle

* refactor function comments

* add more logs to debug

* fix the bug

* Revert "add more logs to debug"

This reverts commit 4befe9fe739275988b4bf34999bd1aad4d7a1d0e.

* tweak

* TestValidateBatchInFinalizeByBundle

* update da-codec dependency

* move rawdb.WriteFinalizedBatchMeta outside the loop

* use batch writer

* change log.Crit to log.Error
2024-07-17 20:01:40 +08:00
Zhang Zhuo
0cecc1986e
refactor(trace): clean outdated fields (#842)
* clean trace: remove ExtraData, disable prestateTracer, collect bytecodes in top level

* fix

* fix

* fix

* fix

* fix

* more cleanup

* more cleanup

* refactor(trace): clean outdated fields

* fix bytecodes in trace

* chore: auto version bump [bot]

* chore: auto version bump [bot]

* use hexutil.Bytes

---------

Co-authored-by: Ömer Faruk Irmak <omerfirmak@gmail.com>
Co-authored-by: omerfirmak <omerfirmak@users.noreply.github.com>
Co-authored-by: lispc <lispc@users.noreply.github.com>
2024-07-15 20:36:00 +08:00
colin
df08f60183
fix(rollup-verifier): decode commitBatchWithBlobProof calldata (#896)
fix(rollup-verifier): decode commitBatchWithBlobProof

Co-authored-by: Péter Garamvölgyi <peter@scroll.io>
2024-07-13 00:37:31 +08:00
HAOYUatHZ
55f70cc6e8
fix(tracing): fix error handling in fillBlockTrace (#890)
* fix(tracing): fix error handling in `fillBlockTrace`

* chore: auto version bump [bot]

* chore: auto version bump [bot]

---------

Co-authored-by: HAOYUatHZ <HAOYUatHZ@users.noreply.github.com>
2024-07-11 18:58:07 +08:00
Mengran Lan
15019efa6c
feat: add codecv3 for darwin batches (#866)
* feat: add codecv3 for darwin batches

* fix lint issue

* chore: auto version bump [bot]

* update da-codec dependency

---------

Co-authored-by: colin <102356659+colinlyguo@users.noreply.github.com>
Co-authored-by: colinlyguo <colinlyguo@users.noreply.github.com>
Co-authored-by: colinlyguo <colinlyguo@scroll.io>
2024-07-09 14:14:58 +08:00
Péter Garamvölgyi
b8f086c1de
feat: update to ccc v0.11.4 (#872)
* update to v0.11.4

* chore: auto version bump [bot]

---------

Co-authored-by: Ömer Faruk Irmak <omerfirmak@gmail.com>
Co-authored-by: Thegaram <Thegaram@users.noreply.github.com>
2024-07-03 15:16:38 +02:00
Mengran Lan
ef980a2059
feat(rollup_sync_service): handle multiple batches in FinalizeBatch event (#865)
* feat: now FinalizeBatch event will influence one or more batches

* fix bug && add unit test

* fix typo

* Update core/rawdb/accessors_rollup_event_test.go

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

* trivial fix

* chore: auto version bump [bot]

* trivial change: move write finalized things logic out of loop

* utilize code && comment

* remove redundant check

* two log level changing case

---------

Co-authored-by: colin <102356659+colinlyguo@users.noreply.github.com>
Co-authored-by: Thegaram <Thegaram@users.noreply.github.com>
2024-07-01 22:24:32 +08:00
Ömer Faruk Irmak
f40dca0b80
fix: do not attempt to free nil rust trace (#845) 2024-06-21 14:29:05 +03:00
Ömer Faruk Irmak
aafca83598
fix: free rust traces that never make it to CCC (#844) 2024-06-21 12:39:43 +03:00
Ho
4e3bf2f58e
fix(traces): deletion proof apply wrong storage value from structLogger (#838)
* fix issue caused by unmatching storage value

* lint

* chore: auto version bump [bot]

---------

Co-authored-by: HAOYUatHZ <HAOYUatHZ@users.noreply.github.com>
Co-authored-by: Péter Garamvölgyi <peter@scroll.io>
2024-06-20 19:52:37 +08:00
Ömer Faruk Irmak
316138099f
refactor: remove unused storage traces (#819) 2024-06-14 15:02:00 +03:00
Ömer Faruk Irmak
1ebde6d893
feat: introduce encode stage (#822)
* Reapply "feat: introduce encode stage (#814)"

This reverts commit 0b6cdbdbe2.

* reintroduced nullifying txnQueue
2024-06-13 09:46:41 +03:00
Péter Garamvölgyi
0b6cdbdbe2
Revert "feat: introduce encode stage (#814)"
This reverts commit 84cf1b58ae.
2024-06-12 11:26:41 +02:00
Ömer Faruk Irmak
84cf1b58ae
feat: introduce encode stage (#814) 2024-06-12 11:11:48 +03:00
Zhang Zhuo
16cbc9a754
Chore: upgrade libzkp v0.10.6 (#816)
* chore(libzkp): upgrade to v0.10.6, reject txs with new opcodes

* chore: auto version bump [bot]

---------

Co-authored-by: Thegaram <Thegaram@users.noreply.github.com>
2024-06-11 12:49:41 +02:00
Ömer Faruk Irmak
8bd2a16eb6
refactor(ccc): allow go side to construct a rust trace from json (#807) 2024-06-07 15:43:07 +03:00
Ömer Faruk Irmak
d0860229c2
fix: avoid accidentally sharing a tracer between goroutines (#768)
Avoid accidentally sharing a tracer between goroutines

Co-authored-by: Péter Garamvölgyi <peter@scroll.io>
2024-06-05 17:55:05 +03:00
colin
e162fbb7c0
feat: turn libscroll_zstd dynamic lib into static (#794)
* feat: remove .so file dependency of libscroll_zstd

* bump version

* remove wget installment

* simplify dockerfile and add envs

* revert alpine changes

* fix

* fix CI

* update dependency

* chore: auto version bump [bot]

---------

Co-authored-by: colinlyguo <colinlyguo@users.noreply.github.com>
2024-06-05 17:22:37 +08:00
Péter Garamvölgyi
9ec83a509a
fix: use correct encoding for L1 data fee of EIP2718 transactions (#793)
* fix: use correct encoding for L1 data fee of EIP2718 transactions

* add tests

* lint

* Update rollup/fees/rollup_fee.go

Co-authored-by: Ömer Faruk Irmak <omerfirmak@gmail.com>

---------

Co-authored-by: Ömer Faruk Irmak <omerfirmak@gmail.com>
2024-06-03 16:24:03 +02:00
Péter Garamvölgyi
8c7491ae1e
feat: update gas-oracle contract bytecode (#792)
* feat: update gas-oracle contract bytecode

* remove leading 0x
2024-06-03 10:30:59 +02:00
Ömer Faruk Irmak
a43879b738
feat: allow non-ccc pipelines (#781) 2024-05-30 14:59:37 +03:00
colin
aae829c406
feat(ccc): revert libzkp version back to v0.10.5 (#785)
* Revert "upgrade libzkp to v0.11.0rc2 (#773)"

This reverts commit 522882c4cdc8c90484ce40d4f62ab6d1ab73bbf5.

* chore: auto version bump [bot]

* chore: auto version bump [bot]

* add zktrie back in make geth

* trigger CI

* Revert "trigger CI"

This reverts commit 9f329eed0ad5368fb258043420426330ab9914cc.

---------

Co-authored-by: HAOYUatHZ <HAOYUatHZ@users.noreply.github.com>
Co-authored-by: colinlyguo <colinlyguo@users.noreply.github.com>
2024-05-30 15:02:40 +08:00
Ömer Faruk Irmak
094a67a179
fix: use a named deadline timer in CCC stage (#782) 2024-05-30 09:46:05 +03:00
colin
b091e4f9c9
feat(rollup-sync-service): support codecv2 (#726)
* feat(codecv1): support zstd compression

* revert .gitignore changes

* change dependency

* add zstd compression

* bump golang version to 1.21.x

* use codecv2

* remove an invalid command

* tweak

* tweak

* remove libzstd, use .so files in da-codec release instead

* fix CI

* fix CI

* try fix CI

* fix CI

* tweak

* fix

* fix CI

* tweak

* tweak

* address comments

* tweak

* remove cp to /usr/local/lib

* fix CI

* remove cp to /usr/local/lib in CI

* try fix

* fix

* fix

* fix

* remove env GO111MODULE=on

* add .so files to Dockerfiles

* revert make geth changes

* fix Dockerfile changes

* tweak

* revert changes

* tweak

* trigger ci

* update Dockerfiles

* fix

* add codecv2 in decode block ranges from encoded chunks

* address comment

* nit

* update dependencies

* use /scroll/lib/ in testing

* trigger ci

* add unit tests

* chore: auto version bump [bot]

* remove zkp-builder in Dockerfile.mockccc

* fix Dockerfile

* Update Makefile

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

* use -Wl,-rpath,/scroll/lib/

* change some static values to env var

* update dependency

* change pwd to scroll_lib_path

* fix

* add sudo in mkdir

* add sudo

* update da-codec dependency

* chore: auto version bump [bot]

* chore: auto version bump [bot]

* chore: auto version bump [bot]

* update zstd dependency

* update libscroll_zstd.so and remove libzktrie.so related to zstd

* chore: auto version bump [bot]

* uncomment ./rollup tests

* fix CI

* fix CI

* upgrade libzkp to v0.11.0rc2 (#773)

* upgrade libzkp

* remove zktrie.so

* done

* fix build

---------

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

---------

Co-authored-by: colinlyguo <colinlyguo@users.noreply.github.com>
Co-authored-by: Péter Garamvölgyi <peter@scroll.io>
Co-authored-by: Zhang Zhuo <mycinbrin@gmail.com>
2024-05-30 11:03:31 +08:00
Ömer Faruk Irmak
e6cc960f2f
fix: properly release pipeline stages (#783) 2024-05-29 23:46:03 +03:00
Péter Garamvölgyi
bfe803001b
feat: update L1 data fee in Curie hard fork (#755)
* update fee calculation

* add missing GPO slots to trace

* add placeholder for contract update logic

* nit

* update fee calculation

* update formula

* update GPO slots

* update L1GPO bytecode

* apply Curie in new worker

* move bytecode to config

* create an empty block for curie hard fork

* initialize L1GasPriceOracle storage slots

* add comments

* add test

* add IsCurie to traces and tests

* group GPO storage slots into a struct

* update unit test

* chore: auto version bump [bot]

* trigger ci

* update bytecode

* remove leading 0x

* update comments

* include rollup fee tests in CI

---------

Co-authored-by: Ömer Faruk Irmak <omerfirmak@gmail.com>
Co-authored-by: Thegaram <Thegaram@users.noreply.github.com>
2024-05-28 14:12:39 +02:00
Ömer Faruk Irmak
9f961ddc71
feat: reduce the number of samples in lifetimeTimer (#777) 2024-05-28 13:57:18 +03:00
Ömer Faruk Irmak
51bb998ded
fix: prioritized tx not being cleared after skipping it (#764)
* fix: prioritized tx not being cleared after skipping it

* fix nonce in comment

* chore: auto version bump [bot]

* chore: auto version bump [bot]

---------

Co-authored-by: omerfirmak <omerfirmak@users.noreply.github.com>
Co-authored-by: Péter Garamvölgyi <peter@scroll.io>
Co-authored-by: Thegaram <Thegaram@users.noreply.github.com>
2024-05-24 14:49:57 +08:00
Ömer Faruk Irmak
c7990a3eb1
feat(worker): pipeline block building (#735) 2024-05-21 16:11:06 +03:00
Zhang Zhuo
abca104d18
chore(libzkp): upgrade to v0.10.5, speed up by avoiding some unnecessary code hashing (#746)
* chore(libzkp): upgrade to v0.10.5, speedup by avoid some code hashing

* chore: auto version bump [bot]

---------

Co-authored-by: Thegaram <Thegaram@users.noreply.github.com>
2024-05-11 16:52:34 +03:00
Ömer Faruk Irmak
5d0d197ce4
feat(ccc): reuse a buffer for json encoding (#744) 2024-05-10 14:47:37 +03:00