Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Ensure all txs are removed from mempool when block building is interrupted #29

Merged
merged 523 commits into from
Jun 20, 2024

Conversation

bharath-123
Copy link
Contributor

@bharath-123 bharath-123 commented Jun 11, 2024

There are 2 cases in the block building logic which can interrupt the block building process:

  1. When there is a timeout
  2. When the gaspool runs of out of gas.

Currently, in these cases we weren't removing all the txs out of the mempool for these cases causing txs to live in mempool for a long time. This PR fixes that

MariusVanDerWijden and others added 30 commits June 10, 2024 22:19
* node: fix test if directory already exists

* node: remove test
…tion (#29169)

* eth: drop support for forward sync triggers and head block packets

* consensus, eth: enforce always merged network

* eth: fix tx looper startup and shutdown

* cmd, core: fix some tests

* core: remove notion of future blocks

* core, eth: drop unused methods and types
* eth/tracers: prestate balance add blob fee

Signed-off-by: jsvisa <delweng@gmail.com>

* eth/tracers: prestate test support blob tx

Signed-off-by: jsvisa <delweng@gmail.com>

* eth/tracers: add prestate blob tx test

Signed-off-by: jsvisa <delweng@gmail.com>

---------

Signed-off-by: jsvisa <delweng@gmail.com>
* miner: untangle miner

* miner: use common.hash instead of *types.header

* cmd/geth: deprecate --mine

* eth: get rid of most miner api

* console: get rid of coinbase in welcome message

* miner/stress: get rid of the miner stress test

* eth: get rid of miner.setEtherbase

* ethstats: remove miner and hashrate flags

* ethstats: remove miner and hashrate flags

* cmd: rename pendingBlockProducer to miner.pending.feeRecipient flag

* miner: use pendingFeeRecipient instead of etherbase

* miner: add mutex to protect the pending block

* miner: add mutex to protect the pending block

* eth: get rid of etherbase mentions

* miner: no need to lock the coinbase

* eth, miner: fix linter

---------

Co-authored-by: Martin Holst Swende <martin@swende.se>
Co-authored-by: Péter Szilágyi <peterke@gmail.com>
Here we add a beacon chain light client for use by geth.

Geth can now be configured to run against a beacon chain API endpoint,
without pointing a CL to it. To set this up, use the `--beacon.api` flag. Information
provided by the beacon chain is verified, i.e. geth does not blindly trust the beacon
API endpoint in this mode. The root of trust are the beacon chain 'sync committees'.

The configured beacon API endpoint must provide light client data. At this time, only
Lodestar and Nimbus provide the necessary APIs.

There is also a standalone tool, cmd/blsync, which uses the beacon chain light client
to drive any EL implementation via its engine API.

---------

Co-authored-by: Felix Lange <fjl@twurst.com>
log: Add Handler getter to Logger interface
* cmd, core, metrics: always report expensive metrics

* core, metrics: report block processing metrics as resetting timer

* metrics: update reporter tests
Signed-off-by: Lee Bousfield <ljbousfield@gmail.com>
Package filepath implements utility routines for manipulating filename paths in a way compatible with the target operating system-defined file paths.

Package path implements utility routines for manipulating slash-separated paths.

The path package should only be used for paths separated by forward slashes, such as the paths in URLs
…9223)


Co-authored-by: Felix Lange <fjl@twurst.com>
common/math: does not change base parameter
Co-authored-by: Stefan <stefan@starflinger.eu>
This change fixes a concurrency-issue where JS-tracers were accessing the block-ctx GetHash function in a in parallel, which is not safe.
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: ethereum/c-kzg-4844#393 and
- go-kzg: https://github.com/crate-crypto/go-kzg-4844/pull/63
* core: improve chain rewinding mechanism

* core: address comment

* core: periodically print progress log

* core: address comments

* core: fix comment

* core: fix rewinding in path

* core: fix beyondRoot condition

* core: polish code

* core: polish code

* core: extend code comment

* core: stop rewinding if chain is gapped or genesis is reached

* core: fix broken tests
@bharath-123 bharath-123 force-pushed the bharath/fix-tx-exclusion branch from f840794 to 317b3db Compare June 11, 2024 14:53
@bharath-123 bharath-123 force-pushed the bharath/fix-tx-exclusion branch from 317b3db to cd2c0c3 Compare June 11, 2024 14:55
@bharath-123 bharath-123 marked this pull request as ready for review June 11, 2024 16:17
@bharath-123 bharath-123 force-pushed the bharath/fix-tx-exclusion branch 2 times, most recently from f493e2b to 779832c Compare June 18, 2024 07:40
@bharath-123 bharath-123 force-pushed the bharath/fix-tx-exclusion branch from 779832c to 0563cb5 Compare June 18, 2024 07:40
Base automatically changed from bharath/update-to-1.14 to main June 20, 2024 15:58
@joroshiba joroshiba merged commit f59ca43 into main Jun 20, 2024
2 checks passed
@joroshiba joroshiba deleted the bharath/fix-tx-exclusion branch June 20, 2024 20:01
steezeburger added a commit that referenced this pull request Jul 9, 2024
* main:
  fix: update with new asset proto (#34)
  feat: support bech32 addresses (#30)
  fix: Ensure all txs are removed from mempool when block building is interrupted (#29)
  disallow users from sending deposit txs and blob txs via the rpc (#24)
  Update Astria-geth to use geth 1.14.3 (#21)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.