Interface PluginTransactionSelectorFactory


public interface PluginTransactionSelectorFactory
Interface for a factory that creates transaction selector and propose pending transaction for block inclusion
  • Method Details

    • create

      @Deprecated(forRemoval=true) default PluginTransactionSelector create(SelectorsStateManager selectorsStateManager)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Create a plugin transaction selector, that can be used during block creation to apply custom filters to proposed pending transactions
      Parameters:
      selectorsStateManager - the selectors state manager
      Returns:
      the transaction selector
    • create

      default PluginTransactionSelector create(ProcessableBlockHeader pendingBlockHeader, SelectorsStateManager selectorsStateManager)
      Create a plugin transaction selector, that can be used during block creation to apply custom filters to proposed pending transactions
      Parameters:
      pendingBlockHeader - the header of the block being created
      selectorsStateManager - the selectors state manager
      Returns:
      the transaction selector
    • selectPendingTransactions

      default void selectPendingTransactions(BlockTransactionSelectionService blockTransactionSelectionService, ProcessableBlockHeader pendingBlockHeader, List<? extends org.hyperledger.besu.datatypes.PendingTransaction> candidatePendingTransactions)
      Called during the block creation to allow plugins to propose their own pending transactions for block inclusion
      Parameters:
      blockTransactionSelectionService - the service used by the plugin to evaluate pending transactions and commit or rollback changes
      pendingBlockHeader - the header of the block being created
      candidatePendingTransactions - the unmodifiable list of candidate pending transactions from the public pool, in the order they will be evaluated