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>,
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>,
sourcepub fn new_full(
options: Options,
is_validator: IsValidator,
prometheus: Option<&PrometheusRegistry>,
spawner: impl SpawnEssentialNamed,
client: Arc<Client>,
) -> Arc<Self>
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>
impl<PoolApi, Block> BasicPool<PoolApi, Block>
sourcepub 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>>)
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.
sourcepub 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
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.
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>,
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 Hash = <<FullChainApi<Client, Block> as ChainApi>::Block as Block>::Hash
type Hash = <<FullChainApi<Client, Block> as ChainApi>::Block as Block>::Hash
Transaction hash type.
§type Error = <FullChainApi<Client, Block> as ChainApi>::Error
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>
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>
impl<PoolApi, Block> MaintainedTransactionPool for BasicPool<PoolApi, Block>
source§impl<PoolApi, Block> TransactionPool for BasicPool<PoolApi, Block>
impl<PoolApi, Block> TransactionPool for BasicPool<PoolApi, Block>
§type InPoolTransaction = Transaction<<BasicPool<PoolApi, Block> as TransactionPool>::Hash, <<BasicPool<PoolApi, Block> as TransactionPool>::Block as Block>::Extrinsic>
type InPoolTransaction = Transaction<<BasicPool<PoolApi, Block> as TransactionPool>::Hash, <<BasicPool<PoolApi, Block> as TransactionPool>::Block as Block>::Extrinsic>
In-pool transaction 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>
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>
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>
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>>
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
fn status(&self) -> PoolStatus
Returns pool status.
source§fn import_notification_stream(&self) -> ImportNotificationStream<TxHash<Self>>
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>
fn hash_of(&self, xt: &TransactionFor<Self>) -> TxHash<Self>
Returns transaction hash
source§fn on_broadcasted(&self, propagations: HashMap<TxHash<Self>, Vec<String>>)
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>>
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>>
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>
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>
fn futures(&self) -> Vec<Self::InPoolTransaction>
Get futures transaction list.