Finish migration to v2 primitives (#5037)

* remove v0 primitives from polkadot-primitives

* first pass: remove v0

* fix fallout in erasure-coding

* remove v1 primitives, consolidate to v2

* the great import update

* update runtime_api_impl_v1 to v2 as well

* guide: add `Version` request for runtime API

* add version query to runtime API

* reintroduce OldV1SessionInfo in a limited way
This commit is contained in:
Robert Habermeier
2022-03-09 14:01:13 -06:00
committed by GitHub
parent 3394cbb142
commit 49f7e5cce4
215 changed files with 2312 additions and 3123 deletions
@@ -40,7 +40,7 @@ use polkadot_node_subsystem_util::{
metrics::{self, prometheus},
MIN_GOSSIP_PEERS,
};
use polkadot_primitives::v1::{
use polkadot_primitives::v2::{
BlockNumber, CandidateIndex, Hash, ValidatorIndex, ValidatorSignature,
};
use std::collections::{hash_map, BTreeMap, HashMap, HashSet};
@@ -28,7 +28,7 @@ use std::time::Duration;
type VirtualOverseer = test_helpers::TestSubsystemContextHandle<ApprovalDistributionMessage>;
fn dummy_signature() -> polkadot_primitives::v1::ValidatorSignature {
fn dummy_signature() -> polkadot_primitives::v2::ValidatorSignature {
sp_core::crypto::UncheckedFrom::unchecked_from([1u8; 64])
}
@@ -19,7 +19,7 @@
use fatality::Nested;
use polkadot_node_network_protocol::request_response::outgoing::RequestError;
use polkadot_primitives::v1::SessionIndex;
use polkadot_primitives::v2::SessionIndex;
use futures::channel::oneshot;
@@ -25,7 +25,7 @@ use polkadot_node_network_protocol::request_response::{
};
use polkadot_node_primitives::PoV;
use polkadot_node_subsystem_util::runtime::RuntimeInfo;
use polkadot_primitives::v1::{AuthorityDiscoveryId, CandidateHash, Hash, ValidatorIndex};
use polkadot_primitives::v2::{AuthorityDiscoveryId, CandidateHash, Hash, ValidatorIndex};
use polkadot_subsystem::{
jaeger,
messages::{IfDisconnected, NetworkBridgeMessage},
@@ -133,7 +133,7 @@ mod tests {
use sp_core::testing::TaskExecutor;
use polkadot_node_primitives::BlockData;
use polkadot_primitives::v1::{CandidateHash, Hash, ValidatorIndex};
use polkadot_primitives::v2::{CandidateHash, Hash, ValidatorIndex};
use polkadot_subsystem::messages::{
AllMessages, AvailabilityDistributionMessage, RuntimeApiMessage, RuntimeApiRequest,
};
@@ -28,7 +28,7 @@ use polkadot_node_network_protocol::request_response::{
v1::{ChunkFetchingRequest, ChunkFetchingResponse},
};
use polkadot_node_primitives::ErasureChunk;
use polkadot_primitives::v1::{
use polkadot_primitives::v2::{
AuthorityDiscoveryId, BlakeTwo256, CandidateHash, GroupIndex, Hash, HashT, OccupiedCore,
SessionIndex,
};
@@ -30,7 +30,7 @@ use sp_keyring::Sr25519Keyring;
use polkadot_node_network_protocol::request_response::{v1, Recipient};
use polkadot_node_primitives::{BlockData, PoV, Proof};
use polkadot_primitives::v1::{CandidateHash, ValidatorIndex};
use polkadot_primitives::v2::{CandidateHash, ValidatorIndex};
use super::*;
use crate::{metrics::Metrics, tests::mock::get_valid_chunk_data};
@@ -33,7 +33,7 @@ use futures::{
};
use polkadot_node_subsystem_util::runtime::{get_occupied_cores, RuntimeInfo};
use polkadot_primitives::v1::{CandidateHash, Hash, OccupiedCore};
use polkadot_primitives::v2::{CandidateHash, Hash, OccupiedCore};
use polkadot_subsystem::{
messages::{AllMessages, ChainApiMessage},
ActivatedLeaf, ActiveLeavesUpdate, LeafStatus, SubsystemContext,
@@ -20,7 +20,7 @@ use lru::LruCache;
use rand::{seq::SliceRandom, thread_rng};
use polkadot_node_subsystem_util::runtime::RuntimeInfo;
use polkadot_primitives::v1::{
use polkadot_primitives::v2::{
AuthorityDiscoveryId, GroupIndex, Hash, SessionIndex, ValidatorIndex,
};
use polkadot_subsystem::SubsystemContext;
@@ -21,9 +21,8 @@ use futures::FutureExt;
use polkadot_node_network_protocol::jaeger;
use polkadot_node_primitives::{BlockData, ErasureChunk, PoV, SpawnNamed};
use polkadot_node_subsystem_util::runtime::RuntimeInfo;
use polkadot_primitives::{
v1::{BlockNumber, CoreState, GroupIndex, Hash, Id, ScheduledCore, SessionIndex},
v2::SessionInfo,
use polkadot_primitives::v2::{
BlockNumber, CoreState, GroupIndex, Hash, Id, ScheduledCore, SessionIndex, SessionInfo,
};
use polkadot_subsystem::{
@@ -26,7 +26,7 @@ use polkadot_node_network_protocol::{
UnifiedReputationChange as Rep,
};
use polkadot_node_primitives::{AvailableData, ErasureChunk};
use polkadot_primitives::v1::{CandidateHash, ValidatorIndex};
use polkadot_primitives::v2::{CandidateHash, ValidatorIndex};
use polkadot_subsystem::{jaeger, messages::AvailabilityStoreMessage, SubsystemSender};
use crate::{
@@ -22,13 +22,10 @@ use sp_keyring::Sr25519Keyring;
use polkadot_erasure_coding::{branches, obtain_chunks_v1 as obtain_chunks};
use polkadot_node_primitives::{AvailableData, BlockData, ErasureChunk, PoV, Proof};
use polkadot_primitives::{
v1::{
CandidateCommitments, CandidateDescriptor, CandidateHash, CommittedCandidateReceipt,
GroupIndex, Hash, HeadData, Id as ParaId, OccupiedCore, PersistedValidationData,
ValidatorIndex,
},
v2::SessionInfo,
use polkadot_primitives::v2::{
CandidateCommitments, CandidateDescriptor, CandidateHash, CommittedCandidateReceipt,
GroupIndex, Hash, HeadData, Id as ParaId, OccupiedCore, PersistedValidationData, SessionInfo,
ValidatorIndex,
};
use polkadot_primitives_test_helpers::{
dummy_collator, dummy_collator_signature, dummy_hash, dummy_validation_code,
@@ -19,7 +19,7 @@ use std::collections::HashSet;
use futures::{executor, future, Future};
use polkadot_node_network_protocol::request_response::IncomingRequest;
use polkadot_primitives::v1::CoreState;
use polkadot_primitives::v2::CoreState;
use sp_keystore::SyncCryptoStorePtr;
use polkadot_subsystem_testhelpers as test_helpers;
@@ -39,9 +39,9 @@ use polkadot_node_network_protocol::{
request_response::{v1, IncomingRequest, OutgoingRequest, Requests},
};
use polkadot_node_primitives::ErasureChunk;
use polkadot_primitives::{
v1::{CandidateHash, CoreState, GroupIndex, Hash, Id as ParaId, ScheduledCore, ValidatorIndex},
v2::SessionInfo,
use polkadot_primitives::v2::{
CandidateHash, CoreState, GroupIndex, Hash, Id as ParaId, ScheduledCore, SessionInfo,
ValidatorIndex,
};
use polkadot_subsystem::{
messages::{
@@ -49,12 +49,9 @@ use polkadot_node_network_protocol::{
};
use polkadot_node_primitives::{AvailableData, ErasureChunk};
use polkadot_node_subsystem_util::request_session_info;
use polkadot_primitives::{
v1::{
AuthorityDiscoveryId, BlakeTwo256, BlockNumber, CandidateHash, CandidateReceipt,
GroupIndex, Hash, HashT, SessionIndex, ValidatorId, ValidatorIndex,
},
v2::SessionInfo,
use polkadot_primitives::v2::{
AuthorityDiscoveryId, BlakeTwo256, BlockNumber, CandidateHash, CandidateReceipt, GroupIndex,
Hash, HashT, SessionIndex, SessionInfo, ValidatorId, ValidatorIndex,
};
use polkadot_subsystem::{
errors::RecoveryError,
@@ -30,7 +30,7 @@ use sc_network::config::RequestResponseConfig;
use polkadot_erasure_coding::{branches, obtain_chunks_v1 as obtain_chunks};
use polkadot_node_primitives::{BlockData, PoV, Proof};
use polkadot_node_subsystem_util::TimeoutExt;
use polkadot_primitives::v1::{AuthorityDiscoveryId, HeadData, PersistedValidationData};
use polkadot_primitives::v2::{AuthorityDiscoveryId, HeadData, PersistedValidationData};
use polkadot_primitives_test_helpers::{dummy_candidate_receipt, dummy_hash};
use polkadot_subsystem::{
jaeger,
@@ -32,7 +32,7 @@ use polkadot_node_subsystem_util::{
metrics::{self, prometheus},
MIN_GOSSIP_PEERS,
};
use polkadot_primitives::v1::{Hash, SignedAvailabilityBitfield, SigningContext, ValidatorId};
use polkadot_primitives::v2::{Hash, SignedAvailabilityBitfield, SigningContext, ValidatorId};
use polkadot_subsystem::{
jaeger, messages::*, overseer, ActiveLeavesUpdate, FromOverseer, OverseerSignal, PerLeafSpan,
SpawnedSubsystem, SubsystemContext, SubsystemError, SubsystemResult,
@@ -22,7 +22,7 @@ use maplit::hashmap;
use polkadot_node_network_protocol::{our_view, view, ObservedRole};
use polkadot_node_subsystem_test_helpers::make_subsystem_context;
use polkadot_node_subsystem_util::TimeoutExt;
use polkadot_primitives::v1::{AvailabilityBitfield, Signed, ValidatorIndex};
use polkadot_primitives::v2::{AvailabilityBitfield, Signed, ValidatorIndex};
use polkadot_subsystem::jaeger;
use sp_application_crypto::AppKey;
use sp_keystore::{testing::KeyStore, SyncCryptoStore, SyncCryptoStorePtr};
+1 -1
View File
@@ -31,7 +31,7 @@ use polkadot_node_network_protocol::{
};
use polkadot_node_subsystem_util::metrics::{self, prometheus};
use polkadot_overseer::gen::{OverseerError, Subsystem};
use polkadot_primitives::v1::{BlockNumber, Hash};
use polkadot_primitives::v2::{BlockNumber, Hash};
use polkadot_subsystem::{
errors::{SubsystemError, SubsystemResult},
messages::{AllMessages, CollatorProtocolMessage, NetworkBridgeEvent, NetworkBridgeMessage},
+1 -1
View File
@@ -31,7 +31,7 @@ use polkadot_node_network_protocol::{
request_response::{OutgoingRequest, Recipient, Requests},
PeerId, UnifiedReputationChange as Rep,
};
use polkadot_primitives::v1::{AuthorityDiscoveryId, Block, Hash};
use polkadot_primitives::v2::{AuthorityDiscoveryId, Block, Hash};
use crate::validator_discovery::AuthorityDiscovery;
+1 -1
View File
@@ -33,7 +33,7 @@ use polkadot_node_subsystem_test_helpers::{
SingleItemSink, SingleItemStream, TestSubsystemContextHandle,
};
use polkadot_node_subsystem_util::metered;
use polkadot_primitives::v1::AuthorityDiscoveryId;
use polkadot_primitives::v2::AuthorityDiscoveryId;
use polkadot_primitives_test_helpers::dummy_collator_signature;
use polkadot_subsystem::{
jaeger,
@@ -30,7 +30,7 @@ use polkadot_node_network_protocol::{
peer_set::{PeerSet, PerPeerSet},
PeerId,
};
use polkadot_primitives::v1::AuthorityDiscoveryId;
use polkadot_primitives::v2::AuthorityDiscoveryId;
const LOG_TARGET: &str = "parachain::validator-discovery";
@@ -40,7 +40,7 @@ use polkadot_node_subsystem_util::{
runtime::{get_availability_cores, get_group_rotation_info, RuntimeInfo},
TimeoutExt,
};
use polkadot_primitives::v1::{
use polkadot_primitives::v2::{
AuthorityDiscoveryId, CandidateHash, CandidateReceipt, CollatorPair, CoreIndex, CoreState,
Hash, Id as ParaId,
};
@@ -32,12 +32,9 @@ use sp_runtime::traits::AppVerify;
use polkadot_node_network_protocol::{our_view, request_response::IncomingRequest, view};
use polkadot_node_primitives::BlockData;
use polkadot_node_subsystem_util::TimeoutExt;
use polkadot_primitives::{
v1::{
AuthorityDiscoveryId, CollatorPair, GroupRotationInfo, ScheduledCore, SessionIndex,
ValidatorId, ValidatorIndex,
},
v2::SessionInfo,
use polkadot_primitives::v2::{
AuthorityDiscoveryId, CollatorPair, GroupRotationInfo, ScheduledCore, SessionIndex,
SessionInfo, ValidatorId, ValidatorIndex,
};
use polkadot_primitives_test_helpers::TestCandidateBuilder;
use polkadot_subsystem::{
@@ -31,7 +31,7 @@ use polkadot_node_network_protocol::{
request_response::{v1 as request_v1, IncomingRequestReceiver},
PeerId, UnifiedReputationChange as Rep,
};
use polkadot_primitives::v1::CollatorPair;
use polkadot_primitives::v2::CollatorPair;
use polkadot_subsystem::{
errors::SubsystemError,
@@ -44,7 +44,7 @@ use polkadot_node_network_protocol::{
};
use polkadot_node_primitives::{PoV, SignedFullStatement};
use polkadot_node_subsystem_util::metrics::{self, prometheus};
use polkadot_primitives::v1::{CandidateReceipt, CollatorId, Hash, Id as ParaId};
use polkadot_primitives::v2::{CandidateReceipt, CollatorId, Hash, Id as ParaId};
use polkadot_subsystem::{
jaeger,
messages::{
@@ -29,7 +29,7 @@ use polkadot_node_network_protocol::{
};
use polkadot_node_primitives::BlockData;
use polkadot_node_subsystem_util::TimeoutExt;
use polkadot_primitives::v1::{
use polkadot_primitives::v2::{
CollatorPair, CoreState, GroupIndex, GroupRotationInfo, OccupiedCore, ScheduledCore,
ValidatorId, ValidatorIndex,
};
@@ -132,7 +132,7 @@ fn test_harness<T: Future<Output = VirtualOverseer>>(test: impl FnOnce(TestHarne
let keystore = TestKeyStore::new();
keystore
.sr25519_generate_new(
polkadot_primitives::v1::PARACHAIN_KEY_TYPE_ID,
polkadot_primitives::v2::PARACHAIN_KEY_TYPE_ID,
Some(&Sr25519Keyring::Alice.to_seed()),
)
.unwrap();
@@ -21,7 +21,7 @@ use futures::channel::{mpsc, oneshot};
use polkadot_node_network_protocol::request_response::v1::DisputeRequest;
use polkadot_node_primitives::{CandidateVotes, DisputeMessage, SignedDisputeStatement};
use polkadot_node_subsystem_util::runtime::RuntimeInfo;
use polkadot_primitives::v1::{CandidateHash, DisputeStatement, Hash, SessionIndex};
use polkadot_primitives::v2::{CandidateHash, DisputeStatement, Hash, SessionIndex};
use polkadot_subsystem::{
messages::{AllMessages, DisputeCoordinatorMessage},
ActiveLeavesUpdate, SubsystemContext,
@@ -27,7 +27,7 @@ use polkadot_node_network_protocol::{
IfDisconnected,
};
use polkadot_node_subsystem_util::{metrics, runtime::RuntimeInfo};
use polkadot_primitives::v1::{
use polkadot_primitives::v2::{
AuthorityDiscoveryId, CandidateHash, Hash, SessionIndex, ValidatorIndex,
};
use polkadot_subsystem::{
@@ -32,12 +32,9 @@ use sp_keyring::Sr25519Keyring;
use sp_keystore::{SyncCryptoStore, SyncCryptoStorePtr};
use polkadot_node_primitives::{DisputeMessage, SignedDisputeStatement};
use polkadot_primitives::{
v1::{
AuthorityDiscoveryId, CandidateHash, CandidateReceipt, Hash, SessionIndex, ValidatorId,
ValidatorIndex,
},
v2::SessionInfo,
use polkadot_primitives::v2::{
AuthorityDiscoveryId, CandidateHash, CandidateReceipt, Hash, SessionIndex, SessionInfo,
ValidatorId, ValidatorIndex,
};
use polkadot_primitives_test_helpers::dummy_candidate_descriptor;
@@ -198,7 +195,7 @@ impl MockAuthorityDiscovery {
impl AuthorityDiscovery for MockAuthorityDiscovery {
async fn get_addresses_by_authority_id(
&mut self,
_authority: polkadot_primitives::v1::AuthorityDiscoveryId,
_authority: polkadot_primitives::v2::AuthorityDiscoveryId,
) -> Option<HashSet<sc_network::Multiaddr>> {
panic!("Not implemented");
}
@@ -206,7 +203,7 @@ impl AuthorityDiscovery for MockAuthorityDiscovery {
async fn get_authority_ids_by_peer_id(
&mut self,
peer_id: polkadot_node_network_protocol::PeerId,
) -> Option<HashSet<polkadot_primitives::v1::AuthorityDiscoveryId>> {
) -> Option<HashSet<polkadot_primitives::v2::AuthorityDiscoveryId>> {
for (a, p) in self.peer_ids.iter() {
if p == &peer_id {
return Some(HashSet::from([MOCK_VALIDATORS_DISCOVERY_KEYS
@@ -41,9 +41,8 @@ use polkadot_node_network_protocol::{
IfDisconnected,
};
use polkadot_node_primitives::{CandidateVotes, UncheckedDisputeMessage};
use polkadot_primitives::{
v1::{AuthorityDiscoveryId, CandidateHash, Hash, SessionIndex},
v2::SessionInfo,
use polkadot_primitives::v2::{
AuthorityDiscoveryId, CandidateHash, Hash, SessionIndex, SessionInfo,
};
use polkadot_subsystem::{
messages::{
@@ -52,7 +52,7 @@ use polkadot_node_subsystem::{
SubsystemError, SubsystemSender,
};
use polkadot_node_subsystem_util as util;
use polkadot_primitives::v1::{AuthorityDiscoveryId, Hash, SessionIndex};
use polkadot_primitives::v2::{AuthorityDiscoveryId, Hash, SessionIndex};
#[cfg(test)]
mod tests;
@@ -91,14 +91,14 @@ impl MockAuthorityDiscovery {
impl AuthorityDiscovery for MockAuthorityDiscovery {
async fn get_addresses_by_authority_id(
&mut self,
authority: polkadot_primitives::v1::AuthorityDiscoveryId,
authority: polkadot_primitives::v2::AuthorityDiscoveryId,
) -> Option<HashSet<sc_network::Multiaddr>> {
self.addrs.get(&authority).cloned()
}
async fn get_authority_ids_by_peer_id(
&mut self,
peer_id: polkadot_node_network_protocol::PeerId,
) -> Option<HashSet<polkadot_primitives::v1::AuthorityDiscoveryId>> {
) -> Option<HashSet<polkadot_primitives::v2::AuthorityDiscoveryId>> {
self.authorities.get(&peer_id).cloned()
}
}
@@ -22,7 +22,7 @@ use async_trait::async_trait;
use sc_authority_discovery::Service as AuthorityDiscoveryService;
use polkadot_primitives::v1::AuthorityDiscoveryId;
use polkadot_primitives::v2::AuthorityDiscoveryId;
use sc_network::{Multiaddr, PeerId};
/// An abstraction over the authority discovery service.
+4 -4
View File
@@ -20,7 +20,7 @@
#![warn(missing_docs)]
use parity_scale_codec::{Decode, Encode};
use polkadot_primitives::v1::{BlockNumber, Hash};
use polkadot_primitives::v2::{BlockNumber, Hash};
use std::{collections::HashMap, fmt};
#[doc(hidden)]
@@ -169,7 +169,7 @@ impl std::ops::Deref for OurView {
///
/// ```
/// # use polkadot_node_network_protocol::our_view;
/// # use polkadot_primitives::v1::Hash;
/// # use polkadot_primitives::v2::Hash;
/// let our_view = our_view![Hash::repeat_byte(1), Hash::repeat_byte(2)];
/// ```
#[macro_export]
@@ -203,7 +203,7 @@ pub struct View {
///
/// ```
/// # use polkadot_node_network_protocol::view;
/// # use polkadot_primitives::v1::Hash;
/// # use polkadot_primitives::v2::Hash;
/// let view = view![Hash::repeat_byte(1), Hash::repeat_byte(2)];
/// ```
#[macro_export]
@@ -284,7 +284,7 @@ pub mod v1 {
use parity_scale_codec::{Decode, Encode};
use std::convert::TryFrom;
use polkadot_primitives::v1::{
use polkadot_primitives::v2::{
CandidateHash, CandidateIndex, CollatorId, CollatorSignature, CompactStatement, Hash,
Id as ParaId, UncheckedSignedAvailabilityBitfield, ValidatorIndex, ValidatorSignature,
};
@@ -35,7 +35,7 @@
use std::{borrow::Cow, time::Duration, u64};
use futures::channel::mpsc;
use polkadot_primitives::v1::{MAX_CODE_SIZE, MAX_POV_SIZE};
use polkadot_primitives::v2::{MAX_CODE_SIZE, MAX_POV_SIZE};
use strum::EnumIter;
pub use sc_network::{config as network, config::RequestResponseConfig};
@@ -21,7 +21,7 @@ use parity_scale_codec::{Decode, Encode, Error as DecodingError};
use sc_network as network;
use sc_network::PeerId;
use polkadot_primitives::v1::AuthorityDiscoveryId;
use polkadot_primitives::v2::AuthorityDiscoveryId;
use super::{v1, IsRequest, Protocol};
@@ -21,7 +21,7 @@ use parity_scale_codec::{Decode, Encode};
use polkadot_node_primitives::{
AvailableData, DisputeMessage, ErasureChunk, PoV, Proof, UncheckedDisputeMessage,
};
use polkadot_primitives::v1::{
use polkadot_primitives::v2::{
CandidateHash, CandidateReceipt, CommittedCandidateReceipt, Hash, Id as ParaId, ValidatorIndex,
};
@@ -19,7 +19,7 @@
use polkadot_node_network_protocol::PeerId;
use polkadot_node_subsystem_util::runtime;
use polkadot_primitives::v1::{CandidateHash, Hash};
use polkadot_primitives::v2::{CandidateHash, Hash};
use polkadot_subsystem::SubsystemError;
use crate::LOG_TARGET;
@@ -34,7 +34,7 @@ use polkadot_node_network_protocol::{
use polkadot_node_primitives::{SignedFullStatement, Statement, UncheckedSignedFullStatement};
use polkadot_node_subsystem_util::{self as util, MIN_GOSSIP_PEERS};
use polkadot_primitives::v1::{
use polkadot_primitives::v2::{
AuthorityDiscoveryId, CandidateHash, CommittedCandidateReceipt, CompactStatement, Hash,
SigningContext, ValidatorId, ValidatorIndex, ValidatorSignature,
};
@@ -29,7 +29,7 @@ use polkadot_node_network_protocol::{
PeerId, UnifiedReputationChange,
};
use polkadot_node_subsystem_util::TimeoutExt;
use polkadot_primitives::v1::{CandidateHash, CommittedCandidateReceipt, Hash};
use polkadot_primitives::v2::{CandidateHash, CommittedCandidateReceipt, Hash};
use polkadot_subsystem::{Span, Stage};
use crate::{metrics::Metrics, COST_WRONG_HASH, LOG_TARGET};
@@ -29,7 +29,7 @@ use polkadot_node_network_protocol::{
},
PeerId, UnifiedReputationChange as Rep,
};
use polkadot_primitives::v1::{CandidateHash, CommittedCandidateReceipt, Hash};
use polkadot_primitives::v2::{CandidateHash, CommittedCandidateReceipt, Hash};
use crate::LOG_TARGET;
@@ -28,7 +28,7 @@ use polkadot_node_network_protocol::{
};
use polkadot_node_primitives::Statement;
use polkadot_node_subsystem_test_helpers::mock::make_ferdie_keystore;
use polkadot_primitives::{v1::ValidationCode, v2::SessionInfo};
use polkadot_primitives::v2::{SessionInfo, ValidationCode};
use polkadot_primitives_test_helpers::{dummy_committed_candidate_receipt, dummy_hash};
use polkadot_subsystem::{
jaeger,