cuprated::txpool::incoming_tx

Function prepare_incoming_txs

Source
async fn prepare_incoming_txs(
    tx_blobs: Vec<Bytes>,
    txs_being_handled: TxsBeingHandled,
    txpool_read_handle: &mut TxpoolReadHandle,
) -> Result<(Vec<Arc<TransactionVerificationData>>, Vec<[u8; 32]>, TxsBeingHandledLocally), IncomingTxError>
Expand description

Prepares the incoming transactions for verification.

This will filter out all transactions already in the pool or txs already being handled in another request.

Returns in order:

  • The TransactionVerificationData for all the txs we did not already have
  • The Ids of the transactions in the incoming message that are in our stem-pool
  • A TxsBeingHandledLocally guard that prevents verifying the same tx at the same time across 2 tasks.