Type Alias sc_transaction_pool::FullPool

source ·
pub type FullPool<Block, Client> = BasicPool<FullChainApi<Client, Block>, Block>;
Expand description

A transaction pool for a full node.

Aliased Type§

struct FullPool<Block, Client> { /* private fields */ }

Implementations§

source§

impl<Block, Client> FullPool<Block, Client>
where Block: BlockT, Client: ProvideRuntimeApi<Block> + BlockBackend<Block> + HeaderBackend<Block> + BlockIdTo<Block> + ExecutorProvider<Block> + UsageProvider<Block> + HeaderMetadata<Block, Error = Error> + Send + Sync + 'static, Client::Api: TaggedTransactionQueue<Block>,

source

pub fn new_full( options: Options, is_validator: IsValidator, prometheus: Option<&PrometheusRegistry>, spawner: impl SpawnEssentialNamed, client: Arc<Client>, ) -> Arc<Self>

Create new basic transaction pool for a full node with the provided api.

source§

impl<PoolApi, Block> BasicPool<PoolApi, Block>
where Block: BlockT, PoolApi: ChainApi<Block = Block> + 'static,

source

pub fn new_test( pool_api: Arc<PoolApi>, best_block_hash: Block::Hash, finalized_hash: Block::Hash, options: Options, ) -> (Self, Pin<Box<dyn Future<Output = ()> + Send>>)

Create new basic transaction pool with provided api, for tests.

source

pub fn with_revalidation_type( options: Options, is_validator: IsValidator, pool_api: Arc<PoolApi>, prometheus: Option<&PrometheusRegistry>, revalidation_type: RevalidationType, spawner: impl SpawnEssentialNamed, best_block_number: NumberFor<Block>, best_block_hash: Block::Hash, finalized_hash: Block::Hash, ) -> Self

Create new basic transaction pool with provided api and custom revalidation type.

source

pub fn pool(&self) -> &Arc<Pool<PoolApi>>

Gets shared reference to the underlying pool.

source

pub fn api(&self) -> &PoolApi

Get access to the underlying api

Trait Implementations

source§

impl<Block, Client> LocalTransactionPool for BasicPool<FullChainApi<Client, Block>, Block>
where Block: BlockT, Client: ProvideRuntimeApi<Block> + BlockBackend<Block> + HeaderBackend<Block> + BlockIdTo<Block> + HeaderMetadata<Block, Error = Error> + Send + Sync + 'static, Client::Api: TaggedTransactionQueue<Block>,

§

type Block = Block

Block type.
§

type Hash = <<FullChainApi<Client, Block> as ChainApi>::Block as Block>::Hash

Transaction hash type.
§

type Error = <FullChainApi<Client, Block> as ChainApi>::Error

Error type.
source§

fn submit_local( &self, at: Block::Hash, xt: LocalTransactionFor<Self>, ) -> Result<Self::Hash, Self::Error>

Submits the given local unverified transaction to the pool blocking the current thread for any necessary pre-verification. NOTE: It MUST NOT be used for transactions that originate from the network or RPC, since the validation is performed with TransactionSource::Local.
source§

impl<PoolApi, Block> MaintainedTransactionPool for BasicPool<PoolApi, Block>
where Block: BlockT, PoolApi: 'static + ChainApi<Block = Block>,

source§

fn maintain<'life0, 'async_trait>( &'life0 self, event: ChainEvent<Self::Block>, ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Perform maintenance
source§

impl<PoolApi, Block> TransactionPool for BasicPool<PoolApi, Block>
where Block: BlockT, PoolApi: 'static + ChainApi<Block = Block>,

§

type Block = <PoolApi as ChainApi>::Block

Block type.
§

type Hash = <<PoolApi as ChainApi>::Block as Block>::Hash

Transaction hash type.
§

type InPoolTransaction = Transaction<<BasicPool<PoolApi, Block> as TransactionPool>::Hash, <<BasicPool<PoolApi, Block> as TransactionPool>::Block as Block>::Extrinsic>

In-pool transaction type.
§

type Error = <PoolApi as ChainApi>::Error

Error type.
source§

fn submit_at( &self, at: <Self::Block as BlockT>::Hash, source: TransactionSource, xts: Vec<TransactionFor<Self>>, ) -> PoolFuture<Vec<Result<TxHash<Self>, Self::Error>>, Self::Error>

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

fn submit_one( &self, at: <Self::Block as BlockT>::Hash, source: TransactionSource, xt: TransactionFor<Self>, ) -> PoolFuture<TxHash<Self>, Self::Error>

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

fn submit_and_watch( &self, at: <Self::Block as BlockT>::Hash, source: TransactionSource, xt: TransactionFor<Self>, ) -> PoolFuture<Pin<Box<TransactionStatusStreamFor<Self>>>, Self::Error>

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

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

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

fn status(&self) -> PoolStatus

Returns pool status.
source§

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

Return an event stream of transactions imported to the pool.
source§

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

Returns transaction hash
source§

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

Notify the pool about transactions broadcast.
source§

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

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

fn ready_at( &self, at: NumberFor<Self::Block>, ) -> Pin<Box<dyn Future<Output = Box<dyn ReadyTransactions<Item = Arc<Transaction<<<PoolApi as ChainApi>::Block as Block>::Hash, <<PoolApi as ChainApi>::Block as Block>::Extrinsic>>> + Send>> + Send>>

Get an iterator for ready transactions ordered by priority. Read more
source§

fn ready( &self, ) -> Box<dyn ReadyTransactions<Item = Arc<Transaction<<<PoolApi as ChainApi>::Block as Block>::Hash, <<PoolApi as ChainApi>::Block as Block>::Extrinsic>>> + Send>

Get an iterator for ready transactions ordered by priority.
source§

fn futures(&self) -> Vec<Self::InPoolTransaction>

Get futures transaction list.