BlockId removal: tx-pool refactor (#1678)

It changes following APIs:
- trait `ChainApi`
-- `validate_transaction`

- trait `TransactionPool` 
--`submit_at`
--`submit_one`
--`submit_and_watch`

and some implementation details, in particular:
- impl `Pool` 
--`submit_at`
--`resubmit_at`
--`submit_one`
--`submit_and_watch`
--`prune_known`
--`prune`
--`prune_tags`
--`resolve_block_number`
--`verify`
--`verify_one`

- revalidation queue

All tests are also adjusted.

---------

Co-authored-by: command-bot <>
Co-authored-by: Bastian Köcher <git@kchr.de>
This commit is contained in:
Michal Kucharczyk
2023-09-27 11:58:39 +02:00
committed by GitHub
parent a846b74604
commit ab3a3bc278
20 changed files with 609 additions and 460 deletions
+4 -7
View File
@@ -34,7 +34,6 @@ use sc_service::{
RuntimeGenesis, SpawnTaskHandle, TaskManager,
};
use sc_transaction_pool_api::TransactionPool;
use sp_api::BlockId;
use sp_blockchain::HeaderBackend;
use sp_runtime::traits::Block as BlockT;
use std::{iter, net::Ipv4Addr, pin::Pin, sync::Arc, task::Context, time::Duration};
@@ -501,15 +500,13 @@ pub fn sync<G, E, Fb, F, B, ExF, U>(
info!("Checking extrinsic propagation");
let first_service = network.full_nodes[0].1.clone();
let first_user_data = &network.full_nodes[0].2;
let best_block = BlockId::number(first_service.client().info().best_number);
let best_block = first_service.client().info().best_hash;
let extrinsic = extrinsic_factory(&first_service, first_user_data);
let source = sc_transaction_pool_api::TransactionSource::External;
futures::executor::block_on(first_service.transaction_pool().submit_one(
&best_block,
source,
extrinsic,
))
futures::executor::block_on(
first_service.transaction_pool().submit_one(best_block, source, extrinsic),
)
.expect("failed to submit extrinsic");
network.run_until_all_full(|_index, service| service.transaction_pool().ready().count() == 1);