diff --git a/prdoc/pr_10106.prdoc b/prdoc/pr_10106.prdoc new file mode 100644 index 0000000000000..e32339387a372 --- /dev/null +++ b/prdoc/pr_10106.prdoc @@ -0,0 +1,8 @@ +title: Enforce single-state txpool for revive-dev-node +doc: +- audience: Runtime Dev + description: |- + Use single-state txpool for dev-node when instant-seal is selected + + see https://github.com/paritytech/polkadot-sdk/issues/10104 +crates: [] diff --git a/substrate/frame/revive/dev-node/node/src/command.rs b/substrate/frame/revive/dev-node/node/src/command.rs index 5715224a4d265..6a2a7ade3c926 100644 --- a/substrate/frame/revive/dev-node/node/src/command.rs +++ b/substrate/frame/revive/dev-node/node/src/command.rs @@ -66,7 +66,7 @@ pub fn run() -> sc_cli::Result<()> { } } - let cli = Cli::from_iter(args); + let mut cli = Cli::from_iter(args); match &cli.subcommand { Some(Subcommand::Key(cmd)) => cmd.run(&cli), @@ -121,6 +121,10 @@ pub fn run() -> sc_cli::Result<()> { runner.sync_run(|config| cmd.run::(&config)) }, None => { + // Enforce single-state pool-type if instant-seal is selected + if matches!(cli.consensus, crate::cli::Consensus::InstantSeal) { + cli.run.pool_config.pool_type = sc_cli::TransactionPoolType::SingleState + } let runner = cli.create_runner(&cli.run)?; runner.run_node_until_exit(|config| async move { match config.network.network_backend {