Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

Commit

Permalink
Remove light client companion (#4191)
Browse files Browse the repository at this point in the history
* Remove light client companion

* Update substrate

* cargo fmt

* Fixed benches

* fmt
  • Loading branch information
arkpar committed Nov 12, 2021
1 parent dfc0167 commit 14be5d5
Show file tree
Hide file tree
Showing 10 changed files with 190 additions and 310 deletions.
353 changes: 167 additions & 186 deletions Cargo.lock

Large diffs are not rendered by default.

10 changes: 5 additions & 5 deletions bridges/modules/grandpa/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -600,7 +600,7 @@ pub fn initialize_for_benchmarks<T: Config<I>, I: 'static>(header: BridgedHeader
#[cfg(test)]
mod tests {
use super::*;
use crate::mock::{run_test, test_header, Origin, TestHash, TestHeader, TestNumber, TestRuntime};
use crate::mock::{run_test, test_header, Origin, TestHeader, TestNumber, TestRuntime};
use bp_test_utils::{
authority_list, make_default_justification, make_justification_for_header, JustificationGeneratorParams, ALICE,
BOB,
Expand Down Expand Up @@ -644,18 +644,18 @@ mod tests {
let _ = Pallet::<TestRuntime>::on_initialize(current_number);
}

fn change_log(delay: u64) -> Digest<TestHash> {
fn change_log(delay: u64) -> Digest {
let consensus_log = ConsensusLog::<TestNumber>::ScheduledChange(sp_finality_grandpa::ScheduledChange {
next_authorities: vec![(ALICE.into(), 1), (BOB.into(), 1)],
delay,
});

Digest::<TestHash> {
Digest {
logs: vec![DigestItem::Consensus(GRANDPA_ENGINE_ID, consensus_log.encode())],
}
}

fn forced_change_log(delay: u64) -> Digest<TestHash> {
fn forced_change_log(delay: u64) -> Digest {
let consensus_log = ConsensusLog::<TestNumber>::ForcedChange(
delay,
sp_finality_grandpa::ScheduledChange {
Expand All @@ -664,7 +664,7 @@ mod tests {
},
);

Digest::<TestHash> {
Digest {
logs: vec![DigestItem::Consensus(GRANDPA_ENGINE_ID, consensus_log.encode())],
}
}
Expand Down
1 change: 0 additions & 1 deletion bridges/modules/grandpa/src/mock.rs
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ use sp_runtime::{
pub type AccountId = u64;
pub type TestHeader = crate::BridgedHeader<TestRuntime, ()>;
pub type TestNumber = crate::BridgedBlockNumber<TestRuntime, ()>;
pub type TestHash = crate::BridgedBlockHash<TestRuntime, ()>;

type Block = frame_system::mocking::MockBlock<TestRuntime>;
type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic<TestRuntime>;
Expand Down
32 changes: 1 addition & 31 deletions node/client/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ use sp_runtime::{
traits::{BlakeTwo256, Block as BlockT},
Justifications,
};
use sp_storage::{ChildInfo, PrefixedStorageKey, StorageData, StorageKey};
use sp_storage::{ChildInfo, StorageData, StorageKey};
use std::sync::Arc;

pub type FullBackend = sc_service::TFullBackend<Block>;
Expand Down Expand Up @@ -514,36 +514,6 @@ impl sc_client_api::StorageProvider<Block, crate::FullBackend> for Client {
}
}
}

fn max_key_changes_range(
&self,
first: NumberFor<Block>,
last: BlockId<Block>,
) -> sp_blockchain::Result<Option<(NumberFor<Block>, BlockId<Block>)>> {
with_client! {
self,
client,
{
client.max_key_changes_range(first, last)
}
}
}

fn key_changes(
&self,
first: NumberFor<Block>,
last: BlockId<Block>,
storage_key: Option<&PrefixedStorageKey>,
key: &StorageKey,
) -> sp_blockchain::Result<Vec<(NumberFor<Block>, u32)>> {
with_client! {
self,
client,
{
client.key_changes(first, last, storage_key, key)
}
}
}
}

impl sp_blockchain::HeaderBackend<Block> for Client {
Expand Down
4 changes: 0 additions & 4 deletions node/core/pvf/src/executor_intf.rs
Original file line number Diff line number Diff line change
Expand Up @@ -174,10 +174,6 @@ impl sp_externalities::Externalities for ValidationExternalities {
panic!("child_storage_root: unsupported feature for parachain validation")
}

fn storage_changes_root(&mut self, _: &[u8]) -> Result<Option<Vec<u8>>, ()> {
panic!("storage_changes_root: unsupported feature for parachain validation")
}

fn next_child_storage_key(&self, _: &ChildInfo, _: &[u8]) -> Option<Vec<u8>> {
panic!("next_child_storage_key: unsupported feature for parachain validation")
}
Expand Down
40 changes: 8 additions & 32 deletions node/service/src/chain_spec.rs
Original file line number Diff line number Diff line change
Expand Up @@ -303,10 +303,7 @@ fn polkadot_staging_testnet_config_genesis(wasm_binary: &[u8]) -> polkadot::Gene
const STASH: u128 = 100 * DOT;

polkadot::GenesisConfig {
system: polkadot::SystemConfig {
code: wasm_binary.to_vec(),
changes_trie_config: Default::default(),
},
system: polkadot::SystemConfig { code: wasm_binary.to_vec() },
balances: polkadot::BalancesConfig {
balances: endowed_accounts
.iter()
Expand Down Expand Up @@ -494,10 +491,7 @@ fn westend_staging_testnet_config_genesis(wasm_binary: &[u8]) -> westend::Genesi
const STASH: u128 = 100 * WND;

westend::GenesisConfig {
system: westend::SystemConfig {
code: wasm_binary.to_vec(),
changes_trie_config: Default::default(),
},
system: westend::SystemConfig { code: wasm_binary.to_vec() },
balances: westend::BalancesConfig {
balances: endowed_accounts
.iter()
Expand Down Expand Up @@ -685,10 +679,7 @@ fn kusama_staging_testnet_config_genesis(wasm_binary: &[u8]) -> kusama::GenesisC
const STASH: u128 = 100 * KSM;

kusama::GenesisConfig {
system: kusama::SystemConfig {
code: wasm_binary.to_vec(),
changes_trie_config: Default::default(),
},
system: kusama::SystemConfig { code: wasm_binary.to_vec() },
balances: kusama::BalancesConfig {
balances: endowed_accounts
.iter()
Expand Down Expand Up @@ -1000,10 +991,7 @@ fn rococo_staging_testnet_config_genesis(wasm_binary: &[u8]) -> rococo_runtime::
const STASH: u128 = 100 * ROC;

rococo_runtime::GenesisConfig {
system: rococo_runtime::SystemConfig {
code: wasm_binary.to_vec(),
changes_trie_config: Default::default(),
},
system: rococo_runtime::SystemConfig { code: wasm_binary.to_vec() },
balances: rococo_runtime::BalancesConfig {
balances: endowed_accounts
.iter()
Expand Down Expand Up @@ -1260,10 +1248,7 @@ pub fn polkadot_testnet_genesis(
const STASH: u128 = 100 * DOT;

polkadot::GenesisConfig {
system: polkadot::SystemConfig {
code: wasm_binary.to_vec(),
changes_trie_config: Default::default(),
},
system: polkadot::SystemConfig { code: wasm_binary.to_vec() },
indices: polkadot::IndicesConfig { indices: vec![] },
balances: polkadot::BalancesConfig {
balances: endowed_accounts.iter().map(|k| (k.clone(), ENDOWMENT)).collect(),
Expand Down Expand Up @@ -1347,10 +1332,7 @@ pub fn kusama_testnet_genesis(
const STASH: u128 = 100 * KSM;

kusama::GenesisConfig {
system: kusama::SystemConfig {
code: wasm_binary.to_vec(),
changes_trie_config: Default::default(),
},
system: kusama::SystemConfig { code: wasm_binary.to_vec() },
indices: kusama::IndicesConfig { indices: vec![] },
balances: kusama::BalancesConfig {
balances: endowed_accounts.iter().map(|k| (k.clone(), ENDOWMENT)).collect(),
Expand Down Expand Up @@ -1436,10 +1418,7 @@ pub fn westend_testnet_genesis(
const STASH: u128 = 100 * DOT;

westend::GenesisConfig {
system: westend::SystemConfig {
code: wasm_binary.to_vec(),
changes_trie_config: Default::default(),
},
system: westend::SystemConfig { code: wasm_binary.to_vec() },
indices: westend::IndicesConfig { indices: vec![] },
balances: westend::BalancesConfig {
balances: endowed_accounts.iter().map(|k| (k.clone(), ENDOWMENT)).collect(),
Expand Down Expand Up @@ -1518,10 +1497,7 @@ pub fn rococo_testnet_genesis(
const ENDOWMENT: u128 = 1_000_000 * DOT;

rococo_runtime::GenesisConfig {
system: rococo_runtime::SystemConfig {
code: wasm_binary.to_vec(),
changes_trie_config: Default::default(),
},
system: rococo_runtime::SystemConfig { code: wasm_binary.to_vec() },
beefy: Default::default(),
indices: rococo_runtime::IndicesConfig { indices: vec![] },
balances: rococo_runtime::BalancesConfig {
Expand Down
6 changes: 1 addition & 5 deletions node/service/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -107,8 +107,7 @@ pub use sp_api::{ApiRef, ConstructRuntimeApi, Core as CoreApi, ProvideRuntimeApi
pub use sp_runtime::{
generic,
traits::{
self as runtime_traits, BlakeTwo256, Block as BlockT, DigestFor, HashFor,
Header as HeaderT, NumberFor,
self as runtime_traits, BlakeTwo256, Block as BlockT, HashFor, Header as HeaderT, NumberFor,
},
};

Expand Down Expand Up @@ -795,7 +794,6 @@ where
transaction_pool: transaction_pool.clone(),
spawn_handle: task_manager.spawn_handle(),
import_queue,
on_demand: None,
block_announce_validator_builder: None,
warp_sync: Some(warp_sync),
})?;
Expand Down Expand Up @@ -865,8 +863,6 @@ where
rpc_extensions_builder: Box::new(rpc_extensions_builder),
transaction_pool: transaction_pool.clone(),
task_manager: &mut task_manager,
on_demand: None,
remote_blockchain: None,
system_rpc_tx,
telemetry: telemetry.as_mut(),
})?;
Expand Down
8 changes: 4 additions & 4 deletions primitives/src/v1/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1188,8 +1188,8 @@ pub enum ConsensusLog {

impl ConsensusLog {
/// Attempt to convert a reference to a generic digest item into a consensus log.
pub fn from_digest_item<H>(
digest_item: &runtime_primitives::DigestItem<H>,
pub fn from_digest_item(
digest_item: &runtime_primitives::DigestItem,
) -> Result<Option<Self>, parity_scale_codec::Error> {
match digest_item {
runtime_primitives::DigestItem::Consensus(id, encoded) if id == &POLKADOT_ENGINE_ID =>
Expand All @@ -1199,8 +1199,8 @@ impl ConsensusLog {
}
}

impl<H> From<ConsensusLog> for runtime_primitives::DigestItem<H> {
fn from(c: ConsensusLog) -> runtime_primitives::DigestItem<H> {
impl From<ConsensusLog> for runtime_primitives::DigestItem {
fn from(c: ConsensusLog) -> runtime_primitives::DigestItem {
Self::Consensus(POLKADOT_ENGINE_ID, c.encode())
}
}
Expand Down
41 changes: 1 addition & 40 deletions rpc/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,7 @@
use std::sync::Arc;

use polkadot_primitives::v0::{AccountId, Balance, Block, BlockNumber, Hash, Nonce};
use sc_client_api::{
light::{Fetcher, RemoteBlockchain},
AuxStore,
};
use sc_client_api::AuxStore;
use sc_consensus_babe::Epoch;
use sc_finality_grandpa::FinalityProofProvider;
pub use sc_rpc::{DenyUnsafe, SubscriptionTaskExecutor};
Expand All @@ -40,18 +37,6 @@ use txpool_api::TransactionPool;
/// A type representing all RPC extensions.
pub type RpcExtension = jsonrpc_core::IoHandler<sc_rpc::Metadata>;

/// Light client extra dependencies.
pub struct LightDeps<C, F, P> {
/// The client instance to use.
pub client: Arc<C>,
/// Transaction pool instance.
pub pool: Arc<P>,
/// Remote access to the blockchain (async).
pub remote_blockchain: Arc<dyn RemoteBlockchain<Block>>,
/// Fetcher instance.
pub fetcher: Arc<F>,
}

/// Extra dependencies for BABE.
pub struct BabeDeps {
/// BABE protocol config.
Expand Down Expand Up @@ -179,27 +164,3 @@ where

Ok(io)
}

/// Instantiate all RPC extensions for light node.
pub fn create_light<C, P, F>(deps: LightDeps<C, F, P>) -> RpcExtension
where
C: ProvideRuntimeApi<Block>,
C: HeaderBackend<Block>,
C: Send + Sync + 'static,
C::Api: frame_rpc_system::AccountNonceApi<Block, AccountId, Nonce>,
C::Api: pallet_transaction_payment_rpc::TransactionPaymentRuntimeApi<Block, Balance>,
P: TransactionPool + Sync + Send + 'static,
F: Fetcher<Block> + 'static,
{
use frame_rpc_system::{LightSystem, SystemApi};

let LightDeps { client, pool, remote_blockchain, fetcher } = deps;
let mut io = jsonrpc_core::IoHandler::default();
io.extend_with(SystemApi::<Hash, AccountId, Nonce>::to_delegate(LightSystem::new(
client,
remote_blockchain,
fetcher,
pool,
)));
io
}
5 changes: 3 additions & 2 deletions runtime/parachains/src/initializer/benchmarking.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,9 @@

use super::*;
use frame_benchmarking::benchmarks;
use frame_system::{DigestItemOf, RawOrigin};
use frame_system::RawOrigin;
use primitives::v1::ConsensusLog;
use sp_runtime::DigestItem;

// Random large number for the digest
const DIGEST_MAX_LEN: u32 = 65536;
Expand All @@ -32,7 +33,7 @@ benchmarks! {
verify {
assert_eq!(
<frame_system::Pallet<T>>::digest().logs.last().unwrap(),
&<DigestItemOf<T>>::from(ConsensusLog::ForceApprove(d + 1)),
&DigestItem::from(ConsensusLog::ForceApprove(d + 1)),
);
}

Expand Down

0 comments on commit 14be5d5

Please sign in to comment.