Kill the light client, CHTs and change tries. (#10080)

* Remove light client, change tries and CHTs

* Update tests

* fmt

* Restore changes_root

* Fixed benches

* Cargo fmt

* fmt

* fmt
This commit is contained in:
Arkadiy Paronyan
2021-11-12 14:15:01 +01:00
committed by GitHub
parent 112b7dac47
commit 4cbbf0cf43
141 changed files with 532 additions and 17807 deletions
@@ -19,7 +19,7 @@
use std::{collections::HashMap, marker::PhantomData, sync::Arc};
use log::debug;
use parity_scale_codec::{Decode, Encode};
use parity_scale_codec::Decode;
use sc_client_api::{backend::Backend, utils::is_descendent_of};
use sc_consensus::{
@@ -35,7 +35,7 @@ use sp_core::hashing::twox_128;
use sp_finality_grandpa::{ConsensusLog, GrandpaApi, ScheduledChange, SetId, GRANDPA_ENGINE_ID};
use sp_runtime::{
generic::{BlockId, OpaqueDigestItemId},
traits::{Block as BlockT, DigestFor, Header as HeaderT, NumberFor, Zero},
traits::{Block as BlockT, Header as HeaderT, NumberFor, Zero},
Justification,
};
@@ -89,7 +89,6 @@ impl<BE, Block: BlockT, Client, SC> JustificationImport<Block>
for GrandpaBlockImport<BE, Block, Client, SC>
where
NumberFor<Block>: finality_grandpa::BlockNumberOps,
DigestFor<Block>: Encode,
BE: Backend<Block>,
Client: ClientForGrandpa<Block, BE>,
SC: SelectChain<Block>,
@@ -229,7 +228,6 @@ pub fn find_forced_change<B: BlockT>(
impl<BE, Block: BlockT, Client, SC> GrandpaBlockImport<BE, Block, Client, SC>
where
NumberFor<Block>: finality_grandpa::BlockNumberOps,
DigestFor<Block>: Encode,
BE: Backend<Block>,
Client: ClientForGrandpa<Block, BE>,
Client::Api: GrandpaApi<Block>,
@@ -515,7 +513,6 @@ where
impl<BE, Block: BlockT, Client, SC> BlockImport<Block> for GrandpaBlockImport<BE, Block, Client, SC>
where
NumberFor<Block>: finality_grandpa::BlockNumberOps,
DigestFor<Block>: Encode,
BE: Backend<Block>,
Client: ClientForGrandpa<Block, BE>,
Client::Api: GrandpaApi<Block>,
+2 -3
View File
@@ -58,7 +58,7 @@
use futures::{prelude::*, StreamExt};
use log::{debug, error, info};
use parity_scale_codec::{Decode, Encode};
use parity_scale_codec::Decode;
use parking_lot::RwLock;
use prometheus_endpoint::{PrometheusError, Registry};
use sc_client_api::{
@@ -77,7 +77,7 @@ use sp_core::crypto::Public;
use sp_keystore::{SyncCryptoStore, SyncCryptoStorePtr};
use sp_runtime::{
generic::BlockId,
traits::{Block as BlockT, DigestFor, NumberFor, Zero},
traits::{Block as BlockT, NumberFor, Zero},
};
pub use finality_grandpa::BlockNumberOps;
@@ -718,7 +718,6 @@ where
SC: SelectChain<Block> + 'static,
VR: VotingRule<Block, C> + Clone + 'static,
NumberFor<Block>: BlockNumberOps,
DigestFor<Block>: Encode,
C: ClientForGrandpa<Block, BE> + 'static,
C::Api: GrandpaApi<Block>,
{
+19 -28
View File
@@ -43,6 +43,7 @@ use sp_finality_grandpa::{
use sp_keyring::Ed25519Keyring;
use sp_keystore::{SyncCryptoStore, SyncCryptoStorePtr};
use sp_runtime::{
codec::Encode,
generic::{BlockId, DigestItem},
traits::{Block as BlockT, Header as HeaderT},
Justifications,
@@ -139,26 +140,16 @@ impl TestNetFactory for GrandpaTestNet {
&self,
client: PeersClient,
) -> (BlockImportAdapter<Self::BlockImport>, Option<BoxJustificationImport<Block>>, PeerData) {
match client {
PeersClient::Full(ref client, ref backend) => {
let (import, link) = block_import(
client.clone(),
&self.test_config,
LongestChain::new(backend.clone()),
None,
)
.expect("Could not create block import for fresh peer.");
let justification_import = Box::new(import.clone());
(
BlockImportAdapter::new(import),
Some(justification_import),
Mutex::new(Some(link)),
)
},
PeersClient::Light(..) => {
panic!("Light client is not used in tests.");
},
}
let (client, backend) = (client.as_client(), client.as_backend());
let (import, link) = block_import(
client.clone(),
&self.test_config,
LongestChain::new(backend.clone()),
None,
)
.expect("Could not create block import for fresh peer.");
let justification_import = Box::new(import.clone());
(BlockImportAdapter::new(import), Some(justification_import), Mutex::new(Some(link)))
}
fn peer(&mut self, i: usize) -> &mut GrandpaPeer {
@@ -466,7 +457,7 @@ fn finalize_3_voters_1_full_observer() {
// all peers should have stored the justification for the best finalized block #20
for peer_id in 0..4 {
let client = net.lock().peers[peer_id].client().as_full().unwrap();
let client = net.lock().peers[peer_id].client().as_client();
let justification =
crate::aux_schema::best_justification::<_, Block>(&*client).unwrap().unwrap();
@@ -539,7 +530,7 @@ fn transition_3_voters_twice_1_full_observer() {
net.lock().block_until_sync();
for (i, peer) in net.lock().peers().iter().enumerate() {
let full_client = peer.client().as_full().expect("only full clients are used in test");
let full_client = peer.client().as_client();
assert_eq!(full_client.chain_info().best_number, 1, "Peer #{} failed to sync", i);
let set: AuthoritySet<Hash, BlockNumber> =
@@ -614,7 +605,7 @@ fn transition_3_voters_twice_1_full_observer() {
.take_while(|n| future::ready(n.header.number() < &30))
.for_each(move |_| future::ready(()))
.map(move |()| {
let full_client = client.as_full().expect("only full clients are used in test");
let full_client = client.as_client();
let set: AuthoritySet<Hash, BlockNumber> =
crate::aux_schema::load_authorities(&*full_client).unwrap();
@@ -835,7 +826,7 @@ fn force_change_to_new_set() {
for (i, peer) in net.lock().peers().iter().enumerate() {
assert_eq!(peer.client().info().best_number, 26, "Peer #{} failed to sync", i);
let full_client = peer.client().as_full().expect("only full clients are used in test");
let full_client = peer.client().as_client();
let set: AuthoritySet<Hash, BlockNumber> =
crate::aux_schema::load_authorities(&*full_client).unwrap();
@@ -861,7 +852,7 @@ fn allows_reimporting_change_blocks() {
let client = net.peer(0).client().clone();
let (mut block_import, ..) = net.make_block_import(client.clone());
let full_client = client.as_full().unwrap();
let full_client = client.as_client();
let builder = full_client
.new_block_at(&BlockId::Number(0), Default::default(), false)
.unwrap();
@@ -908,7 +899,7 @@ fn test_bad_justification() {
let client = net.peer(0).client().clone();
let (mut block_import, ..) = net.make_block_import(client.clone());
let full_client = client.as_full().expect("only full clients are used in test");
let full_client = client.as_client();
let builder = full_client
.new_block_at(&BlockId::Number(0), Default::default(), false)
.unwrap();
@@ -1148,7 +1139,7 @@ fn voter_persists_its_votes() {
.await;
let block_30_hash =
net.lock().peer(0).client().as_full().unwrap().hash(30).unwrap().unwrap();
net.lock().peer(0).client().as_client().hash(30).unwrap().unwrap();
// we restart alice's voter
abort.abort();
@@ -1581,7 +1572,7 @@ fn imports_justification_for_regular_blocks_on_import() {
let client = net.peer(0).client().clone();
let (mut block_import, ..) = net.make_block_import(client.clone());
let full_client = client.as_full().expect("only full clients are used in test");
let full_client = client.as_client();
let builder = full_client
.new_block_at(&BlockId::Number(0), Default::default(), false)
.unwrap();