Skip to content

Commit 8c5a93a

Browse files
Remove CandidateDescriptor V1
1 parent 7762517 commit 8c5a93a

File tree

4 files changed

+17
-348
lines changed

4 files changed

+17
-348
lines changed

polkadot/node/collation-generation/src/lib.rs

Lines changed: 7 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -44,19 +44,15 @@ use polkadot_node_subsystem::{
4444
SubsystemContext, SubsystemError, SubsystemResult, SubsystemSender,
4545
};
4646
use polkadot_node_subsystem_util::{
47-
request_claim_queue, request_node_features, request_persisted_validation_data,
48-
request_session_index_for_child, request_validation_code_hash, request_validators,
49-
runtime::ClaimQueueSnapshot,
47+
request_claim_queue, request_persisted_validation_data, request_session_index_for_child,
48+
request_validation_code_hash, request_validators, runtime::ClaimQueueSnapshot,
5049
};
5150
use polkadot_primitives::{
52-
collator_signature_payload, node_features::FeatureIndex, transpose_claim_queue,
53-
CandidateCommitments, CandidateDescriptor, CandidateDescriptorV2,
54-
CandidateReceiptV2 as CandidateReceipt, CollatorPair, CommittedCandidateReceiptV2, CoreIndex,
55-
Hash, Id as ParaId, OccupiedCoreAssumption, PersistedValidationData, SessionIndex,
56-
TransposedClaimQueue, ValidationCodeHash,
51+
transpose_claim_queue, CandidateCommitments, CandidateDescriptorV2,
52+
CommittedCandidateReceiptV2, CoreIndex, Hash, Id as ParaId, OccupiedCoreAssumption,
53+
PersistedValidationData, SessionIndex, TransposedClaimQueue, ValidationCodeHash,
5754
};
5855
use schnellru::{ByLength, LruMap};
59-
use sp_core::crypto::Pair;
6056
use std::{collections::HashSet, sync::Arc};
6157

