cuprate_dandelion_tower

Module pool

Source
Expand description

§Dandelion++ Pool

This module contains DandelionPoolManager which is a wrapper around a backing transaction store, which fully implements the dandelion++ protocol.

The DandelionPoolManager is a middle man between a preprocessing stage and a dandelion router. It handles promoting transactions in the stem state to the fluff state and setting embargo timers on stem state transactions.

§Preprocessing stage

The preprocessing stage (not handled in this crate) before giving the transaction to the DandelionPoolManager should handle:

  • verifying the tx.
  • checking if we have the tx in the pool already and giving that information to the IncomingTxBuilder.
  • storing the tx in the pool, if it isn’t there already.

§Keep Stem Transactions Hidden

When using your handle to the backing store it must be remembered to keep transactions in the stem pool hidden. So handle any requests to the tx-pool like the stem side of the pool does not exist.

Structs§

Functions§