Update tick collator for async backing (#1497)

This updates the tick runtime and polkadot-parachain collator to use
async backing.
This commit is contained in:
Sophia Gold
2023-11-21 11:34:05 -05:00
committed by GitHub
parent f5ad32e406
commit 50811d6b42
4 changed files with 55 additions and 29 deletions
+23 -11
View File
@@ -590,6 +590,7 @@ where
CollatorPair,
OverseerHandle,
Arc<dyn Fn(Hash, Option<Vec<u8>>) + Send + Sync>,
Arc<ParachainBackend>,
) -> Result<(), sc_service::Error>,
{
let parachain_config = prepare_node_config(parachain_config);
@@ -723,6 +724,7 @@ where
collator_key.expect("Command line arguments do not allow this. qed"),
overseer_handle,
announce_block,
backend.clone(),
)?;
}
@@ -983,7 +985,8 @@ pub async fn start_rococo_parachain_node(
para_id,
collator_key,
overseer_handle,
announce_block| {
announce_block,
backend| {
let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client)?;
let proposer_factory = sc_basic_authorship::ProposerFactory::with_proof_recording(
@@ -1002,11 +1005,15 @@ pub async fn start_rococo_parachain_node(
client.clone(),
);
let params = BasicAuraParams {
let params = AuraParams {
create_inherent_data_providers: move |_, ()| async move { Ok(()) },
block_import,
para_client: client,
para_client: client.clone(),
para_backend: backend.clone(),
relay_client: relay_chain_interface,
code_hash_provider: move |block_hash| {
client.code_at(block_hash).ok().map(|c| ValidationCode::from(c).hash())
},
sync_oracle,
keystore,
collator_key,
@@ -1016,12 +1023,10 @@ pub async fn start_rococo_parachain_node(
relay_chain_slot_duration,
proposer,
collator_service,
// Very limited proposal time.
authoring_duration: Duration::from_millis(500),
collation_request_receiver: None,
authoring_duration: Duration::from_millis(1500),
};
let fut = basic_aura::run::<
let fut = aura::run::<
Block,
sp_consensus_aura::sr25519::AuthorityPair,
_,
@@ -1031,6 +1036,8 @@ pub async fn start_rococo_parachain_node(
_,
_,
_,
_,
_,
>(params);
task_manager.spawn_essential_handle().spawn("aura", None, fut);
@@ -1376,7 +1383,8 @@ where
para_id,
collator_key,
overseer_handle,
announce_block| {
announce_block,
_backend| {
let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client)?;
let proposer_factory = sc_basic_authorship::ProposerFactory::with_proof_recording(
@@ -1471,7 +1479,8 @@ where
para_id,
collator_key,
overseer_handle,
announce_block| {
announce_block,
_backend| {
let relay_chain_interface2 = relay_chain_interface.clone();
let collator_service = CollatorService::new(
@@ -1642,7 +1651,7 @@ where
para_backend: backend.clone(),
relay_client: relay_chain_interface,
code_hash_provider: move |block_hash| {
client.code_at(block_hash).ok().map(ValidationCode).map(|c| c.hash())
client.code_at(block_hash).ok().map(|c| ValidationCode::from(c).hash())
},
sync_oracle,
keystore,
@@ -1713,6 +1722,7 @@ where
CollatorPair,
OverseerHandle,
Arc<dyn Fn(Hash, Option<Vec<u8>>) + Send + Sync>,
Arc<ParachainBackend>,
) -> Result<(), sc_service::Error>,
{
let parachain_config = prepare_node_config(parachain_config);
@@ -1845,6 +1855,7 @@ where
collator_key.expect("Command line arguments do not allow this. qed"),
overseer_handle,
announce_block,
backend.clone(),
)?;
}
@@ -1923,7 +1934,8 @@ pub async fn start_contracts_rococo_node(
para_id,
collator_key,
overseer_handle,
announce_block| {
announce_block,
_backend| {
let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client)?;
let proposer_factory = sc_basic_authorship::ProposerFactory::with_proof_recording(