6258
mod error;
@@ -229,11 +225,9 @@ impl CollationGenerationSubsystem {
229225

230226
construct_and_distribute_receipt(
231227
collation,
232-
config.key.clone(),
233228
ctx.sender(),
234229
result_sender,
235230
&mut self.metrics,
236-
session_info.v2_receipts,
237231
&transpose_claim_queue(claim_queue),
238232
)
239233
.await?;
@@ -441,11 +435,9 @@ impl CollationGenerationSubsystem {
441435
core_index: descriptor_core_index,
442436
session_index,
443437
},
444-
task_config.key.clone(),
445438
&mut task_sender,
446439
result_sender,
447440
&metrics,
448-
session_info.v2_receipts,
449441
&transposed_claim_queue,
450442
)
451443
.await
@@ -484,7 +476,6 @@ impl<Context> CollationGenerationSubsystem {
484476

485477
#[derive(Clone)]
486478
struct PerSessionInfo {
487-
v2_receipts: bool,
488479
n_validators: usize,
489480
}
490481

@@ -508,16 +499,7 @@ impl SessionInfoCache {
508499
let n_validators =
509500
request_validators(relay_parent, &mut sender.clone()).await.await??.len();
510501

511-
let node_features =
512-
request_node_features(relay_parent, session_index, sender).await.await??;
513-
514-
let info = PerSessionInfo {
515-
v2_receipts: node_features
516-
.get(FeatureIndex::CandidateReceiptV2 as usize)
517-
.map(|b| *b)
518-
.unwrap_or(false),
519-
n_validators,
520-
};
502+
let info = PerSessionInfo { n_validators };
521503
self.0.insert(session_index, info);
522504
Ok(self.0.get(&session_index).expect("Just inserted").clone())
523505
}
@@ -538,11 +520,9 @@ struct PreparedCollation {
538520
/// which is distributed to validators.
539521
async fn construct_and_distribute_receipt(
540522
collation: PreparedCollation,
541-
key: CollatorPair,
542523
sender: &mut impl overseer::CollationGenerationSenderTrait,
543524
result_sender: Option<oneshot::Sender<CollationSecondedSignal>>,
544525
metrics: &Metrics,
545-
v2_receipts: bool,
546526
transposed_claim_queue: &TransposedClaimQueue,
547527
) -> Result<()> {
548528
let PreparedCollation {
@@ -579,14 +559,6 @@ async fn construct_and_distribute_receipt(
579559

580560
let pov_hash = pov.hash();
581561

582-
let signature_payload = collator_signature_payload(
583-
&relay_parent,
584-
&para_id,
585-
&persisted_validation_data_hash,
586-
&pov_hash,
587-
&validation_code_hash,
588-
);
589-
590562
let erasure_root = erasure_root(n_validators, validation_data, pov.clone())?;
591563

592564
let commitments = CandidateCommitments {
@@ -598,7 +570,7 @@ async fn construct_and_distribute_receipt(
598570
hrmp_watermark: collation.hrmp_watermark,
599571
};
600572

601-
let receipt = if v2_receipts {
573+
let receipt = {
602574
let ccr = CommittedCandidateReceiptV2 {
603575
descriptor: CandidateDescriptorV2::new(
604576
para_id,
@@ -618,31 +590,6 @@ async fn construct_and_distribute_receipt(
618590
.map_err(Error::CandidateReceiptCheck)?;
619591

620592
ccr.to_plain()
621-
} else {
622-
if !commitments.ump_signals().map_err(Error::CandidateReceiptCheck)?.is_empty() {
623-
gum::warn!(
624-
target: LOG_TARGET,
625-
?pov_hash,
626-
?relay_parent,
627-
para_id = %para_id,
628-
"Candidate commitments contain UMP signal without v2 receipts being enabled.",
629-
);
630-
}
631-
CandidateReceipt {
632-
commitments_hash: commitments.hash(),
633-
descriptor: CandidateDescriptor {
634-
signature: key.sign(&signature_payload),
635-
para_id,
636-
relay_parent,
637-
collator: key.public(),
638-
persisted_validation_data_hash,
639-
pov_hash,
640-
erasure_root,
641-
para_head: commitments.head_data.hash(),
642-
validation_code_hash,
643-
}
644-
.into(),
645-
}
646593
};
647594

648595
gum::debug!(

polkadot/node/core/candidate-validation/src/lib.rs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1315,11 +1315,6 @@ fn perform_basic_checks(
13151315
return Err(InvalidCandidate::CodeHashMismatch)
13161316
}
13171317

1318-
// No-op for `v2` receipts.
1319-
if let Err(()) = candidate.check_collator_signature() {
1320-
return Err(InvalidCandidate::BadSignature)
1321-
}
1322-
13231318
Ok(())
13241319
}
13251320

polkadot/primitives/src/lib.rs

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -38,17 +38,16 @@ extern crate alloc;
3838
// Current primitives not requiring versioning are exported here.
3939
// Primitives requiring versioning must not be exported and must be referred by an exact version.
4040
pub use v9::{
41-
async_backing, byzantine_threshold, check_candidate_backing, collator_signature_payload,
42-
effective_minimum_backing_votes, executor_params, metric_definitions, node_features,
43-
skip_ump_signals, slashing, supermajority_threshold, transpose_claim_queue, well_known_keys,
44-
AbridgedHostConfiguration, AbridgedHrmpChannel, AccountId, AccountIndex, AccountPublic,
45-
ApprovalVote, ApprovalVoteMultipleCandidates, ApprovalVotingParams, ApprovedPeerId,
46-
AssignmentId, AsyncBackingParams, AuthorityDiscoveryId, AvailabilityBitfield, BackedCandidate,
47-
Balance, BlakeTwo256, Block, BlockId, BlockNumber, CandidateCommitments, CandidateDescriptor,
48-
CandidateDescriptorV2, CandidateDescriptorVersion, CandidateEvent, CandidateHash,
49-
CandidateIndex, CandidateReceipt, CandidateReceiptV2, CheckedDisputeStatementSet,
50-
CheckedMultiDisputeStatementSet, ChunkIndex, ClaimQueueOffset, CollatorId, CollatorSignature,
51-
CommittedCandidateReceipt, CommittedCandidateReceiptError, CommittedCandidateReceiptV2,
41+
async_backing, byzantine_threshold, check_candidate_backing, effective_minimum_backing_votes,
42+
executor_params, metric_definitions, node_features, skip_ump_signals, slashing,
43+
supermajority_threshold, transpose_claim_queue, well_known_keys, AbridgedHostConfiguration,
44+
AbridgedHrmpChannel, AccountId, AccountIndex, AccountPublic, ApprovalVote,
45+
ApprovalVoteMultipleCandidates, ApprovalVotingParams, ApprovedPeerId, AssignmentId,
46+
AsyncBackingParams, AuthorityDiscoveryId, AvailabilityBitfield, BackedCandidate, Balance,
47+
BlakeTwo256, Block, BlockId, BlockNumber, CandidateCommitments, CandidateDescriptorV2,
48+
CandidateDescriptorVersion, CandidateEvent, CandidateHash, CandidateIndex, CandidateReceiptV2,
49+
CheckedDisputeStatementSet, CheckedMultiDisputeStatementSet, ChunkIndex, ClaimQueueOffset,
50+
CollatorId, CollatorSignature, CommittedCandidateReceiptError, CommittedCandidateReceiptV2,
5251
CompactStatement, ConsensusLog, CoreIndex, CoreSelector, CoreState, DisputeOffenceKind,
5352
DisputeState, DisputeStatement, DisputeStatementSet, DownwardMessage, EncodeAs, ExecutorParam,
5453
ExecutorParamError, ExecutorParams, ExecutorParamsHash, ExecutorParamsPrepHash,

0 commit comments

Comments
 (0)