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.