* eth, core: track block announcement and import timings
* eth: track total delay
* eth: add more context and prefix in logs
* eth/fetcher: fix invalid tracking of received at time
* put logs behind log.enable-block-tracking flag
* fix lint
* improve logging
* add comments
* add comments
This pull request resets the txlookup cache if chain reorg happens,
preventing them from remaining reachable. It addresses failures in
the hive tests.
Co-authored-by: rjl493456442 <garyrong0905@gmail.com>
* changed parallel universe HF to napoli HF
* integration-tests: update ipc path on ci tests (#1127)
* integration-tests: update ipc path on ci tests
* added devnetBorFlags in matic-cli-config.yml
---------
Co-authored-by: Pratik Patil <pratikspatil024@gmail.com>
* Revert "integration-tests: update ipc path on ci tests (#1127)"
This reverts commit 0660fac39b.
* using cancun for block-stm metadata instead of napoli
* added a check to verify tx dependencies and test cases
* fix in snapshot.chainConfig
* removed snapshot.*params.BorConfig using snapshot.chainConfig.Bor instead
* removed unnecessary if statement in ParallelStateProcessor.Process
* addressed comment
* small fix in commitTransactions
* dependency calculation bug fix in miner/worker.go
---------
Co-authored-by: Manav Darji <manavdarji.india@gmail.com>
Co-authored-by: Arpit Temani <temaniarpit27@gmail.com>
* should use Lock when mutating the flag
* same problem in MVHashMap.Write
* hole the rlock while reading WriteCell
---------
Co-authored-by: zhiqiangxu <652732310@qq.com>
This change implements CommitteeChain which is a key component of the beacon light client. It is a passive data structure that can validate, hold and update a chain of beacon light sync committees and updates, starting from a checkpoint that proves the starting committee through a beacon block hash, header and corresponding state. Once synced to the current sync period, CommitteeChain can also validate signed beacon headers.
The dump after state-test didn't work, the problem was an error, "Already committed", which was silently ignored.
This change re-initialises the state, so the dumping works again.
This PR replaces Geth's logger package (a fork of [log15](https://github.com/inconshreveable/log15)) with an implementation using slog, a logging library included as part of the Go standard library as of Go1.21.
Main changes are as follows:
* removes any log handlers that were unused in the Geth codebase.
* Json, logfmt, and terminal formatters are now slog handlers.
* Verbosity level constants are changed to match slog constant values. Internal translation is done to make this opaque to the user and backwards compatible with existing `--verbosity` and `--vmodule` options.
* `--log.backtraceat` and `--log.debug` are removed.
The external-facing API is largely the same as the existing Geth logger. Logger method signatures remain unchanged.
A small semantic difference is that a `Handler` can only be set once per `Logger` and not changed dynamically. This just means that a new logger must be instantiated every time the handler of the root logger is changed.
----
For users of the `go-ethereum/log` module. If you were using this module for your own project, you will need to change the initialization. If you previously did
```golang
log.Root().SetHandler(log.LvlFilterHandler(log.LvlInfo, log.StreamHandler(os.Stderr, log.TerminalFormat(true))))
```
You now instead need to do
```golang
log.SetDefault(log.NewLogger(log.NewTerminalHandlerWithLevel(os.Stderr, log.LevelInfo, true)))
```
See more about reasoning here: https://github.com/ethereum/go-ethereum/issues/28558#issuecomment-1820606613
* eth/gasestimator: early exit for plain transfer and error allowance
* core, eth/gasestimator: hard guess at a possible required gas
* internal/ethapi: update estimation tests with the error ratio
* eth/gasestimator: I hate you linter
* graphql: fix gas estimation test
---------
Co-authored-by: Oren <orenyomtov@users.noreply.github.com>
There were several problems related to dumping state.
- If a preimage was missing, even if we had set the `OnlyWithAddresses` to `false`, to export them anyway, the way the mapping was constructed (using `common.Address` as key) made the entries get lost anyway. Concerns both state- and blockchain tests.
- Blockchain test execution was not configured to store preimages.
This changes makes it so that the block test executor takes a callback, just like the state test executor already does. This callback can be used to examine the post-execution state, e.g. to aid debugging of test failures.