Trait sc_service::TransactionPool
source · pub trait TransactionPool: Send + Sync {
type Block: Block;
type Hash: Hash + Eq + Member + Serialize + DeserializeOwned + Codec;
type InPoolTransaction: InPoolTransaction<Transaction = Arc<<Self::Block as Block>::Extrinsic>, Hash = Self::Hash>;
type Error: From<Error> + IntoPoolError;
Show 13 methods
// Required methods
fn submit_at<'life0, 'async_trait>(
&'life0 self,
at: <Self::Block as Block>::Hash,
source: TransactionSource,
xts: Vec<<Self::Block as Block>::Extrinsic>,
) -> Pin<Box<dyn Future<Output = Result<Vec<Result<Self::Hash, Self::Error>>, Self::Error>> + Send + 'async_trait>>
where 'life0: 'async_trait,
Self: 'async_trait;
fn submit_one<'life0, 'async_trait>(
&'life0 self,
at: <Self::Block as Block>::Hash,
source: TransactionSource,
xt: <Self::Block as Block>::Extrinsic,
) -> Pin<Box<dyn Future<Output = Result<Self::Hash, Self::Error>> + Send + 'async_trait>>
where 'life0: 'async_trait,
Self: 'async_trait;
fn submit_and_watch<'life0, 'async_trait>(
&'life0 self,
at: <Self::Block as Block>::Hash,
source: TransactionSource,
xt: <Self::Block as Block>::Extrinsic,
) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = TransactionStatus<Self::Hash, <Self::Block as Block>::Hash>> + Send>>, Self::Error>> + Send + 'async_trait>>
where 'life0: 'async_trait,
Self: 'async_trait;
fn ready_at<'life0, 'async_trait>(
&'life0 self,
at: <Self::Block as Block>::Hash,
) -> Pin<Box<dyn Future<Output = Box<dyn ReadyTransactions<Item = Arc<Self::InPoolTransaction>> + Send>> + Send + 'async_trait>>
where 'life0: 'async_trait,
Self: 'async_trait;
fn ready(
&self,
) -> Box<dyn ReadyTransactions<Item = Arc<Self::InPoolTransaction>> + Send>;
fn remove_invalid(
&self,
hashes: &[Self::Hash],
) -> Vec<Arc<Self::InPoolTransaction>>;
fn futures(&self) -> Vec<Self::InPoolTransaction>;
fn status(&self) -> PoolStatus;
fn import_notification_stream(&self) -> Receiver<Self::Hash>;
fn on_broadcasted(&self, propagations: HashMap<Self::Hash, Vec<String>>);
fn hash_of(&self, xt: &<Self::Block as Block>::Extrinsic) -> Self::Hash;
fn ready_transaction(
&self,
hash: &Self::Hash,
) -> Option<Arc<Self::InPoolTransaction>>;
fn ready_at_with_timeout<'life0, 'async_trait>(
&'life0 self,
at: <Self::Block as Block>::Hash,
timeout: Duration,
) -> Pin<Box<dyn Future<Output = Box<dyn ReadyTransactions<Item = Arc<Self::InPoolTransaction>> + Send>> + Send + 'async_trait>>
where 'life0: 'async_trait,
Self: 'async_trait;
}
Expand description
Transaction pool interface.
Required Associated Types§
sourcetype InPoolTransaction: InPoolTransaction<Transaction = Arc<<Self::Block as Block>::Extrinsic>, Hash = Self::Hash>
type InPoolTransaction: InPoolTransaction<Transaction = Arc<<Self::Block as Block>::Extrinsic>, Hash = Self::Hash>
In-pool transaction type.
sourcetype Error: From<Error> + IntoPoolError
type Error: From<Error> + IntoPoolError
Error type.
Required Methods§
sourcefn submit_at<'life0, 'async_trait>(
&'life0 self,
at: <Self::Block as Block>::Hash,
source: TransactionSource,
xts: Vec<<Self::Block as Block>::Extrinsic>,
) -> Pin<Box<dyn Future<Output = Result<Vec<Result<Self::Hash, Self::Error>>, Self::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn submit_at<'life0, 'async_trait>(
&'life0 self,
at: <Self::Block as Block>::Hash,
source: TransactionSource,
xts: Vec<<Self::Block as Block>::Extrinsic>,
) -> Pin<Box<dyn Future<Output = Result<Vec<Result<Self::Hash, Self::Error>>, Self::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Asynchronously imports a bunch of unverified transactions to the pool.
sourcefn submit_one<'life0, 'async_trait>(
&'life0 self,
at: <Self::Block as Block>::Hash,
source: TransactionSource,
xt: <Self::Block as Block>::Extrinsic,
) -> Pin<Box<dyn Future<Output = Result<Self::Hash, Self::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn submit_one<'life0, 'async_trait>(
&'life0 self,
at: <Self::Block as Block>::Hash,
source: TransactionSource,
xt: <Self::Block as Block>::Extrinsic,
) -> Pin<Box<dyn Future<Output = Result<Self::Hash, Self::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Asynchronously imports one unverified transaction to the pool.
sourcefn submit_and_watch<'life0, 'async_trait>(
&'life0 self,
at: <Self::Block as Block>::Hash,
source: TransactionSource,
xt: <Self::Block as Block>::Extrinsic,
) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = TransactionStatus<Self::Hash, <Self::Block as Block>::Hash>> + Send>>, Self::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn submit_and_watch<'life0, 'async_trait>(
&'life0 self,
at: <Self::Block as Block>::Hash,
source: TransactionSource,
xt: <Self::Block as Block>::Extrinsic,
) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = TransactionStatus<Self::Hash, <Self::Block as Block>::Hash>> + Send>>, Self::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Asynchronously imports a single transaction and starts to watch their progress in the pool.
sourcefn ready_at<'life0, 'async_trait>(
&'life0 self,
at: <Self::Block as Block>::Hash,
) -> Pin<Box<dyn Future<Output = Box<dyn ReadyTransactions<Item = Arc<Self::InPoolTransaction>> + Send>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn ready_at<'life0, 'async_trait>(
&'life0 self,
at: <Self::Block as Block>::Hash,
) -> Pin<Box<dyn Future<Output = Box<dyn ReadyTransactions<Item = Arc<Self::InPoolTransaction>> + Send>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Get an iterator for ready transactions ordered by priority.
Guaranteed to resolve only when transaction pool got updated at at
block.
Guaranteed to resolve immediately when None
is passed.
sourcefn ready(
&self,
) -> Box<dyn ReadyTransactions<Item = Arc<Self::InPoolTransaction>> + Send>
fn ready( &self, ) -> Box<dyn ReadyTransactions<Item = Arc<Self::InPoolTransaction>> + Send>
Get an iterator for ready transactions ordered by priority.
sourcefn remove_invalid(
&self,
hashes: &[Self::Hash],
) -> Vec<Arc<Self::InPoolTransaction>>
fn remove_invalid( &self, hashes: &[Self::Hash], ) -> Vec<Arc<Self::InPoolTransaction>>
Remove transactions identified by given hashes (and dependent transactions) from the pool.
sourcefn futures(&self) -> Vec<Self::InPoolTransaction>
fn futures(&self) -> Vec<Self::InPoolTransaction>
Get futures transaction list.
sourcefn status(&self) -> PoolStatus
fn status(&self) -> PoolStatus
Returns pool status.
sourcefn import_notification_stream(&self) -> Receiver<Self::Hash>
fn import_notification_stream(&self) -> Receiver<Self::Hash>
Return an event stream of transactions imported to the pool.
sourcefn on_broadcasted(&self, propagations: HashMap<Self::Hash, Vec<String>>)
fn on_broadcasted(&self, propagations: HashMap<Self::Hash, Vec<String>>)
Notify the pool about transactions broadcast.
sourcefn hash_of(&self, xt: &<Self::Block as Block>::Extrinsic) -> Self::Hash
fn hash_of(&self, xt: &<Self::Block as Block>::Extrinsic) -> Self::Hash
Returns transaction hash
sourcefn ready_transaction(
&self,
hash: &Self::Hash,
) -> Option<Arc<Self::InPoolTransaction>>
fn ready_transaction( &self, hash: &Self::Hash, ) -> Option<Arc<Self::InPoolTransaction>>
Return specific ready transaction by hash, if there is one.
sourcefn ready_at_with_timeout<'life0, 'async_trait>(
&'life0 self,
at: <Self::Block as Block>::Hash,
timeout: Duration,
) -> Pin<Box<dyn Future<Output = Box<dyn ReadyTransactions<Item = Arc<Self::InPoolTransaction>> + Send>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn ready_at_with_timeout<'life0, 'async_trait>(
&'life0 self,
at: <Self::Block as Block>::Hash,
timeout: Duration,
) -> Pin<Box<dyn Future<Output = Box<dyn ReadyTransactions<Item = Arc<Self::InPoolTransaction>> + Send>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Asynchronously returns a set of ready transaction at given block within given timeout.
If the timeout is hit during method execution, then the best effort (without executing full maintain process) set of ready transactions for given block is returned.
Implementations on Foreign Types§
source§impl<Block, Client> TransactionPool for TransactionPoolWrapper<Block, Client>where
Block: Block,
Client: ProvideRuntimeApi<Block> + BlockBackend<Block> + HeaderBackend<Block> + BlockIdTo<Block> + HeaderMetadata<Block, Error = Error> + 'static,
<Client as ProvideRuntimeApi<Block>>::Api: TaggedTransactionQueue<Block>,
impl<Block, Client> TransactionPool for TransactionPoolWrapper<Block, Client>where
Block: Block,
Client: ProvideRuntimeApi<Block> + BlockBackend<Block> + HeaderBackend<Block> + BlockIdTo<Block> + HeaderMetadata<Block, Error = Error> + 'static,
<Client as ProvideRuntimeApi<Block>>::Api: TaggedTransactionQueue<Block>,
type Block = Block
type Hash = <<FullChainApi<Client, Block> as ChainApi>::Block as Block>::Hash
type InPoolTransaction = Transaction<<<FullChainApi<Client, Block> as ChainApi>::Block as Block>::Hash, Arc<<<FullChainApi<Client, Block> as ChainApi>::Block as Block>::Extrinsic>>
type Error = <FullChainApi<Client, Block> as ChainApi>::Error
fn submit_at<'life0, 'async_trait>(
&'life0 self,
at: <<TransactionPoolWrapper<Block, Client> as TransactionPool>::Block as Block>::Hash,
source: TransactionSource,
xts: Vec<<<TransactionPoolWrapper<Block, Client> as TransactionPool>::Block as Block>::Extrinsic>,
) -> Pin<Box<dyn Future<Output = Result<Vec<Result<<TransactionPoolWrapper<Block, Client> as TransactionPool>::Hash, <TransactionPoolWrapper<Block, Client> as TransactionPool>::Error>>, <TransactionPoolWrapper<Block, Client> as TransactionPool>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
TransactionPoolWrapper<Block, Client>: 'async_trait,
fn submit_one<'life0, 'async_trait>(
&'life0 self,
at: <<TransactionPoolWrapper<Block, Client> as TransactionPool>::Block as Block>::Hash,
source: TransactionSource,
xt: <<TransactionPoolWrapper<Block, Client> as TransactionPool>::Block as Block>::Extrinsic,
) -> Pin<Box<dyn Future<Output = Result<<TransactionPoolWrapper<Block, Client> as TransactionPool>::Hash, <TransactionPoolWrapper<Block, Client> as TransactionPool>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
TransactionPoolWrapper<Block, Client>: 'async_trait,
fn submit_and_watch<'life0, 'async_trait>(
&'life0 self,
at: <<TransactionPoolWrapper<Block, Client> as TransactionPool>::Block as Block>::Hash,
source: TransactionSource,
xt: <<TransactionPoolWrapper<Block, Client> as TransactionPool>::Block as Block>::Extrinsic,
) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = TransactionStatus<<TransactionPoolWrapper<Block, Client> as TransactionPool>::Hash, <<TransactionPoolWrapper<Block, Client> as TransactionPool>::Block as Block>::Hash>> + Send>>, <TransactionPoolWrapper<Block, Client> as TransactionPool>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
TransactionPoolWrapper<Block, Client>: 'async_trait,
fn ready_at<'life0, 'async_trait>(
&'life0 self,
at: <<TransactionPoolWrapper<Block, Client> as TransactionPool>::Block as Block>::Hash,
) -> Pin<Box<dyn Future<Output = Box<dyn ReadyTransactions<Item = Arc<Transaction<<<FullChainApi<Client, Block> as ChainApi>::Block as Block>::Hash, Arc<<<FullChainApi<Client, Block> as ChainApi>::Block as Block>::Extrinsic>>>> + Send>> + Send + 'async_trait>>where
'life0: 'async_trait,
TransactionPoolWrapper<Block, Client>: 'async_trait,
fn ready( &self, ) -> Box<dyn ReadyTransactions<Item = Arc<<TransactionPoolWrapper<Block, Client> as TransactionPool>::InPoolTransaction>> + Send>
fn remove_invalid( &self, hashes: &[<TransactionPoolWrapper<Block, Client> as TransactionPool>::Hash], ) -> Vec<Arc<<TransactionPoolWrapper<Block, Client> as TransactionPool>::InPoolTransaction>>
fn futures( &self, ) -> Vec<<TransactionPoolWrapper<Block, Client> as TransactionPool>::InPoolTransaction>
fn status(&self) -> PoolStatus
fn import_notification_stream( &self, ) -> Receiver<<TransactionPoolWrapper<Block, Client> as TransactionPool>::Hash>
fn on_broadcasted( &self, propagations: HashMap<<TransactionPoolWrapper<Block, Client> as TransactionPool>::Hash, Vec<String>>, )
fn hash_of( &self, xt: &<<TransactionPoolWrapper<Block, Client> as TransactionPool>::Block as Block>::Extrinsic, ) -> <TransactionPoolWrapper<Block, Client> as TransactionPool>::Hash
fn ready_transaction( &self, hash: &<TransactionPoolWrapper<Block, Client> as TransactionPool>::Hash, ) -> Option<Arc<<TransactionPoolWrapper<Block, Client> as TransactionPool>::InPoolTransaction>>
fn ready_at_with_timeout<'life0, 'async_trait>(
&'life0 self,
at: <<TransactionPoolWrapper<Block, Client> as TransactionPool>::Block as Block>::Hash,
timeout: Duration,
) -> Pin<Box<dyn Future<Output = Box<dyn ReadyTransactions<Item = Arc<Transaction<<<FullChainApi<Client, Block> as ChainApi>::Block as Block>::Hash, Arc<<<FullChainApi<Client, Block> as ChainApi>::Block as Block>::Extrinsic>>>> + Send>> + Send + 'async_trait>>where
'life0: 'async_trait,
TransactionPoolWrapper<Block, Client>: 'async_trait,
source§impl<ChainApi, Block> TransactionPool for ForkAwareTxPool<ChainApi, Block>
impl<ChainApi, Block> TransactionPool for ForkAwareTxPool<ChainApi, Block>
source§fn submit_at<'life0, 'async_trait>(
&'life0 self,
__arg1: <<ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Block as Block>::Hash,
source: TransactionSource,
xts: Vec<<<ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Block as Block>::Extrinsic>,
) -> Pin<Box<dyn Future<Output = Result<Vec<Result<<ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Hash, <ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Error>>, <ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
ForkAwareTxPool<ChainApi, Block>: 'async_trait,
fn submit_at<'life0, 'async_trait>(
&'life0 self,
__arg1: <<ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Block as Block>::Hash,
source: TransactionSource,
xts: Vec<<<ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Block as Block>::Extrinsic>,
) -> Pin<Box<dyn Future<Output = Result<Vec<Result<<ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Hash, <ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Error>>, <ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
ForkAwareTxPool<ChainApi, Block>: 'async_trait,
Submits multiple transactions and returns a future resolving to the submission results.
Actual transactions submission process is delegated to the ViewStore
internal instance.
The internal limits of the pool are checked. The results of submissions to individual views
are reduced to single result. Refer to reduce_multiview_result
for more details.
source§fn submit_one<'life0, 'async_trait>(
&'life0 self,
_at: <<ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Block as Block>::Hash,
source: TransactionSource,
xt: <<ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Block as Block>::Extrinsic,
) -> Pin<Box<dyn Future<Output = Result<<ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Hash, <ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
ForkAwareTxPool<ChainApi, Block>: 'async_trait,
fn submit_one<'life0, 'async_trait>(
&'life0 self,
_at: <<ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Block as Block>::Hash,
source: TransactionSource,
xt: <<ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Block as Block>::Extrinsic,
) -> Pin<Box<dyn Future<Output = Result<<ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Hash, <ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
ForkAwareTxPool<ChainApi, Block>: 'async_trait,
Submits a single transaction and returns a future resolving to the submission results.
Actual transaction submission process is delegated to the submit_at
function.
source§fn submit_and_watch<'life0, 'async_trait>(
&'life0 self,
at: <<ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Block as Block>::Hash,
source: TransactionSource,
xt: <<ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Block as Block>::Extrinsic,
) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = TransactionStatus<<ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Hash, <<ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Block as Block>::Hash>> + Send>>, <ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
ForkAwareTxPool<ChainApi, Block>: 'async_trait,
fn submit_and_watch<'life0, 'async_trait>(
&'life0 self,
at: <<ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Block as Block>::Hash,
source: TransactionSource,
xt: <<ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Block as Block>::Extrinsic,
) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = TransactionStatus<<ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Hash, <<ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Block as Block>::Hash>> + Send>>, <ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
ForkAwareTxPool<ChainApi, Block>: 'async_trait,
Submits a transaction and starts to watch its progress in the pool, returning a stream of status updates.
Actual transaction submission process is delegated to the ViewStore
internal instance.
source§fn remove_invalid(
&self,
hashes: &[<ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Hash],
) -> Vec<Arc<<ForkAwareTxPool<ChainApi, Block> as TransactionPool>::InPoolTransaction>>
fn remove_invalid( &self, hashes: &[<ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Hash], ) -> Vec<Arc<<ForkAwareTxPool<ChainApi, Block> as TransactionPool>::InPoolTransaction>>
Intended to remove transactions identified by the given hashes, and any dependent transactions, from the pool. In current implementation this function only outputs the error. Seems that API change is needed here to make this call reasonable.
source§fn status(&self) -> PoolStatus
fn status(&self) -> PoolStatus
Returns the pool status which includes information like the number of ready and future transactions.
Currently the status for the most recently notified best block is returned (for which maintain process was accomplished).
source§fn import_notification_stream(
&self,
) -> Receiver<<<ChainApi as ChainApi>::Block as Block>::Hash>
fn import_notification_stream( &self, ) -> Receiver<<<ChainApi as ChainApi>::Block as Block>::Hash>
Return an event stream of notifications when transactions are imported to the pool.
Consumers of this stream should use the ready
method to actually get the
pending transactions in the right order.
source§fn hash_of(
&self,
xt: &<<ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Block as Block>::Extrinsic,
) -> <ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Hash
fn hash_of( &self, xt: &<<ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Block as Block>::Extrinsic, ) -> <ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Hash
Returns the hash of a given transaction.
source§fn on_broadcasted(
&self,
propagations: HashMap<<ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Hash, Vec<String>>,
)
fn on_broadcasted( &self, propagations: HashMap<<ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Hash, Vec<String>>, )
Notifies the pool about the broadcasting status of transactions.
source§fn ready_transaction(
&self,
tx_hash: &<ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Hash,
) -> Option<Arc<<ForkAwareTxPool<ChainApi, Block> as TransactionPool>::InPoolTransaction>>
fn ready_transaction( &self, tx_hash: &<ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Hash, ) -> Option<Arc<<ForkAwareTxPool<ChainApi, Block> as TransactionPool>::InPoolTransaction>>
Return specific ready transaction by hash, if there is one.
Currently the ready transaction is returned if it exists for the most recently notified best block (for which maintain process was accomplished).
source§fn ready_at<'life0, 'async_trait>(
&'life0 self,
at: <<ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Block as Block>::Hash,
) -> Pin<Box<dyn Future<Output = Box<dyn ReadyTransactions<Item = Arc<Transaction<<<ChainApi as ChainApi>::Block as Block>::Hash, Arc<<<ChainApi as ChainApi>::Block as Block>::Extrinsic>>>> + Send>> + Send + 'async_trait>>where
'life0: 'async_trait,
ForkAwareTxPool<ChainApi, Block>: 'async_trait,
fn ready_at<'life0, 'async_trait>(
&'life0 self,
at: <<ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Block as Block>::Hash,
) -> Pin<Box<dyn Future<Output = Box<dyn ReadyTransactions<Item = Arc<Transaction<<<ChainApi as ChainApi>::Block as Block>::Hash, Arc<<<ChainApi as ChainApi>::Block as Block>::Extrinsic>>>> + Send>> + Send + 'async_trait>>where
'life0: 'async_trait,
ForkAwareTxPool<ChainApi, Block>: 'async_trait,
Returns an iterator for ready transactions at a specific block, ordered by priority.
source§fn ready(
&self,
) -> Box<dyn ReadyTransactions<Item = Arc<Transaction<<<ChainApi as ChainApi>::Block as Block>::Hash, Arc<<<ChainApi as ChainApi>::Block as Block>::Extrinsic>>>> + Send>
fn ready( &self, ) -> Box<dyn ReadyTransactions<Item = Arc<Transaction<<<ChainApi as ChainApi>::Block as Block>::Hash, Arc<<<ChainApi as ChainApi>::Block as Block>::Extrinsic>>>> + Send>
Returns an iterator for ready transactions, ordered by priority.
Currently the set of ready transactions is returned if it exists for the most recently notified best block (for which maintain process was accomplished).
source§fn futures(
&self,
) -> Vec<<ForkAwareTxPool<ChainApi, Block> as TransactionPool>::InPoolTransaction>
fn futures( &self, ) -> Vec<<ForkAwareTxPool<ChainApi, Block> as TransactionPool>::InPoolTransaction>
Returns a list of future transactions in the pool.
Currently the set of future transactions is returned if it exists for the most recently notified best block (for which maintain process was accomplished).
source§fn ready_at_with_timeout<'life0, 'async_trait>(
&'life0 self,
at: <<ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Block as Block>::Hash,
timeout: Duration,
) -> Pin<Box<dyn Future<Output = Box<dyn ReadyTransactions<Item = Arc<Transaction<<<ChainApi as ChainApi>::Block as Block>::Hash, Arc<<<ChainApi as ChainApi>::Block as Block>::Extrinsic>>>> + Send>> + Send + 'async_trait>>where
'life0: 'async_trait,
ForkAwareTxPool<ChainApi, Block>: 'async_trait,
fn ready_at_with_timeout<'life0, 'async_trait>(
&'life0 self,
at: <<ForkAwareTxPool<ChainApi, Block> as TransactionPool>::Block as Block>::Hash,
timeout: Duration,
) -> Pin<Box<dyn Future<Output = Box<dyn ReadyTransactions<Item = Arc<Transaction<<<ChainApi as ChainApi>::Block as Block>::Hash, Arc<<<ChainApi as ChainApi>::Block as Block>::Extrinsic>>>> + Send>> + Send + 'async_trait>>where
'life0: 'async_trait,
ForkAwareTxPool<ChainApi, Block>: 'async_trait,
Returns a set of ready transactions at a given block within the specified timeout.
If the timeout expires before the maintain process is accomplished, a best-effort
set of transactions is returned (refer to ready_at_light
).