Commit graph

548 commits

Author SHA1 Message Date
Nazarii Denha
ecca1069d3
(feat) core/vm: implement EIP-5656, mcopy opcode (#697)
* core/vm: implement EIP-5656, mcopy instruction (#26181)

Implements [EIP 5656](https://eips.ethereum.org/EIPS/eip-5656), MCOPY instruction, and enables it for Cancun.

---------

Co-authored-by: Martin Holst Swende <martin@swende.se>

* update version

* goimports

---------

Co-authored-by: Charles Cooper <cooper.charles.m@gmail.com>
Co-authored-by: Martin Holst Swende <martin@swende.se>
Co-authored-by: Péter Garamvölgyi <peter@scroll.io>
Co-authored-by: HAOYUatHZ <37070449+HAOYUatHZ@users.noreply.github.com>
2024-04-24 17:41:50 +08:00
Ömer Faruk Irmak
629f14ea88
perf(poseidon): eliminate heap allocations in poseidon (#712) 2024-04-24 11:12:27 +03:00
Ömer Faruk Irmak
79c356002c
feat(zktrie): upgrade to 0.8.2 (#715)
* feat(zktrie): upgrade to v0.8.2

* chore: auto version bump [bot]

* chore: auto version bump [bot]

---------

Co-authored-by: omerfirmak <omerfirmak@users.noreply.github.com>
Co-authored-by: HAOYUatHZ <37070449+HAOYUatHZ@users.noreply.github.com>
Co-authored-by: HAOYUatHZ <HAOYUatHZ@users.noreply.github.com>
2024-04-24 11:31:56 +08:00
z2trillion
90221d6fc7
chore(dep): upgrade go kzg 4844 (#718)
* crypto/kz4844: pass blobs by ref (#29050)

This change makes use of the following underlying changes to the kzg-libraries in order to avoid passing large things on the stack:

- c-kzg: https://github.com/ethereum/c-kzg-4844/pull/393 and
- go-kzg: https://github.com/crate-crypto/go-kzg-4844/pull/63

* update version patch

* run go mod tidy

* use blob reference

---------

Co-authored-by: Martin HS <martin@swende.se>
Co-authored-by: Mason Liang <mason@scroll.io>
2024-04-24 09:38:18 +08:00
Péter Garamvölgyi
246955a4df
feat: enable Bernoulli upgrade on Scroll mainnet (#710)
* feat: enable Bernoulli upgrade on Scroll mainnet

* Update config.go
2024-04-22 12:53:11 +08:00
Péter Garamvölgyi
0252f85816
feat: add block time metric (#707)
* feat: add block time metric

* chore: auto version bump [bot]

* trigger ci

---------

Co-authored-by: Thegaram <Thegaram@users.noreply.github.com>
2024-04-18 11:25:03 +08:00
Péter Garamvölgyi
62926d4649
feat(worker): seal block early if we're over target block time (#706)
* feat(worker): seal block early if we're over target block time

* use current.header.Time

* typo

* break instead of return
2024-04-18 10:44:59 +08:00
colin
d81a3308b1
feat(worker): add a commit tx failed metric (#704)
* feat(worker): add a commit tx failed metric

* bump version

* add number of L1 messages metric
2024-04-17 18:32:00 +08:00
georgehao
678a9fcb69
feat: add more state_transition, worker, and tracing metrics (#700)
* feat: add transactions len metrics of block processer

* feat: (worker): add metrics

* feat: add commitTransaction loops

* feat: add metrics to rollup tracing

* feat: add metrics to getTxResult

* feat: bump version

* add state revert metric timer

* feat: add commitNewWrok metrics

* feat: fix comments

* feat: remove the consume part metrics

* feat: update

* Apply suggestions from code review

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

* feat: update

* feat: address comments

* chore: auto version bump [bot]

* feat: bump version

* add tests

* Revert "add tests"

This reverts commit 175d544a68fc964dcc062b46c1a010ed821a0996.

---------

Co-authored-by: Ömer Faruk Irmak <omerfirmak@gmail.com>
Co-authored-by: colin <102356659+colinlyguo@users.noreply.github.com>
Co-authored-by: georgehao <georgehao@users.noreply.github.com>
Co-authored-by: colinlyguo <colinlyguo@scroll.io>
2024-04-16 16:05:21 +08:00
colin
5115f1342d
fix(rollup-verifier): hardcode genesis codec version as codecv0 and sync codecv1 implementation (#699)
* fix(rollup-verifier): update codecv1

* fix genesis batch codec check

* bump version
2024-04-16 14:22:05 +08:00
Péter Garamvölgyi
85447ec9a4
feat(sepolia): enable Bernoulli hard fork (#688)
* feat(sepolia): enable Bernoulli hard fork

* update fork block
2024-04-08 13:59:31 +08:00
Zhang Zhuo
d0ff83941c
chore(libzkp): upgrade to v0.9.13, support next hard fork transition (#693)
* chore(libzkp): upgrade to v0.9.13, support next hard fork

* bump version

* chore: auto version bump [bot]

* undo bump version

---------

Co-authored-by: Péter Garamvölgyi <peter@scroll.io>
Co-authored-by: HAOYUatHZ <HAOYUatHZ@users.noreply.github.com>
2024-04-08 11:09:15 +08:00
georgehao
4c2b567116
fix(txpool): rollback false optimization (#694)
* feat: add transactions len metrics of block processer

* feat: rollback false optimize

* feat: update

* feat: bump version
2024-04-08 10:13:43 +08:00
HAOYUatHZ
0bccb7bc50
fix(state): fix iterativeDump.OnAccount (#649)
* fix `iterativeDump.OnAccount`

* chore: auto version bump [bot]

* chore: auto version bump [bot]

---------

Co-authored-by: HAOYUatHZ <HAOYUatHZ@users.noreply.github.com>
2024-04-05 11:48:09 +08:00
colin
55b03ff405
feat(rollup-verifier): support codecv1 (#678) 2024-04-04 18:52:23 +08:00
HAOYUatHZ
054bbd29f0
fix(tracing): disable storage for block_traces (#684)
* fix: disable storage for block_traces

* bump version
2024-03-28 08:00:02 +00:00
Péter Garamvölgyi
5faeeaaf62
feat: add metrics to block validation (#677)
* feat: add metrics to block validation

* more metrics

* bump version
2024-03-27 16:36:08 +00:00
vyzo
d1e4b59eec
fix: Check L1DataFee in txpool promoteExecutables and demoteUnexecutables (#627)
* Check L1DataFee in txpool promoteExecutables

* bump version

* implement L1 data fee in demoteUnexecutables as well

* Update core/tx_list.go

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

* Update core/tx_pool.go

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

* feat: consider l1 data fee in txpool costcap (#681)

* feat(txpool): consider l1 data fee in costcap

* fix CI

* simplify logic

* remove one db read op

* bump version

---------

Co-authored-by: colin <102356659+colinlyguo@users.noreply.github.com>
Co-authored-by: Péter Garamvölgyi <peter@scroll.io>
Co-authored-by: georgehao <haohongfan@gmail.com>
2024-03-27 15:31:51 +00:00
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
0f0cd99f7a
feat: update upcoming fork names (#680)
* feat: update upcoming fork names

* bump version

* Apply suggestions from code review

Co-authored-by: Nazarii Denha <dengaaa2002@gmail.com>

* bump version

---------

Co-authored-by: Nazarii Denha <dengaaa2002@gmail.com>
2024-03-26 14:41:32 +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
colin
4553f5f269
feat(ethclient & gethclient): support blob transaction (#661)
* feat: support blob transaction

* sync tx encoding/decoding

* more fixes

* add uint236 support in rlp encoding decoding

* revert a format change

* trigger ci
2024-03-14 17:51:30 +08: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
HAOYUatHZ
dab4354b62
feat(ethclient): export GetTxBlockTraceOnTopOfBlock & GetNumSkippedTransactions & GetSkippedTransactionHashes & GetSkippedTransaction (#644) 2024-03-11 17:30:45 +08:00
colin
a807a41fd1
fix(txJSON): L1 message type MarshalJSON (#630)
* fix(txJSON): L1 message type MarshalJSON

* address comments

* bump version

* trigger ci

* bump version

* bump version
2024-03-05 20:12:10 +08:00
georgehao
06a21f327d
feat: add transactions len metrics of block processer (#650)
* feat: add transactions len metrics of block processer

* feat: bump version
2024-03-04 10:21:05 +08:00
georgehao
bfa7abcc50
feat: add metric to evm call (#646)
* feat: add metric to evm

* feat: bump version
2024-02-28 09:45:38 +08: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
Nazarii Denha
ee381b2451
feat: setup configuration for upcoming hard fork and re-enable sha256 precompile (#562)
* setup configuration for upcoming hard fork

* bump version

* bump version

* enable sha256

* rename to kepler

* update

* update lint

* rename Kepler to Banach

* goimports

* reorder precompile forks

* typo

---------

Co-authored-by: Péter Garamvölgyi <peter@scroll.io>
2024-02-09 13:46:33 +01:00
colin
ae7cbae19c
feat(transactions): support blob tx only in encoding/decoding (#626)
* draft change

* fix CI

* remove CancunBlock params and change cancunSigner to londonSignerWithEIP4844

* support blob transactions in receipt

* trigger ci

* bump version
2024-02-01 18:35:12 +01:00
colin
d86b42cdaa
fix(ethclient): support new cancun fields in header (#623) 2024-01-31 09:04:56 +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
fc06826a04
fix(receipt): L1 message type tx RLP decoding (#616)
* fix(receipt): L1 message type tx RLP decoding

* another
2024-01-15 15:07:41 +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
colin
5b7079b3a4
fix(tx-pool): consider L1 data fee in validateTx (#609)
* fix(tx-pool): consider L1 data fee in validateTx

* bump version
2023-12-26 10:12:26 +08:00
HAOYUatHZ
640b39161c
feat: remove instead of pop insufficient-funds tx (#608)
* feat: remove instead of pop insufficient-funds tx

* bump version

* update

* update
2023-12-26 00:47:39 +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
HAOYUatHZ
38a3a9c919
fix(tracing): fix getTxResult returned error format (#561)
* fix(tracing): fix `getTxResult` returned error format

* Update version.go
2023-11-30 08:51:11 +08: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
HAOYUatHZ
f4b247da15
feat: add scroll_getTxBlockTraceOnTopOfBlock API (#558)
* init

* more

* fix draft

* refactor

* fix

* clean up

* minor

* fix

* fix

* clean up

* clean up

* improve
2023-11-20 13:59:20 +08:00
Péter Garamvölgyi
3f9b23d33e
fix(worker): prioritize overflow tx as first tx in next block (#563)
* fix(worker): prioritize overflow tx as first tx in next block

* add tests

* bump version
2023-11-14 20:06:16 +01:00
vyzo
65a3a7fc23
Add metrics around block commit, block traces, and CCC (#552)
* Add metrics around block commit, block traces, and CCC

* add timer.Time wrapper

* more traces

* bump version

* bump version

---------

Co-authored-by: Péter Garamvölgyi <peter@scroll.io>
2023-11-09 14:24:00 +01:00
colin
1bf26286db
feat(rpc): add scroll_* rollup APIs (#548)
* feat(rpc): add scroll_* rollup APIs

* address comments

* address comments

* address comments

* support finalized tag in eth_feeHistory

* Update internal/web3ext/web3ext.go

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

* tweak

---------

Co-authored-by: Péter Garamvölgyi <peter@scroll.io>
2023-11-09 09:55:13 +01: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
colin
bbf42042e2
fix: eth_estimateGas error in zero balance address (#537)
* fix: eth_estimateGas zero balance error

* bump version

* revert irrelevant auto format

* remove isEstimateGas in DoCall

* fix CI

* bump version

---------

Co-authored-by: maskpp <maskpp266@gmail.com>
2023-10-25 11:52:40 +02: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
Péter Garamvölgyi
cfd9de0f92
feat: update network configuration (#533) 2023-10-08 16:03:41 +02:00