Trait tp_transaction_pool::TransactionPool[][src]

pub trait TransactionPool: Send + Sync {
    type Block: BlockT;
    type Hash: Hash + Eq + Member + Serialize;
    type InPoolTransaction: InPoolTransaction<Transaction = TransactionFor<Self>, Hash = TxHash<Self>>;
    type Error: From<Error> + IntoPoolError;
    fn submit_at(
        &self,
        at: &BlockId<Self::Block>,
        source: TransactionSource,
        xts: Vec<TransactionFor<Self>>
    ) -> PoolFuture<Vec<Result<TxHash<Self>, Self::Error>>, Self::Error>;
fn submit_one(
        &self,
        at: &BlockId<Self::Block>,
        source: TransactionSource,
        xt: TransactionFor<Self>
    ) -> PoolFuture<TxHash<Self>, Self::Error>;
fn submit_and_watch(
        &self,
        at: &BlockId<Self::Block>,
        source: TransactionSource,
        xt: TransactionFor<Self>
    ) -> PoolFuture<Box<TransactionStatusStreamFor<Self>>, Self::Error>;
fn ready_at(
        &self,
        at: NumberFor<Self::Block>
    ) -> Pin<Box<dyn Future<Output = Box<dyn Iterator<Item = Arc<Self::InPoolTransaction>> + Send>> + Send>>;
fn ready(
        &self
    ) -> Box<dyn Iterator<Item = Arc<Self::InPoolTransaction>> + Send>;
fn remove_invalid(
        &self,
        hashes: &[TxHash<Self>]
    ) -> Vec<Arc<Self::InPoolTransaction>>;
fn status(&self) -> PoolStatus;
fn import_notification_stream(
        &self
    ) -> ImportNotificationStream<TxHash<Self>>;
fn on_broadcasted(&self, propagations: HashMap<TxHash<Self>, Vec<String>>);
fn hash_of(&self, xt: &TransactionFor<Self>) -> TxHash<Self>;
fn ready_transaction(
        &self,
        hash: &TxHash<Self>
    ) -> Option<Arc<Self::InPoolTransaction>>; }

Transaction pool interface.

Associated Types

type Block: BlockT[src]

Block type.

type Hash: Hash + Eq + Member + Serialize[src]

Transaction hash type.

type InPoolTransaction: InPoolTransaction<Transaction = TransactionFor<Self>, Hash = TxHash<Self>>[src]

In-pool transaction type.

type Error: From<Error> + IntoPoolError[src]

Error type.

Loading content...

Required methods

fn submit_at(
    &self,
    at: &BlockId<Self::Block>,
    source: TransactionSource,
    xts: Vec<TransactionFor<Self>>
) -> PoolFuture<Vec<Result<TxHash<Self>, Self::Error>>, Self::Error>
[src]

Returns a future that imports a bunch of unverified transactions to the pool.

fn submit_one(
    &self,
    at: &BlockId<Self::Block>,
    source: TransactionSource,
    xt: TransactionFor<Self>
) -> PoolFuture<TxHash<Self>, Self::Error>
[src]

Returns a future that imports one unverified transaction to the pool.

fn submit_and_watch(
    &self,
    at: &BlockId<Self::Block>,
    source: TransactionSource,
    xt: TransactionFor<Self>
) -> PoolFuture<Box<TransactionStatusStreamFor<Self>>, Self::Error>
[src]

Returns a future that import a single transaction and starts to watch their progress in the pool.

fn ready_at(
    &self,
    at: NumberFor<Self::Block>
) -> Pin<Box<dyn Future<Output = Box<dyn Iterator<Item = Arc<Self::InPoolTransaction>> + Send>> + Send>>
[src]

Get an iterator for ready transactions ordered by priority.

Guarantees to return only when transaction pool got updated at at block. Guarantees to return immediately when None is passed.

fn ready(&self) -> Box<dyn Iterator<Item = Arc<Self::InPoolTransaction>> + Send>[src]

Get an iterator for ready transactions ordered by priority.

fn remove_invalid(
    &self,
    hashes: &[TxHash<Self>]
) -> Vec<Arc<Self::InPoolTransaction>>
[src]

Remove transactions identified by given hashes (and dependent transactions) from the pool.

fn status(&self) -> PoolStatus[src]

Returns pool status.

fn import_notification_stream(&self) -> ImportNotificationStream<TxHash<Self>>[src]

Return an event stream of transactions imported to the pool.

fn on_broadcasted(&self, propagations: HashMap<TxHash<Self>, Vec<String>>)[src]

Notify the pool about transactions broadcast.

fn hash_of(&self, xt: &TransactionFor<Self>) -> TxHash<Self>[src]

Returns transaction hash

fn ready_transaction(
    &self,
    hash: &TxHash<Self>
) -> Option<Arc<Self::InPoolTransaction>>
[src]

Return specific ready transaction by hash, if there is one.

Loading content...

Implementors

Loading content...