Commit graph

14674 commits

Author SHA1 Message Date
HAOYUatHZ
f3c8cc1cb7
test: add eip1559_scroll_test.go (#784) 2024-05-30 11:52:49 +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
47f5a9668d
build: update dockerfiles (#750)
* update Makefile

* update Dockerfile

* add Dockerfile.mockccc

* add Dockerfile.mockccc.alpine
2024-05-14 10:12:46 +08:00
HAOYUatHZ
2d335724b0
feat: compile ccc (#741)
* update Makefile

* update

* fix github action
2024-05-07 16:04:32 +08:00
HAOYUatHZ
40f30fd7be
build(ci): add github docker workflow (#733) 2024-04-29 14:47:19 +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
bdcede5221
fix TestStructLogMarshalingOmitEmpty (#727) 2024-04-28 12:53:44 +08:00
HAOYUatHZ
675d81b417
fix(test): fix TestStoreCapture (#711) 2024-04-18 23:31:36 +08:00
HAOYUatHZ
b078aca5f6
refactor tracing codes (#675)
* update rollup/tracing/tracing.go

* rename

* fix
2024-03-20 08:44:20 +08:00
HAOYUatHZ
badcd0c432
fix StructLog (#672) 2024-03-16 16:23:49 +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
2829e66aea
fix ProofTracer interface (#666)
* fix `TestProofWithDeletion`

* fix `ProofTracer` interface
2024-03-12 19:13:56 +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
a196d0320e
fix internal/ethapi/api_test.go (#655)
* fix `TestTransaction_RoundTripRpcJSON`

* fix `TestTransactionBlobTx`

* fix `TestRPCMarshalBlock`
2024-03-04 23:17:00 +08:00
HAOYUatHZ
669e096e47
fix StateAccount.EncodeRLP (#648) 2024-03-02 15:33:10 +08:00
HAOYUatHZ
edb91fee55
test: skip TestExecutionSpec (#647) 2024-02-28 16:23:11 +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
35b8da75a0
correctly handle finalized&safe block number (#605)
* better naming

* update eth/api_backend.go

* update eth/gasprice/feehistory.go
2023-12-22 15:24:58 +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
a6859fb6bd
fix types in gethclient.Client.GetProof (#599) 2023-12-14 19:04:52 +08:00
HAOYUatHZ
36ddb8d069
Revert "fix testGetProof (#597)" (#598)
This reverts commit ed07a8aff1.
2023-12-14 19:02:36 +08:00
HAOYUatHZ
ed07a8aff1
fix testGetProof (#597) 2023-12-14 18:01:02 +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
23ca4d58a1
fix eth/protocols/snap/sync_test.go (#590) 2023-12-07 19:04:12 +08:00
HAOYUatHZ
60216e44c3
fix eth/protocols/snap/sync_test.go (#589) 2023-12-05 15:31:37 +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
HAOYUatHZ
b639349788
feat: add BlockTxCount limit and BlockPayloadSize limit (#584)
* update consensus/errors.go

* update core/error.go

* update core/types/block.go

* update rollup/rcfg/config.go

* update params/config.go

* update core/block_validator.go

* fix

* update miner/worker.go

* fix
2023-11-28 15:24:21 +08:00
HAOYUatHZ
c70a901ed3
fix: fix bn256Pairing & modexp precompiles tests (#585)
* fix: fix `bn256Pairing` & `modexp` precompiles tests

* fix failed jsons
2023-11-28 14:22:49 +08:00
HAOYUatHZ
17bd8b2815
feat: allow at most 4 inputs for Bn256Pairing precompile (#581)
* feat: allow at most 4 inputs for `Bn256Pairing` precompile

* mv core/vm/testdata/precompiles/bn256Pairing.json core/vm/testdata/precompiles/fail-bn256Pairing.json
2023-11-24 13:50:53 +08:00
HAOYUatHZ
563e36e542
feat: restrict modexp input length (#580)
* feat: restrict `modexp` inputs length

* mv core/vm/testdata/precompiles/modexp.json core/vm/testdata/precompiles/fail-modexp.json

* mv core/vm/testdata/precompiles/modexp_eip2565.json core/vm/testdata/precompiles/fail-modexp_eip2565.json
2023-11-24 13:50:20 +08:00
HAOYUatHZ
9fc7318213
ci: add github action workflow (#577)
* ci: add github test actions

* gofmt cmd/utils/flags.go

* fix some tests

* rename
2023-11-23 16:48:27 +08:00
HAOYUatHZ
fc8e8622d3
feat: add eth_getLogs block range limit (#576)
* update cmd/geth/main.go

* update `eth/ethconfig` package

* update `eth/filters` package

* update cmd/utils/flags.go

* fix cmd/utils/flags.go

* fix eth/filters/filter.go
2023-11-23 14:38:28 +08:00
HAOYUatHZ
fccf142288
feat: add archimedes fork (disable sha256, ripemd160, blake2f precompiles) (#574)
* update core/vm/contracts.go

* update core/vm/evm.go

* update core/vm/runtime/runtime.go

* update params/config.go

* update `(c *ChainConfig) Description()`

* fix
2023-11-22 15:15:10 +08:00
HAOYUatHZ
8f446dd407
feat: add Address.Bytes32() (#572) 2023-11-20 17:13:33 +08:00
HAOYUatHZ
f9d396cf57
feat: improve hexutil.Decode (#571) 2023-11-20 17:09:11 +08:00
HAOYUatHZ
932d6e371c
add crypto/poseidon package (#570) 2023-11-20 16:48:21 +08:00
HAOYUatHZ
5ffd345358
feat: http&ws compression (#569) 2023-11-20 16:39:12 +08:00
HAOYUatHZ
6f99663b3b
feat(ws): increase wsReadBuffer, wsWriteBuffer & `wsMessageSizeLi… (#568)
feat(ws): increase `wsReadBuffer`, `wsWriteBuffer` & `wsMessageSizeLimit`
2023-11-20 15:34:59 +08:00
HAOYUatHZ
ec2054c3ea
rename back imports in rollup packages (#567) 2023-11-20 13:19:16 +08:00
HAOYUatHZ
401a366b9e
add rollup/rollup_sync_service package (#566) 2023-11-20 13:12:53 +08:00