Skip to content

Pass block creation candidate transaction list to plugins#9627

Merged
fab-10 merged 1 commit intobesu-eth:mainfrom
fab-10:pass-candidate-pending-transactions-to-plugins
Jan 15, 2026
Merged

Pass block creation candidate transaction list to plugins#9627
fab-10 merged 1 commit intobesu-eth:mainfrom
fab-10:pass-candidate-pending-transactions-to-plugins

Conversation

@fab-10
Copy link
Copy Markdown
Contributor

@fab-10 fab-10 commented Jan 12, 2026

PR description

Pass candidate pending transactions to plugins

Summary

Provides plugins with visibility into the public transaction pool during block creation by passing the list of candidate pending transactions to the plugin transaction selection API.

Changes

  • Modified TransactionSelectionService.selectPendingTransactions() to include a candidatePendingTransactions parameter containing the list of transactions from the public pool

Motivation

Plugins can now see the full context of available transactions in the public pool, enabling better decision-making for custom transaction selection logic.

Breaking Changes

  • Plugin API: PluginTransactionSelectorFactory.selectPendingTransactions() signature changed - plugins must update to accept the new candidatePendingTransactions parameter

Fixed Issue(s)

Thanks for sending a pull request! Have you done the following?

  • Checked out our contribution guidelines?
  • Considered documentation and added the doc-change-required label to this PR if updates are required.
  • Considered the changelog and included an update if required.
  • For database changes (e.g. KeyValueSegmentIdentifier) considered compatibility and performed forwards and backwards compatibility tests

Locally, you can run these tests to catch failures early:

  • spotless: ./gradlew spotlessApply
  • unit tests: ./gradlew build
  • acceptance tests: ./gradlew acceptanceTest
  • integration tests: ./gradlew integrationTest
  • reference tests: ./gradlew ethereum:referenceTests:referenceTests
  • hive tests: Engine or other RPCs modified?

@fab-10 fab-10 force-pushed the pass-candidate-pending-transactions-to-plugins branch 3 times, most recently from 09c7e88 to a51bea1 Compare January 13, 2026 10:01
@fab-10 fab-10 marked this pull request as ready for review January 13, 2026 10:27
Copilot AI review requested due to automatic review settings January 13, 2026 10:27
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@daniellehrner daniellehrner requested a review from Copilot January 14, 2026 14:15
@fab-10 fab-10 added the plugins label Jan 14, 2026
@github-project-automation github-project-automation bot moved this to Backlog in Plugins API Jan 14, 2026
@fab-10 fab-10 moved this from Backlog to In review in Plugins API Jan 14, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Copy link
Copy Markdown
Contributor

@daniellehrner daniellehrner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some clarifying questions about removed tests and if the breaking change is really neeeded.

Also the changelog entry is currently missing. If we go with the breaking change, we need it and ideally also show a migration path, with an example or a text description

@fab-10 fab-10 force-pushed the pass-candidate-pending-transactions-to-plugins branch from a51bea1 to 2c8ee4b Compare January 15, 2026 10:35
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
@fab-10 fab-10 force-pushed the pass-candidate-pending-transactions-to-plugins branch from 2c8ee4b to d4277e5 Compare January 15, 2026 10:37
@fab-10 fab-10 enabled auto-merge (squash) January 15, 2026 11:29
@fab-10 fab-10 merged commit adb751f into besu-eth:main Jan 15, 2026
57 of 61 checks passed
@github-project-automation github-project-automation bot moved this from In review to Done in Plugins API Jan 15, 2026
@fab-10 fab-10 deleted the pass-candidate-pending-transactions-to-plugins branch January 15, 2026 14:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants