Commit graph

2422 commits

Author SHA1 Message Date
HAOYUatHZ
94af17a0c0
feat: update L2 base fee formula (#951) (#973)
* feat: update L2 base fee formula (#951)

* update `CalcBaseFee`

* update `TestCalcBaseFee`

* update `TestStateProcessorErrors`

* bump version

* update threshold

* update core/state_processor_test.go
2024-08-10 09:04:55 +08:00
Péter Garamvölgyi
959f09d4f1
refactor: remove Scroll Alpha configurations (#965) 2024-08-07 23:21:05 +08:00
HAOYUatHZ
ddf94b3e5a
reduce number of heap allocations in tracing (#958) 2024-08-02 16:49:39 +08:00
HAOYUatHZ
58ed1a2a3b
fix: Check L1DataFee in txpool promoteExecutables and demoteUnexecutables (#948)
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



* Update core/tx_pool.go



* 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: vyzo <vyzo@hackzen.org>
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-08-02 14:54:13 +08:00
HAOYUatHZ
8616fc2522
sync GPO changes (#954)
* feat: congestion-aware gas price oracle (#790)

* Implement functionality to reset gas price / suggested tip to minimal value when there's no congestion

* Add flags to configure congestion value and initialize gas price oracle accordingly

* Fix and add tests to make sure GPO works as expected depending on pre- or post-Curie (EIP 1559) upgrade

* Apply review suggestions

* chore: auto version bump [bot]

---------

Co-authored-by: omerfirmak <omerfirmak@users.noreply.github.com>

* fix eth/gasprice/gasprice_test.go

* minor

* fix(GPO): min suggested tip cap if there's congestion to avoid filtering through `DefaultIgnorePrice` (#883)

* fix tests

* fix tests

---------

Co-authored-by: Jonas Theis <4181434+jonastheis@users.noreply.github.com>
Co-authored-by: omerfirmak <omerfirmak@users.noreply.github.com>
2024-08-01 21:41:51 +08:00
HAOYUatHZ
536603a85d
update core/types/ transaction_test.go (#953)
update core/types/transaction_test.go

Co-authored-by: Péter Garamvölgyi <peter@scroll.io>
2024-08-01 20:45:14 +08:00
HAOYUatHZ
17acae881a
defer txpool reorg until worker fetches txns for the next block (#944)
* feat: defer txpool reorg until worker fetches txns for the next block (#905)

* fix

---------

Co-authored-by: Ömer Faruk Irmak <omerfirmak@gmail.com>
2024-08-01 14:19:44 +08:00
colin
3d964d6e9b
update rollup verifier (#930)
* update l2geth verifier

* update verifier

* update

* remove old structures

* decrease diff

* decrease diff

* fix image build error

* update dependency

* update c-kzg-4844 dependency

* clean up

* clean up

---------

Co-authored-by: HAOYUatHZ <haoyu@protonmail.com>
Co-authored-by: HAOYUatHZ <37070449+HAOYUatHZ@users.noreply.github.com>
2024-07-30 22:12:39 +08:00
HAOYUatHZ
c0d20514db
feat: implement RIP-7212/EIP-7212 (#943)
feat: implement RIP-7212/EIP-7212 (#798)

Implement RIP-7212/EIP-7212 according to reference implementation at https://github.com/ulerdogan/go-ethereum/pull/1

Co-authored-by: Jonas Theis <4181434+jonastheis@users.noreply.github.com>
Co-authored-by: Péter Garamvölgyi <peter@scroll.io>
2024-07-30 18:32:06 +08:00
HAOYUatHZ
ac044caa1b
feat(miner): account fetch limit (#939)
* feat(worker): try to limit the number of txns miner has to deal with (#745)

to reduce the effect of having a huge backlog on performance

* fix(worker): set default account fetch limit (#756)

* fix

* update miner/worker.go

* fix

---------

Co-authored-by: Ömer Faruk Irmak <omerfirmak@gmail.com>
Co-authored-by: Péter Garamvölgyi <peter@scroll.io>
2024-07-29 19:07:43 +08:00
Mengran Lan
c86a215b04
feat(metrics):migrate metrics from develop branch (#910)
migrate metrics from develop

Co-authored-by: HAOYUatHZ <37070449+HAOYUatHZ@users.noreply.github.com>
2024-07-29 16:07:31 +08:00
colin
989ecb2133
chore(dep): upgrade go kzg 4844 (#932)
* chore(dep): upgrade go kzg 4844

* Update kzg4844_ckzg_cgo.go

---------

Co-authored-by: HAOYUatHZ <37070449+HAOYUatHZ@users.noreply.github.com>
2024-07-27 12:08:52 +08:00
HAOYUatHZ
05148de519
clean outdated trace fields (#928)
* update eth/tracers/logger/logger_trace.go

* update types

* update `StructLog` logic

* update rollup/tracing/tracing.go
2024-07-26 15:30:15 +08:00
HAOYUatHZ
c293daa83c
replace package name (#924)
* replace package name

* clean up
2024-07-25 08:26:20 +08:00
HAOYUatHZ
e113804bfc
feat: pipeline worker (#907)
* comment out miner/worker.go

* add miner/scroll_worker.go

* rename package

* add rollup/pipeline/pipeline.go

* rename package

* some renamings

* some fixes

* some fixes

* some fixes

* some fixes

* some fixes

* some fixes

* some fixes

* some fixes

* some cleaning

* some fixes

* some fixes

* remove `RelaxedPeriod`

* some fixes

* try `orderedTransactionSet`

* try lazy

* try lazy

* update miner/worker_test.go

* update miner/worker_test.go

* feat: implement relaxed period in clique

* fix `parent.Number`

* fix coinbase

* fix "create block"

* fix "updateSnapshot"

* make consensus engine wait for a bit before giving up on worker

* fix error handling
2024-07-24 21:31:25 +08:00
HAOYUatHZ
74578fa06e
refactor: remove unused storage traces (#902)
refactor: remove unused storage traces  (#819)

Co-authored-by: Ömer Faruk Irmak <omerfirmak@gmail.com>
2024-07-15 16:31:11 +08:00
HAOYUatHZ
fc5763e4bf
ChainConfig: update DescartesBlock to DarwinTime (#900)
update chainconfig: DescartesBlock -> DarwinTime
2024-07-12 14:27:21 +08:00
HAOYUatHZ
f777318776
sync l1datafee change for curie (#888)
* update rollup/rcfg/config.go

* update consensus/misc/curie.go

* update rollup/fees/rollup_fee_test.go

* update rollup/fees/rollup_fee.go

* update rollup/tracing/tracing.go

* update tests/state_test_util.go

* update light/txpool.go

* fix some

* update eth/tracers/internal/tracetest/prestate_test.go

* update eth/tracers/api.go

* update core/chain_makers.go

* update core/state_processor.go

* update cmd/evm/internal/t8ntool/execution.go

* update txpool

* update ethclient/ethclient_test.go

* update ethclient/gethclient/gethclient_test.go

* update core/blockchain_test.go

* update miner/worker.go

* update txpool 2
2024-07-09 20:45:54 +08:00
HAOYUatHZ
72577219c0
fix fee logic in TransitionDb (#887)
update fee_vault logic in TransitionDb
2024-07-08 17:08:22 +08:00
HAOYUatHZ
b5dee527c4
fix l2trace TransactionData (#882)
update `TransactionData` type
2024-07-04 16:03:19 +08:00
HAOYUatHZ
2f116b3bc5
update MakeSigner (#881) 2024-07-04 14:19:16 +08:00
HAOYUatHZ
0892822b8c
sync blob tx encoding/decoding fixes (#879)
* 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

* 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

---------

Co-authored-by: colin <102356659+colinlyguo@users.noreply.github.com>
2024-07-04 11:33:23 +08:00
HAOYUatHZ
a83c05c9c4
sync rollup_sync_service fixes (#860)
* 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>

* fix(rollup sync service): remove syscall.Kill (#636)

* fix(rollup sync service): remove syscall.Kill

* bump version

* fix(api-backend): disable finalized tag when rollup verify is disabled (#722)

---------

Co-authored-by: colin <102356659+colinlyguo@users.noreply.github.com>
Co-authored-by: Péter Garamvölgyi <peter@scroll.io>
2024-06-26 17:38:00 +08:00
HAOYUatHZ
360bc1ed5e
update summarizeBadBlock (#858) 2024-06-26 16:40:15 +08:00
HAOYUatHZ
9204dc4210
fix(txJSON): L1 message type MarshalJSON (#849)
* update core/types/transaction_marshalling.go

* update internal/ethapi/api.go
2024-06-24 15:18:43 +08:00
HAOYUatHZ
0144095e64
fix load genesis (#834)
* fix `SetupGenesisBlockWithOverride`

* fix `configOrDefault`
2024-06-19 20:50:39 +08:00
HAOYUatHZ
bed81b02f1
fix: sync l1msg fix from develop branch (#826)
* fix: ensure L1 messages are stored in db consistently (#679)

* fix: ensure L1 messages are stored in db consistently

* check db iterator errors

* 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

---------

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

fix

---------

Co-authored-by: Péter Garamvölgyi <peter@scroll.io>
Co-authored-by: colin <102356659+colinlyguo@users.noreply.github.com>
2024-06-13 20:15:21 +08:00
HAOYUatHZ
ef2ac7ee8c
fix: fix trie default hash (#803)
* update hashes.go

* fix trie

* silence
2024-06-13 19:35:17 +08:00
HAOYUatHZ
b3920abc9a
feat: skip RANDOM & PREVRANDAO opcodes (#811)
fix opRandom
2024-06-08 17:01:33 +08:00
HAOYUatHZ
b0b4608450
feat: config several forks opcodes & precompiles (#780)
* add Curie & Descartes InstructionSet; update LondonInstructionSet

* update core/vm/runtime/runtime.go

* update core/vm/opcodes.go

* update tests/init.go

* update core/vm/contracts.go

* update eth/tracers/js/tracer_test.go

* update core/state_processor_test.go

* london: update core/types/transaction_signing.go

* update tests/init.go

* update core/txpool/validation.go

* update tests/state_test_util.go

* remove selfdestruct
2024-06-01 16:22:31 +08:00
HAOYUatHZ
e5171495e1
feat: check basefee in Curie (#770)
* add consensus/misc/eip1559/eip1559_scroll.go

* update core/chain_makers.go

* add `fees.GetL1BaseFee`

* update eth/gasprice/feehistory.go

* fix internal/ethapi/api.go & eth/filters/api.go

* update graphql/graphql.go

* update miner/worker.go

* update txpool

* fix api_backend

* fix Curie

* update core/state_transition.go

* update internal/ethapi/transaction_args.go

* fix cmd/evm/internal/t8ntool/transition.go

* update core/state_processor_test.go

* update core/txpool/blobpool/blobpool_test.go

* fix internal/ethapi/api_test.go

* update eth/gasprice/gasprice_test.go

* update internal/ethapi/transaction_args_test.go

* update accounts/abi/bind/backends/simulated.go

* update accounts/abi/bind/base.go
2024-05-28 08:37:13 +08:00
HAOYUatHZ
34bf14978e
fix EmptyRootHash & ZkTrie's UpdateStorage; fix genesis (#759)
* ???

* fix `UpdateStorage`

* draft fix

* minor
2024-05-23 23:03:59 +08:00
HAOYUatHZ
62c81eee01
feat: add scroll network (#751)
* update core/genesis_alloc.go

* update eth/ethconfig/config.go

* update cmd/utils/flags.go

* fix cmd/utils/flags.go

* update params/bootnodes.go

* update cmd/geth/main.go

* update cmd/utils/flags.go

* update core/genesis.go

* update params/config.go

* try fix fork ordering 1

* try fix fork ordering 2

* update `TestGenesisHashes`

* update `TestCustomGenesis`

* allow shanghai in clique & ethhash
2024-05-17 20:20:43 +08:00
HAOYUatHZ
ca1ba1da87
feat: add ccc into miner (#674)
* add core/rawdb/accessors_row_consumption.go

* update core/rawdb/schema.go

* update eth/ethconfig/config.go

* update eth/ethconfig/gen_config.go

* update miner/miner.go

* update eth/backend.go

* update core/types.go

* update cmd/geth/main.go

* update cmd/utils/flags.go

* update core/types/block.go

* update core/block_validator.go

* WIP: update miner/worker.go

* WIP: update miner/worker.go

* WIP: update miner/worker.go

* WIP: update miner/worker.go

* WIP: update miner/worker.go

* WIP: update miner/worker.go add withTimer

* WIP: update miner/worker.go

* WIP: update miner/worker.go add some func

* WIP: update miner/worker.go `makeEnv`

* fix

* fix

* minor

* init traces return

* init accRows

* update `applyTransaction`

* fix `TestPriorityClient`

* miner: update metrics

* minor

* add `l2CommitTxTraceStateRevertTimer`

* update `calcAndSetAccRowsForEnv`

* start to work on `commitTransactions`

* seal block early if we're over time

* If we have collected enough transactions then we're done

* check L1 message queue index

* A single L1 message leads to out-of-gas

* more on nil err

* more error

* skip RemoveTx for now

* minor

* l1TxStrangeErr

* fix interface

* start to work on `commitWork`

* minor

* draft `fillTransactions`

* fix some types

* refactor

* fix

* add `circuitCapacityReached`

* minor

* fix `txToLazyTx`

* fix `(m *mockBackend) ChainDb()`

* fix `removeTx`

* update comments
2024-04-28 18:16:10 +08:00
HAOYUatHZ
b078aca5f6
refactor tracing codes (#675)
* update rollup/tracing/tracing.go

* rename

* fix
2024-03-20 08:44:20 +08:00
HAOYUatHZ
4ebc036d75
feat: add scroll trace (#620)
* add rollup/tracing/tracing.go

* update eth/tracers/logger/access_list_tracer.go

* update core/types/l2trace.go

* update core/vm/evm.go

* update core/evm.go

* update core/vm/interpreter.go

* update eth/tracers/logger/logger_json.go

* update core/vm/logger_trace.go

* mv core/vm/logger_trace.go

mv core/vm/logger_trace.go

* update eth/tracers/api_blocktrace.go

* update eth/tracers/js/tracer.go

* update `EVMLogger` interface

* fix `JSONLogger`'s `CaptureStateAfter`

* fix `OpcodeExecs`

* minor fixes

* fix eth/tracers/api_blocktrace.go

* comment out eth/tracers/logger/logger_trace.go

* fix

* update eth/tracers/api.go

* some renamings

* update cmd/utils/flags.go

* update rollup/tracing/tracing.go WIP

* fix interface

* minor

* fix `FormatLogs`

* Fix tracers (#663)

* export `CallTracer`

* export `CallTracer`

* export `PrestateTracer`

* export `MuxTracer`

* refactor

* merge `StructLogRes` (#662)

* merge `StructLogRes`

* clean up

* fix

* fix

* update core/block_validator.go

* update ethclient/ethclient.go

* merge `ExecutionResult` (#667)

* merge `ExecutionResult`

* fix l1datafee

* fix eth/tracers/api_test.go (#669)

* clean up

* WIP: update eth/tracers/logger/logger.go

* update `CaptureStart`

* update `CaptureExit`

* init `CaptureEnter`

* update `CaptureEnter` 1

* fix `CaptureEnter` 1

* fix depth

* fix `CaptureEnter` 2

* update `CaptureEnter` 2
2024-03-16 10:26:10 +08:00
HAOYUatHZ
521183581a
feat: add zktrie (#621)
* init

* add trie/database_types.go

* update params/config.go

* update les/server.go

* update core/types/state_account_marshalling.go

* add core/types/state_account_marshalling_test.go

* update eth/backend.go

* update trie/zk_trie.go

* update trie/zk_trie_database.go

* update trie/zk_trie_database_test.go

* update trie/zk_trie_impl_test.go

* update trie/zk_trie_proof_test.go

* update trie/zk_trie_test.go

* minor

* init database_supplement.go

* minor

* add some supplements

* fix

* fix

* add `zkproof` package

* add trie/zktrie_deletionproof.go

* init core/state/state_prove.go

* fix

* fix `(t *ZkTrie) Commit`

* fix

* update trie/proof.go

* fix trie/zk_trie_database.go

* update core/blockchain.go

* update core/genesis.go

* fix init trie_db (#639)

* add config

* update cmd/evm/internal/t8ntool/execution.go

* update core/chain_makers.go

* update cmd/evm/runner.go

fix cmd/evm/runner.go

* update core/chain_makers.go

* refactor `triedbConfig`

* update core/genesis.go

* refactor `genesis.ToBlock()`

* fix core/genesis_test.go

* update core/state/database.go

* update trie/database.go

* update core/state/state_object.go

* clean up

* fix tests

* fix `TestDump` & `TestIterativeDump` (#651)

* fix `TestDump`

* fix `compareStateObjects`

* fix `TestIterativeDump`

* fix `TestTinyTrie` & `TestCommitSequence` (#652)

* zktrie: fix tests (#656)

* fix `TestOdrContractCallLes2`

* fix `internal/ethapi` tests

* fix `TestFilters`

* fix `core/state/snapshot/generate_test.go

* update core/genesis_test.go (#658)
2024-03-06 11:50:28 +08:00
HAOYUatHZ
d3c7149942
fix rawdb isNotFoundErr (#657) 2024-03-05 20:07:44 +08:00
HAOYUatHZ
669e096e47
fix StateAccount.EncodeRLP (#648) 2024-03-02 15:33:10 +08:00
HAOYUatHZ
001a80226a
feat: add RowConsumption & RowUsage types (#625) 2024-01-31 10:41:51 +08:00
HAOYUatHZ
14d8266fc2
fix: fix (r *Receipt) decodeTyped (#617) 2024-01-15 20:49:35 +08:00
HAOYUatHZ
713fc8c254
feat: feevault (#614)
* update core/blockchain.go

* update core/vm/evm.go

* update core/evm.go

* fix bugs

* update core/vm/instructions.go
2024-01-11 12:48:37 +08:00
HAOYUatHZ
07d5fddde8
feat: l1datafee (#611)
* update params/config.go

* update core/state_transition.go

update core/state_transition.go

* update core/state_prefetcher.go

* update core/state_processor.go

* update core/types/gen_receipt_json.go

* update core/types/receipt.go

* update internal/ethapi/api.go

* update Message type and interface

* update accounts/abi/bind/backends/simulated.go

* update eth/tracers/api.go

* eth/tracers/logger/logger.go WIP

* update eth/state_accessor.go

update eth/state_accessor.go

* update les/state_accessor.go

* update cmd/evm/internal/t8ntool/execution.go

* update core/rawdb/accessors_chain.go

* update eth/api_backend.go

* update les/api_backend.go

* update `ValidateTransactionWithState`

* update light/txpool.go

* refactor `ErrInsufficientFundsWithL1DataFee`

* clean up `rollup/fees/rollup_fee.go`

* update tests/state_test_util.go

* fix tests
2024-01-09 16:58:02 +08:00
HAOYUatHZ
adfec9a0a3
feat: L1 msg tx (#610)
* update consensus/errors.go

* update core/types/receipt.go

* update core/genesis.go

* update core/blockchain.go

* update core/types/block.go

* update eth/handler.go

* update internal/ethapi/api.go

* update core/block_validator.go

* update internal/jsre/deps/web3.js

* add core/rawdb/accessors_skipped_txs.go & core/rawdb/accessors_skipped_txs_test.go

* update core/rawdb/schema.go

* update core/state_transition.go part-1

* update accounts/abi/bind/backends/simulated.go & interfaces.go

* update core/types/transaction.go

* update core/types/transaction_marshalling.go part-1

* update core/types/transaction_marshalling.go part-2

* update core/state_transition.go part-2

* update core/types/transaction_signing.go
2023-12-28 16:09:51 +08:00
HAOYUatHZ
44fed24237
add rollup_sync_service (#600)
* update cmd/geth/main.go

* update cmd/utils/flags.go

* add core/rawdb/accessors_rollup_event.go and tests

* update eth/ethconfig/gen_config.go

* update eth/ethconfig/config.go

* update core/rawdb/schema.go

* update eth/backend.go

* fix rollup/rollup_sync_service/rollup_sync_service.go
2023-12-21 16:17:47 +08:00
Nazarii Denha
857b28caa6
feat: return 0 for DIFFICULTY opcode (#603)
* disable selfdestruct and selfdestruct 6780

* return 0 for op DIFFICULTY

* fix test

* Revert "disable selfdestruct and selfdestruct 6780"

This reverts commit 6767a82d743fd17c8b45c5d7c335c0f1a0aac5cb.
2023-12-20 17:37:05 +08:00
HAOYUatHZ
ebae7861bc
add sync_service (#596)
* update node/config.go

* update eth/backend.go

* update params/config.go

* update core/events.go

* add core/rawdb/accessors_l1_message.go

* add core/rawdb/accessors_l1_message_test.go

* update ethdb/memorydb/memorydb.go

* update core/rawdb/schema.go

* update cmd/utils/flags.go

* update cmd/geth/main.go

* update core/rawdb/database.go

* update cmd/devp2p/internal/ethtest/suite_test.go

* update console/console_test.go

* update eth/catalyst/api_test.go

* update eth/catalyst/simulated_beacon_test.go

* update ethclient/ethclient_test.go

* update ethclient/gethclient/gethclient_test.go

* update graphql/graphql_test.go

* update les/api_test.go

* update miner/stress/clique/main.go
2023-12-14 19:19:52 +08:00
HAOYUatHZ
2cb5e034c1
feat: change BLOCKHASH opcode behavior to `keccak(chain_id || block… (#582)
* feat: change `BLOCKHASH` opcode behavior to `keccak(chain_id || block_number)`

* fix: conflicts in library for blockhash pr (#591)

* feat: change `BLOCKHASH` opcode behavior to `keccak(chain_id || block_number)`

* fix conflicts in library

---------

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

---------

Co-authored-by: Nazarii Denha <dengaaa2002@gmail.com>
2023-12-11 15:38:59 +08:00
HAOYUatHZ
ee9b3d9531
feat: add CodeSize to account (#587) 2023-12-07 19:39:59 +08:00
HAOYUatHZ
8c5bae2e69
feat: dual code hash (#583)
* add crypto/codehash/codehash.go

fix

* init EmptyCodeHash

* fix

* WIP

* fix

* ???

* minor

* update light/trie.go

* update cmd/geth/snapshot.go

* update core/state/dump.go

* update core/state/snapshot/conversion.go

* update core/state/snapshot/generate.go

* update core/state/pruner/pruner.go

* update core/state/iterator.go

* update core/state/sync.go

* update core/state/state_object.go

* update core/state/statedb.go

* update core/vm/interface.go

* update core/vm/evm.go

* update core/vm/instructions.go

* update core/vm/contract.go

* update core/state_transition.go

* update les/server_requests.go

* update eth/protocols/snap/sync.go

* update internal/ethapi/api.go

* update cmd/geth/snapshot.go

* update ethclient/gethclient/gethclient.go

* gofmt

* fix `(s *stateObject) SetCode`

* fix tests

* minor

* minor

minor
2023-12-01 14:02:09 +08:00